from google.protobuf import descriptor as _descriptor
from google.protobuf import message as _message
from collections.abc import Mapping as _Mapping
from typing import ClassVar as _ClassVar, Optional as _Optional, Union as _Union

DESCRIPTOR: _descriptor.FileDescriptor

class ScriptRange(_message.Message):
    __slots__ = ("start_line", "start_column", "end_line", "end_column")
    START_LINE_FIELD_NUMBER: _ClassVar[int]
    START_COLUMN_FIELD_NUMBER: _ClassVar[int]
    END_LINE_FIELD_NUMBER: _ClassVar[int]
    END_COLUMN_FIELD_NUMBER: _ClassVar[int]
    start_line: int
    start_column: int
    end_line: int
    end_column: int
    def __init__(self, start_line: _Optional[int] = ..., start_column: _Optional[int] = ..., end_line: _Optional[int] = ..., end_column: _Optional[int] = ...) -> None: ...

class SymbolLocation(_message.Message):
    __slots__ = ("identifier", "parent_identifier", "range")
    IDENTIFIER_FIELD_NUMBER: _ClassVar[int]
    PARENT_IDENTIFIER_FIELD_NUMBER: _ClassVar[int]
    RANGE_FIELD_NUMBER: _ClassVar[int]
    identifier: str
    parent_identifier: str
    range: ScriptRange
    def __init__(self, identifier: _Optional[str] = ..., parent_identifier: _Optional[str] = ..., range: _Optional[_Union[ScriptRange, _Mapping]] = ...) -> None: ...
