from cmvr.api import common_pb2 as _common_pb2
from cmvr.msgs import agv_pb2 as _agv_pb2
from google.protobuf.internal import containers as _containers
from google.protobuf import descriptor as _descriptor
from google.protobuf import message as _message
from collections.abc import Iterable as _Iterable, Mapping as _Mapping
from typing import ClassVar as _ClassVar, Optional as _Optional, Union as _Union

DESCRIPTOR: _descriptor.FileDescriptor

class AgvRuntimeStateCommand(_message.Message):
    __slots__ = ()
    class Request(_message.Message):
        __slots__ = ("header",)
        HEADER_FIELD_NUMBER: _ClassVar[int]
        header: _common_pb2.CommandHeader.Request
        def __init__(self, header: _Optional[_Union[_common_pb2.CommandHeader.Request, _Mapping]] = ...) -> None: ...
    class Feedback(_message.Message):
        __slots__ = ("header", "state")
        HEADER_FIELD_NUMBER: _ClassVar[int]
        STATE_FIELD_NUMBER: _ClassVar[int]
        header: _common_pb2.CommandHeader.Feedback
        state: _agv_pb2.AgvRuntimeState
        def __init__(self, header: _Optional[_Union[_common_pb2.CommandHeader.Feedback, _Mapping]] = ..., state: _Optional[_Union[_agv_pb2.AgvRuntimeState, _Mapping]] = ...) -> None: ...
    def __init__(self) -> None: ...

class AgvNavigationStatusCommand(_message.Message):
    __slots__ = ()
    class Request(_message.Message):
        __slots__ = ("header",)
        HEADER_FIELD_NUMBER: _ClassVar[int]
        header: _common_pb2.CommandHeader.Request
        def __init__(self, header: _Optional[_Union[_common_pb2.CommandHeader.Request, _Mapping]] = ...) -> None: ...
    class Feedback(_message.Message):
        __slots__ = ("header", "status")
        HEADER_FIELD_NUMBER: _ClassVar[int]
        STATUS_FIELD_NUMBER: _ClassVar[int]
        header: _common_pb2.CommandHeader.Feedback
        status: _agv_pb2.AgvNavigationStatus
        def __init__(self, header: _Optional[_Union[_common_pb2.CommandHeader.Feedback, _Mapping]] = ..., status: _Optional[_Union[_agv_pb2.AgvNavigationStatus, _Mapping]] = ...) -> None: ...
    def __init__(self) -> None: ...

class AgvNavigateToPoseCommand(_message.Message):
    __slots__ = ()
    class Request(_message.Message):
        __slots__ = ("header", "pose", "options", "adapter_params")
        HEADER_FIELD_NUMBER: _ClassVar[int]
        POSE_FIELD_NUMBER: _ClassVar[int]
        OPTIONS_FIELD_NUMBER: _ClassVar[int]
        ADAPTER_PARAMS_FIELD_NUMBER: _ClassVar[int]
        header: _common_pb2.CommandHeader.Request
        pose: _agv_pb2.AgvPose2d
        options: _agv_pb2.AgvMotionOptions
        adapter_params: _agv_pb2.AgvAdapterParams
        def __init__(self, header: _Optional[_Union[_common_pb2.CommandHeader.Request, _Mapping]] = ..., pose: _Optional[_Union[_agv_pb2.AgvPose2d, _Mapping]] = ..., options: _Optional[_Union[_agv_pb2.AgvMotionOptions, _Mapping]] = ..., adapter_params: _Optional[_Union[_agv_pb2.AgvAdapterParams, _Mapping]] = ...) -> None: ...
    class Feedback(_message.Message):
        __slots__ = ("header",)
        HEADER_FIELD_NUMBER: _ClassVar[int]
        header: _common_pb2.CommandHeader.Feedback
        def __init__(self, header: _Optional[_Union[_common_pb2.CommandHeader.Feedback, _Mapping]] = ...) -> None: ...
    def __init__(self) -> None: ...

class AgvNavigateToStationCommand(_message.Message):
    __slots__ = ()
    class Request(_message.Message):
        __slots__ = ("header", "station_id", "options", "adapter_params")
        HEADER_FIELD_NUMBER: _ClassVar[int]
        STATION_ID_FIELD_NUMBER: _ClassVar[int]
        OPTIONS_FIELD_NUMBER: _ClassVar[int]
        ADAPTER_PARAMS_FIELD_NUMBER: _ClassVar[int]
        header: _common_pb2.CommandHeader.Request
        station_id: str
        options: _agv_pb2.AgvMotionOptions
        adapter_params: _agv_pb2.AgvAdapterParams
        def __init__(self, header: _Optional[_Union[_common_pb2.CommandHeader.Request, _Mapping]] = ..., station_id: _Optional[str] = ..., options: _Optional[_Union[_agv_pb2.AgvMotionOptions, _Mapping]] = ..., adapter_params: _Optional[_Union[_agv_pb2.AgvAdapterParams, _Mapping]] = ...) -> None: ...
    class Feedback(_message.Message):
        __slots__ = ("header",)
        HEADER_FIELD_NUMBER: _ClassVar[int]
        header: _common_pb2.CommandHeader.Feedback
        def __init__(self, header: _Optional[_Union[_common_pb2.CommandHeader.Feedback, _Mapping]] = ...) -> None: ...
    def __init__(self) -> None: ...

