"""
@generated by mypy-protobuf.  Do not edit manually!
isort:skip_file
"""
import builtins
import collections.abc
import google.protobuf.descriptor
import google.protobuf.internal.containers
import google.protobuf.message
import sys
import video.sfu.models.models_pb2

if sys.version_info >= (3, 8):
    import typing as typing_extensions
else:
    import typing_extensions

DESCRIPTOR: google.protobuf.descriptor.FileDescriptor

class UpdateMuteStatesRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    SESSION_ID_FIELD_NUMBER: builtins.int
    MUTE_STATES_FIELD_NUMBER: builtins.int
    session_id: builtins.str
    @property
    def mute_states(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___TrackMuteState]: ...
    def __init__(
        self,
        *,
        session_id: builtins.str = ...,
        mute_states: collections.abc.Iterable[global___TrackMuteState] | None = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["mute_states", b"mute_states", "session_id", b"session_id"]) -> None: ...

global___UpdateMuteStatesRequest = UpdateMuteStatesRequest

class UpdateMuteStatesResponse(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    ERROR_FIELD_NUMBER: builtins.int
    @property
    def error(self) -> video.sfu.models.models_pb2.Error: ...
    def __init__(
        self,
        *,
        error: video.sfu.models.models_pb2.Error | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["error", b"error"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["error", b"error"]) -> None: ...

global___UpdateMuteStatesResponse = UpdateMuteStatesResponse

class TrackMuteState(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    TRACK_TYPE_FIELD_NUMBER: builtins.int
    MUTED_FIELD_NUMBER: builtins.int
    track_type: video.sfu.models.models_pb2.TrackType.ValueType
    muted: builtins.bool
    def __init__(
        self,
        *,
        track_type: video.sfu.models.models_pb2.TrackType.ValueType = ...,
        muted: builtins.bool = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["muted", b"muted", "track_type", b"track_type"]) -> None: ...

global___TrackMuteState = TrackMuteState

class AudioMuteChanged(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    MUTED_FIELD_NUMBER: builtins.int
    muted: builtins.bool
    def __init__(
        self,
        *,
        muted: builtins.bool = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["muted", b"muted"]) -> None: ...

global___AudioMuteChanged = AudioMuteChanged

class VideoMuteChanged(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    MUTED_FIELD_NUMBER: builtins.int
    muted: builtins.bool
    def __init__(
        self,
        *,
        muted: builtins.bool = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["muted", b"muted"]) -> None: ...

global___VideoMuteChanged = VideoMuteChanged

class UpdateSubscriptionsRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    SESSION_ID_FIELD_NUMBER: builtins.int
    TRACKS_FIELD_NUMBER: builtins.int
    session_id: builtins.str
    @property
    def tracks(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___TrackSubscriptionDetails]: ...
    def __init__(
        self,
        *,
        session_id: builtins.str = ...,
        tracks: collections.abc.Iterable[global___TrackSubscriptionDetails] | None = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["session_id", b"session_id", "tracks", b"tracks"]) -> None: ...

global___UpdateSubscriptionsRequest = UpdateSubscriptionsRequest

class UpdateSubscriptionsResponse(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    ERROR_FIELD_NUMBER: builtins.int
    @property
    def error(self) -> video.sfu.models.models_pb2.Error: ...
    def __init__(
        self,
        *,
        error: video.sfu.models.models_pb2.Error | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["error", b"error"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["error", b"error"]) -> None: ...

global___UpdateSubscriptionsResponse = UpdateSubscriptionsResponse

class TrackSubscriptionDetails(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    USER_ID_FIELD_NUMBER: builtins.int
    SESSION_ID_FIELD_NUMBER: builtins.int
    TRACK_TYPE_FIELD_NUMBER: builtins.int
    DIMENSION_FIELD_NUMBER: builtins.int
    user_id: builtins.str
    session_id: builtins.str
    track_type: video.sfu.models.models_pb2.TrackType.ValueType
    @property
    def dimension(self) -> video.sfu.models.models_pb2.VideoDimension: ...
    def __init__(
        self,
        *,
        user_id: builtins.str = ...,
        session_id: builtins.str = ...,
        track_type: video.sfu.models.models_pb2.TrackType.ValueType = ...,
        dimension: video.sfu.models.models_pb2.VideoDimension | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["dimension", b"dimension"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["dimension", b"dimension", "session_id", b"session_id", "track_type", b"track_type", "user_id", b"user_id"]) -> None: ...

global___TrackSubscriptionDetails = TrackSubscriptionDetails

class SendAnswerRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    PEER_TYPE_FIELD_NUMBER: builtins.int
    SDP_FIELD_NUMBER: builtins.int
    SESSION_ID_FIELD_NUMBER: builtins.int
    peer_type: video.sfu.models.models_pb2.PeerType.ValueType
    sdp: builtins.str
    session_id: builtins.str
    def __init__(
        self,
        *,
        peer_type: video.sfu.models.models_pb2.PeerType.ValueType = ...,
        sdp: builtins.str = ...,
        session_id: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["peer_type", b"peer_type", "sdp", b"sdp", "session_id", b"session_id"]) -> None: ...

global___SendAnswerRequest = SendAnswerRequest

class SendAnswerResponse(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    ERROR_FIELD_NUMBER: builtins.int
    @property
    def error(self) -> video.sfu.models.models_pb2.Error: ...
    def __init__(
        self,
        *,
        error: video.sfu.models.models_pb2.Error | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["error", b"error"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["error", b"error"]) -> None: ...

global___SendAnswerResponse = SendAnswerResponse

class ICETrickleResponse(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    ERROR_FIELD_NUMBER: builtins.int
    @property
    def error(self) -> video.sfu.models.models_pb2.Error: ...
    def __init__(
        self,
        *,
        error: video.sfu.models.models_pb2.Error | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["error", b"error"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["error", b"error"]) -> None: ...

global___ICETrickleResponse = ICETrickleResponse

class SetPublisherRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    SDP_FIELD_NUMBER: builtins.int
    SESSION_ID_FIELD_NUMBER: builtins.int
    TRACKS_FIELD_NUMBER: builtins.int
    sdp: builtins.str
    """sdp offer"""
    session_id: builtins.str
    @property
    def tracks(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[video.sfu.models.models_pb2.TrackInfo]: ...
    def __init__(
        self,
        *,
        sdp: builtins.str = ...,
        session_id: builtins.str = ...,
        tracks: collections.abc.Iterable[video.sfu.models.models_pb2.TrackInfo] | None = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["sdp", b"sdp", "session_id", b"session_id", "tracks", b"tracks"]) -> None: ...

global___SetPublisherRequest = SetPublisherRequest

class SetPublisherResponse(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    SDP_FIELD_NUMBER: builtins.int
    SESSION_ID_FIELD_NUMBER: builtins.int
    ICE_RESTART_FIELD_NUMBER: builtins.int
    ERROR_FIELD_NUMBER: builtins.int
    sdp: builtins.str
    """sdp answer"""
    session_id: builtins.str
    ice_restart: builtins.bool
    @property
    def error(self) -> video.sfu.models.models_pb2.Error: ...
    def __init__(
        self,
        *,
        sdp: builtins.str = ...,
        session_id: builtins.str = ...,
        ice_restart: builtins.bool = ...,
        error: video.sfu.models.models_pb2.Error | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["error", b"error"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["error", b"error", "ice_restart", b"ice_restart", "sdp", b"sdp", "session_id", b"session_id"]) -> None: ...

global___SetPublisherResponse = SetPublisherResponse
