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 FFMpegSpeakerConfig(_message.Message):
    __slots__ = ("id",)
    ID_FIELD_NUMBER: _ClassVar[int]
    id: str
    def __init__(self, id: _Optional[str] = ...) -> None: ...

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

class SpeakerConfig(_message.Message):
    __slots__ = ("speakers",)
    SPEAKERS_FIELD_NUMBER: _ClassVar[int]
    speakers: _containers.RepeatedCompositeFieldContainer[SpeakerDeviceConfig]
    def __init__(self, speakers: _Optional[_Iterable[_Union[SpeakerDeviceConfig, _Mapping]]] = ...) -> None: ...

class SpeakerRootConfig(_message.Message):
    __slots__ = ("speaker",)
    SPEAKER_FIELD_NUMBER: _ClassVar[int]
    speaker: SpeakerConfig
    def __init__(self, speaker: _Optional[_Union[SpeakerConfig, _Mapping]] = ...) -> None: ...