class AgvFollowPathCommand(_message.Message):
    __slots__ = ()
    class Request(_message.Message):
        __slots__ = ("header", "path")
        HEADER_FIELD_NUMBER: _ClassVar[int]
        PATH_FIELD_NUMBER: _ClassVar[int]
        header: _common_pb2.CommandHeader.Request
        path: _containers.RepeatedCompositeFieldContainer[_agv_pb2.AgvPathSegment]
        def __init__(self, header: _Optional[_Union[_common_pb2.CommandHeader.Request, _Mapping]] = ..., path: _Optional[_Iterable[_Union[_agv_pb2.AgvPathSegment, _Mapping]]] = ...) -> None: ...
    class Feedback(_message.Message):
        __slots__ = ("header",)
        HEADER_FIELD_NUMBER: _ClassVar[int]
        header: _common_pb2.CommandHeader.Feedback
        def __init__(self, header: _Optional[_Union[_common_pb2.CommandHeader.Feedback, _Mapping]] = ...) -> None: ...
    def __init__(self) -> None: ...

class AgvSetVelocityCommand(_message.Message):
    __slots__ = ()
    class Request(_message.Message):
        __slots__ = ("header", "velocity")
        HEADER_FIELD_NUMBER: _ClassVar[int]
        VELOCITY_FIELD_NUMBER: _ClassVar[int]
        header: _common_pb2.CommandHeader.Request
        velocity: _agv_pb2.AgvVelocity
        def __init__(self, header: _Optional[_Union[_common_pb2.CommandHeader.Request, _Mapping]] = ..., velocity: _Optional[_Union[_agv_pb2.AgvVelocity, _Mapping]] = ...) -> None: ...
    class Feedback(_message.Message):
        __slots__ = ("header",)
        HEADER_FIELD_NUMBER: _ClassVar[int]
        header: _common_pb2.CommandHeader.Feedback
        def __init__(self, header: _Optional[_Union[_common_pb2.CommandHeader.Feedback, _Mapping]] = ...) -> None: ...
    def __init__(self) -> None: ...

class AgvListMapsCommand(_message.Message):
    __slots__ = ()
    class Request(_message.Message):
        __slots__ = ("header",)
        HEADER_FIELD_NUMBER: _ClassVar[int]
        header: _common_pb2.CommandHeader.Request
        def __init__(self, header: _Optional[_Union[_common_pb2.CommandHeader.Request, _Mapping]] = ...) -> None: ...
    class Feedback(_message.Message):
        __slots__ = ("header", "maps")
        HEADER_FIELD_NUMBER: _ClassVar[int]
        MAPS_FIELD_NUMBER: _ClassVar[int]
        header: _common_pb2.CommandHeader.Feedback
        maps: _containers.RepeatedScalarFieldContainer[str]
        def __init__(self, header: _Optional[_Union[_common_pb2.CommandHeader.Feedback, _Mapping]] = ..., maps: _Optional[_Iterable[str]] = ...) -> None: ...
    def __init__(self) -> None: ...

class AgvListStationsCommand(_message.Message):
    __slots__ = ()
    class Request(_message.Message):
        __slots__ = ("header",)
        HEADER_FIELD_NUMBER: _ClassVar[int]
        header: _common_pb2.CommandHeader.Request
        def __init__(self, header: _Optional[_Union[_common_pb2.CommandHeader.Request, _Mapping]] = ...) -> None: ...
    class Feedback(_message.Message):
        __slots__ = ("header", "stations")
        HEADER_FIELD_NUMBER: _ClassVar[int]
        STATIONS_FIELD_NUMBER: _ClassVar[int]
        header: _common_pb2.CommandHeader.Feedback
        stations: _containers.RepeatedCompositeFieldContainer[_agv_pb2.AgvStation]
        def __init__(self, header: _Optional[_Union[_common_pb2.CommandHeader.Feedback, _Mapping]] = ..., stations: _Optional[_Iterable[_Union[_agv_pb2.AgvStation, _Mapping]]] = ...) -> None: ...
    def __init__(self) -> None: ...

