"""
@generated by mypy-protobuf.  Do not edit manually!
isort:skip_file
Copyright 2025 LiveKit, Inc.

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
"""

import builtins
import google.protobuf.descriptor
import google.protobuf.internal.enum_type_wrapper
import google.protobuf.message
import sys
import typing

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

DESCRIPTOR: google.protobuf.descriptor.FileDescriptor

class _VideoQuality:
    ValueType = typing.NewType("ValueType", builtins.int)
    V: typing_extensions.TypeAlias = ValueType

class _VideoQualityEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_VideoQuality.ValueType], builtins.type):
    DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
    VIDEO_QUALITY_LOW: _VideoQuality.ValueType  # 0
    VIDEO_QUALITY_MEDIUM: _VideoQuality.ValueType  # 1
    VIDEO_QUALITY_HIGH: _VideoQuality.ValueType  # 2

class VideoQuality(_VideoQuality, metaclass=_VideoQualityEnumTypeWrapper):
    """Video quality for simulcasted tracks."""

VIDEO_QUALITY_LOW: VideoQuality.ValueType  # 0
VIDEO_QUALITY_MEDIUM: VideoQuality.ValueType  # 1
VIDEO_QUALITY_HIGH: VideoQuality.ValueType  # 2
global___VideoQuality = VideoQuality

@typing.final
class EnableRemoteTrackPublicationRequest(google.protobuf.message.Message):
    """Enable/Disable a remote track publication"""

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    TRACK_PUBLICATION_HANDLE_FIELD_NUMBER: builtins.int
    ENABLED_FIELD_NUMBER: builtins.int
    track_publication_handle: builtins.int
    enabled: builtins.bool
    def __init__(
        self,
        *,
        track_publication_handle: builtins.int | None = ...,
        enabled: builtins.bool | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["enabled", b"enabled", "track_publication_handle", b"track_publication_handle"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["enabled", b"enabled", "track_publication_handle", b"track_publication_handle"]) -> None: ...

global___EnableRemoteTrackPublicationRequest = EnableRemoteTrackPublicationRequest

@typing.final
class EnableRemoteTrackPublicationResponse(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    def __init__(
        self,
    ) -> None: ...

global___EnableRemoteTrackPublicationResponse = EnableRemoteTrackPublicationResponse

@typing.final
class UpdateRemoteTrackPublicationDimensionRequest(google.protobuf.message.Message):
    """update a remote track publication dimension"""

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    TRACK_PUBLICATION_HANDLE_FIELD_NUMBER: builtins.int
    WIDTH_FIELD_NUMBER: builtins.int
    HEIGHT_FIELD_NUMBER: builtins.int
    track_publication_handle: builtins.int
    width: builtins.int
    height: builtins.int
    def __init__(
        self,
        *,
        track_publication_handle: builtins.int | None = ...,
        width: builtins.int | None = ...,
        height: builtins.int | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["height", b"height", "track_publication_handle", b"track_publication_handle", "width", b"width"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["height", b"height", "track_publication_handle", b"track_publication_handle", "width", b"width"]) -> None: ...

global___UpdateRemoteTrackPublicationDimensionRequest = UpdateRemoteTrackPublicationDimensionRequest

@typing.final
class UpdateRemoteTrackPublicationDimensionResponse(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    def __init__(
        self,
    ) -> None: ...

global___UpdateRemoteTrackPublicationDimensionResponse = UpdateRemoteTrackPublicationDimensionResponse

@typing.final
class SetRemoteTrackPublicationQualityRequest(google.protobuf.message.Message):
    """For tracks that support simulcasting, adjust subscribed quality."""

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    TRACK_PUBLICATION_HANDLE_FIELD_NUMBER: builtins.int
    QUALITY_FIELD_NUMBER: builtins.int
    track_publication_handle: builtins.int
    quality: global___VideoQuality.ValueType
    def __init__(
        self,
        *,
        track_publication_handle: builtins.int | None = ...,
        quality: global___VideoQuality.ValueType | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["quality", b"quality", "track_publication_handle", b"track_publication_handle"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["quality", b"quality", "track_publication_handle", b"track_publication_handle"]) -> None: ...

global___SetRemoteTrackPublicationQualityRequest = SetRemoteTrackPublicationQualityRequest

@typing.final
class SetRemoteTrackPublicationQualityResponse(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    def __init__(
        self,
    ) -> None: ...

global___SetRemoteTrackPublicationQualityResponse = SetRemoteTrackPublicationQualityResponse
