from cmvr.api import common_pb2 as _common_pb2
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 MicState(_message.Message):
    __slots__ = ("is_initialized", "is_running", "is_recording", "volume", "error_message")
    IS_INITIALIZED_FIELD_NUMBER: _ClassVar[int]
    IS_RUNNING_FIELD_NUMBER: _ClassVar[int]
    IS_RECORDING_FIELD_NUMBER: _ClassVar[int]
    VOLUME_FIELD_NUMBER: _ClassVar[int]
    ERROR_MESSAGE_FIELD_NUMBER: _ClassVar[int]
    is_initialized: bool
    is_running: bool
    is_recording: bool
    volume: int
    error_message: str
    def __init__(self, is_initialized: _Optional[bool] = ..., is_running: _Optional[bool] = ..., is_recording: _Optional[bool] = ..., volume: _Optional[int] = ..., error_message: _Optional[str] = ...) -> None: ...

class GetMicStateCommand(_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: MicState
        def __init__(self, header: _Optional[_Union[_common_pb2.CommandHeader.Feedback, _Mapping]] = ..., state: _Optional[_Union[MicState, _Mapping]] = ...) -> None: ...
    def __init__(self) -> None: ...

class StartMicRecordingCommand(_message.Message):
    __slots__ = ()
    class Request(_message.Message):
        __slots__ = ("header", "file_path")
        HEADER_FIELD_NUMBER: _ClassVar[int]
        FILE_PATH_FIELD_NUMBER: _ClassVar[int]
        header: _common_pb2.CommandHeader.Request
        file_path: str
        def __init__(self, header: _Optional[_Union[_common_pb2.CommandHeader.Request, _Mapping]] = ..., file_path: _Optional[str] = ...) -> 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 StopMicRecordingCommand(_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",)
        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 PauseMicRecordingCommand(_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",)
        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 ResumeMicRecordingCommand(_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",)
        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 SetMicPhoneVolumeCommand(_message.Message):
    __slots__ = ()
    class Request(_message.Message):
        __slots__ = ("header", "volume")
        HEADER_FIELD_NUMBER: _ClassVar[int]
        VOLUME_FIELD_NUMBER: _ClassVar[int]
        header: _common_pb2.CommandHeader.Request
        volume: int
        def __init__(self, header: _Optional[_Union[_common_pb2.CommandHeader.Request, _Mapping]] = ..., volume: _Optional[int] = ...) -> 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 GetMicPhoneVolumeCommand(_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", "volume")
        HEADER_FIELD_NUMBER: _ClassVar[int]
        VOLUME_FIELD_NUMBER: _ClassVar[int]
        header: _common_pb2.CommandHeader.Feedback
        volume: int
        def __init__(self, header: _Optional[_Union[_common_pb2.CommandHeader.Feedback, _Mapping]] = ..., volume: _Optional[int] = ...) -> None: ...
    def __init__(self) -> None: ...