class AgvMapCommand(_message.Message):
    __slots__ = ()
    class Request(_message.Message):
        __slots__ = ("header", "map_name", "content")
        HEADER_FIELD_NUMBER: _ClassVar[int]
        MAP_NAME_FIELD_NUMBER: _ClassVar[int]
        CONTENT_FIELD_NUMBER: _ClassVar[int]
        header: _common_pb2.CommandHeader.Request
        map_name: str
        content: str
        def __init__(self, header: _Optional[_Union[_common_pb2.CommandHeader.Request, _Mapping]] = ..., map_name: _Optional[str] = ..., content: _Optional[str] = ...) -> None: ...
    class Feedback(_message.Message):
        __slots__ = ("header", "content")
        HEADER_FIELD_NUMBER: _ClassVar[int]
        CONTENT_FIELD_NUMBER: _ClassVar[int]
        header: _common_pb2.CommandHeader.Feedback
        content: str
        def __init__(self, header: _Optional[_Union[_common_pb2.CommandHeader.Feedback, _Mapping]] = ..., content: _Optional[str] = ...) -> None: ...
    def __init__(self) -> None: ...

class AgvStartMappingCommand(_message.Message):
    __slots__ = ()
    class Request(_message.Message):
        __slots__ = ("header", "dimension", "map_name", "real_time")
        HEADER_FIELD_NUMBER: _ClassVar[int]
        DIMENSION_FIELD_NUMBER: _ClassVar[int]
        MAP_NAME_FIELD_NUMBER: _ClassVar[int]
        REAL_TIME_FIELD_NUMBER: _ClassVar[int]
        header: _common_pb2.CommandHeader.Request
        dimension: _agv_pb2.AgvMapDimension
        map_name: str
        real_time: bool
        def __init__(self, header: _Optional[_Union[_common_pb2.CommandHeader.Request, _Mapping]] = ..., dimension: _Optional[_Union[_agv_pb2.AgvMapDimension, str]] = ..., map_name: _Optional[str] = ..., real_time: _Optional[bool] = ...) -> None: ...
    class Feedback(_message.Message):
        __slots__ = ("header", "session_id")
        HEADER_FIELD_NUMBER: _ClassVar[int]
        SESSION_ID_FIELD_NUMBER: _ClassVar[int]
        header: _common_pb2.CommandHeader.Feedback
        session_id: str
        def __init__(self, header: _Optional[_Union[_common_pb2.CommandHeader.Feedback, _Mapping]] = ..., session_id: _Optional[str] = ...) -> None: ...
    def __init__(self) -> None: ...

class AgvMapStreamCommand(_message.Message):
    __slots__ = ()
    class Request(_message.Message):
        __slots__ = ("header", "dimension", "map_name", "resume_token", "snapshot", "incremental", "max_chunk_bytes")
        HEADER_FIELD_NUMBER: _ClassVar[int]
        DIMENSION_FIELD_NUMBER: _ClassVar[int]
        MAP_NAME_FIELD_NUMBER: _ClassVar[int]
        RESUME_TOKEN_FIELD_NUMBER: _ClassVar[int]
        SNAPSHOT_FIELD_NUMBER: _ClassVar[int]
        INCREMENTAL_FIELD_NUMBER: _ClassVar[int]
        MAX_CHUNK_BYTES_FIELD_NUMBER: _ClassVar[int]
        header: _common_pb2.CommandHeader.Request
        dimension: _agv_pb2.AgvMapDimension
        map_name: str
        resume_token: str
        snapshot: bool
        incremental: bool
        max_chunk_bytes: int
        def __init__(self, header: _Optional[_Union[_common_pb2.CommandHeader.Request, _Mapping]] = ..., dimension: _Optional[_Union[_agv_pb2.AgvMapDimension, str]] = ..., map_name: _Optional[str] = ..., resume_token: _Optional[str] = ..., snapshot: _Optional[bool] = ..., incremental: _Optional[bool] = ..., max_chunk_bytes: _Optional[int] = ...) -> None: ...
    class Feedback(_message.Message):
        __slots__ = ("header", "update")
        HEADER_FIELD_NUMBER: _ClassVar[int]
        UPDATE_FIELD_NUMBER: _ClassVar[int]
        header: _common_pb2.CommandHeader.Feedback
        update: _agv_pb2.AgvUnifiedMapUpdate
        def __init__(self, header: _Optional[_Union[_common_pb2.CommandHeader.Feedback, _Mapping]] = ..., update: _Optional[_Union[_agv_pb2.AgvUnifiedMapUpdate, _Mapping]] = ...) -> None: ...
    def __init__(self) -> None: ...
