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 FFMpegMicroPhoneConfig(_message.Message):
    __slots__ = ("id", "channels", "sampleRate", "volume", "input_device")
    ID_FIELD_NUMBER: _ClassVar[int]
    CHANNELS_FIELD_NUMBER: _ClassVar[int]
    SAMPLERATE_FIELD_NUMBER: _ClassVar[int]
    VOLUME_FIELD_NUMBER: _ClassVar[int]
    INPUT_DEVICE_FIELD_NUMBER: _ClassVar[int]
    id: str
    channels: int
    sampleRate: int
    volume: int
    input_device: str
    def __init__(self, id: _Optional[str] = ..., channels: _Optional[int] = ..., sampleRate: _Optional[int] = ..., volume: _Optional[int] = ..., input_device: _Optional[str] = ...) -> None: ...

class MicrophoneDeviceConfig(_message.Message):
    __slots__ = ("id", "ffmpeg")
    ID_FIELD_NUMBER: _ClassVar[int]
    FFMPEG_FIELD_NUMBER: _ClassVar[int]
    id: str
    ffmpeg: FFMpegMicroPhoneConfig
    def __init__(self, id: _Optional[str] = ..., ffmpeg: _Optional[_Union[FFMpegMicroPhoneConfig, _Mapping]] = ...) -> None: ...

class MicroPhoneConfig(_message.Message):
    __slots__ = ("microphones",)
    MICROPHONES_FIELD_NUMBER: _ClassVar[int]
    microphones: _containers.RepeatedCompositeFieldContainer[MicrophoneDeviceConfig]
    def __init__(self, microphones: _Optional[_Iterable[_Union[MicrophoneDeviceConfig, _Mapping]]] = ...) -> None: ...

class MicroPhoneRootConfig(_message.Message):
    __slots__ = ("microphone",)
    MICROPHONE_FIELD_NUMBER: _ClassVar[int]
    microphone: MicroPhoneConfig
    def __init__(self, microphone: _Optional[_Union[MicroPhoneConfig, _Mapping]] = ...) -> None: ...
