"""
@generated by mypy-protobuf.  Do not edit manually!
isort:skip_file
"""
import builtins
import collections.abc
import google.protobuf.descriptor
import google.protobuf.duration_pb2
import google.protobuf.internal.containers
import google.protobuf.message
import google.protobuf.timestamp_pb2
import sys
import video.coordinator.app_v1.app_pb2
import video.coordinator.broadcast_v1.broadcast_pb2
import video.coordinator.call_v1.call_pb2
import video.coordinator.permissions.permissions_pb2
import video.coordinator.push_v1.push_pb2
import video.coordinator.recording_v1.recording_pb2
import video.coordinator.server_v1_rpc.envelopes_pb2
import video.coordinator.stat_v1.stat_pb2
import video.coordinator.user_v1.user_pb2

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

DESCRIPTOR: google.protobuf.descriptor.FileDescriptor

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

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

global___GetAppRequest = GetAppRequest

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

    APP_FIELD_NUMBER: builtins.int
    @property
    def app(self) -> video.coordinator.app_v1.app_pb2.App: ...
    def __init__(
        self,
        *,
        app: video.coordinator.app_v1.app_pb2.App | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["app", b"app"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["app", b"app"]) -> None: ...

global___GetAppResponse = GetAppResponse

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

    WEBHOOK_FIELD_NUMBER: builtins.int
    @property
    def webhook(self) -> video.coordinator.app_v1.app_pb2.WebhookSettings: ...
    def __init__(
        self,
        *,
        webhook: video.coordinator.app_v1.app_pb2.WebhookSettings | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["webhook", b"webhook"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["webhook", b"webhook"]) -> None: ...

global___UpdateAppRequest = UpdateAppRequest

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

    APP_FIELD_NUMBER: builtins.int
    @property
    def app(self) -> video.coordinator.app_v1.app_pb2.App: ...
    def __init__(
        self,
        *,
        app: video.coordinator.app_v1.app_pb2.App | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["app", b"app"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["app", b"app"]) -> None: ...

global___UpdateAppResponse = UpdateAppResponse

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

    ID_FIELD_NUMBER: builtins.int
    APN_FIELD_NUMBER: builtins.int
    FIREBASE_FIELD_NUMBER: builtins.int
    HUAWEI_FIELD_NUMBER: builtins.int
    XIAOMI_FIELD_NUMBER: builtins.int
    id: builtins.str
    @property
    def apn(self) -> video.coordinator.push_v1.push_pb2.ApnCredentials: ...
    @property
    def firebase(self) -> video.coordinator.push_v1.push_pb2.FirebaseCredentials: ...
    @property
    def huawei(self) -> video.coordinator.push_v1.push_pb2.HuaweiCredentials: ...
    @property
    def xiaomi(self) -> video.coordinator.push_v1.push_pb2.XiaomiCredentials: ...
    def __init__(
        self,
        *,
        id: builtins.str = ...,
        apn: video.coordinator.push_v1.push_pb2.ApnCredentials | None = ...,
        firebase: video.coordinator.push_v1.push_pb2.FirebaseCredentials | None = ...,
        huawei: video.coordinator.push_v1.push_pb2.HuaweiCredentials | None = ...,
        xiaomi: video.coordinator.push_v1.push_pb2.XiaomiCredentials | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["apn", b"apn", "credentials", b"credentials", "firebase", b"firebase", "huawei", b"huawei", "xiaomi", b"xiaomi"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["apn", b"apn", "credentials", b"credentials", "firebase", b"firebase", "huawei", b"huawei", "id", b"id", "xiaomi", b"xiaomi"]) -> None: ...
    def WhichOneof(self, oneof_group: typing_extensions.Literal["credentials", b"credentials"]) -> typing_extensions.Literal["apn", "firebase", "huawei", "xiaomi"] | None: ...

global___PushProviderInput = PushProviderInput

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

    INPUT_FIELD_NUMBER: builtins.int
    @property
    def input(self) -> global___PushProviderInput: ...
    def __init__(
        self,
        *,
        input: global___PushProviderInput | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["input", b"input"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["input", b"input"]) -> None: ...

global___CreatePushProviderRequest = CreatePushProviderRequest

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

    PROVIDER_FIELD_NUMBER: builtins.int
    @property
    def provider(self) -> video.coordinator.push_v1.push_pb2.PushProvider: ...
    def __init__(
        self,
        *,
        provider: video.coordinator.push_v1.push_pb2.PushProvider | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["provider", b"provider"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["provider", b"provider"]) -> None: ...

global___CreatePushProviderResponse = CreatePushProviderResponse

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

    ID_FIELD_NUMBER: builtins.int
    id: builtins.str
    def __init__(
        self,
        *,
        id: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["id", b"id"]) -> None: ...

global___GetPushProviderRequest = GetPushProviderRequest

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

    PROVIDER_FIELD_NUMBER: builtins.int
    @property
    def provider(self) -> video.coordinator.push_v1.push_pb2.PushProvider: ...
    def __init__(
        self,
        *,
        provider: video.coordinator.push_v1.push_pb2.PushProvider | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["provider", b"provider"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["provider", b"provider"]) -> None: ...

global___GetPushProviderResponse = GetPushProviderResponse

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

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

global___QueryPushProvidersRequest = QueryPushProvidersRequest

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

    PROVIDERS_FIELD_NUMBER: builtins.int
    @property
    def providers(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[video.coordinator.push_v1.push_pb2.PushProvider]: ...
    def __init__(
        self,
        *,
        providers: collections.abc.Iterable[video.coordinator.push_v1.push_pb2.PushProvider] | None = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["providers", b"providers"]) -> None: ...

global___QueryPushProvidersResponse = QueryPushProvidersResponse

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

    INPUT_FIELD_NUMBER: builtins.int
    @property
    def input(self) -> global___PushProviderInput: ...
    def __init__(
        self,
        *,
        input: global___PushProviderInput | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["input", b"input"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["input", b"input"]) -> None: ...

global___UpdatePushProviderRequest = UpdatePushProviderRequest

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

    PROVIDER_FIELD_NUMBER: builtins.int
    @property
    def provider(self) -> video.coordinator.push_v1.push_pb2.PushProvider: ...
    def __init__(
        self,
        *,
        provider: video.coordinator.push_v1.push_pb2.PushProvider | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["provider", b"provider"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["provider", b"provider"]) -> None: ...

global___UpdatePushProviderResponse = UpdatePushProviderResponse

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

    ID_FIELD_NUMBER: builtins.int
    id: builtins.str
    def __init__(
        self,
        *,
        id: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["id", b"id"]) -> None: ...

global___DeletePushProviderRequest = DeletePushProviderRequest

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

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

global___DeletePushProviderResponse = DeletePushProviderResponse

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

    NAME_FIELD_NUMBER: builtins.int
    name: builtins.str
    """the name of the call type"""
    def __init__(
        self,
        *,
        name: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["name", b"name"]) -> None: ...

global___DeleteCallTypeRequest = DeleteCallTypeRequest

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

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

global___DeleteCallTypeResponse = DeleteCallTypeResponse

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

    NAME_FIELD_NUMBER: builtins.int
    SETTINGS_FIELD_NUMBER: builtins.int
    name: builtins.str
    """the name of the call type, must be unique for the application"""
    @property
    def settings(self) -> video.coordinator.call_v1.call_pb2.CallSettings: ...
    def __init__(
        self,
        *,
        name: builtins.str = ...,
        settings: video.coordinator.call_v1.call_pb2.CallSettings | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["settings", b"settings"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["name", b"name", "settings", b"settings"]) -> None: ...

global___CreateCallTypeRequest = CreateCallTypeRequest

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

    CALL_TYPE_FIELD_NUMBER: builtins.int
    @property
    def call_type(self) -> video.coordinator.call_v1.call_pb2.CallType:
        """the call type updated"""
    def __init__(
        self,
        *,
        call_type: video.coordinator.call_v1.call_pb2.CallType | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["call_type", b"call_type"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["call_type", b"call_type"]) -> None: ...

global___CreateCallTypeResponse = CreateCallTypeResponse

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

    NAME_FIELD_NUMBER: builtins.int
    name: builtins.str
    def __init__(
        self,
        *,
        name: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["name", b"name"]) -> None: ...

global___GetCallTypeRequest = GetCallTypeRequest

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

    CALL_TYPE_FIELD_NUMBER: builtins.int
    @property
    def call_type(self) -> video.coordinator.call_v1.call_pb2.CallType:
        """the call type updated"""
    def __init__(
        self,
        *,
        call_type: video.coordinator.call_v1.call_pb2.CallType | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["call_type", b"call_type"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["call_type", b"call_type"]) -> None: ...

global___GetCallTypeResponse = GetCallTypeResponse

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

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

global___QueryCallTypesRequest = QueryCallTypesRequest

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

    CALL_TYPES_FIELD_NUMBER: builtins.int
    @property
    def call_types(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[video.coordinator.call_v1.call_pb2.CallType]: ...
    def __init__(
        self,
        *,
        call_types: collections.abc.Iterable[video.coordinator.call_v1.call_pb2.CallType] | None = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["call_types", b"call_types"]) -> None: ...

global___QueryCallTypesResponse = QueryCallTypesResponse

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

    NAME_FIELD_NUMBER: builtins.int
    SETTINGS_FIELD_NUMBER: builtins.int
    name: builtins.str
    """the name of the call type, must be unique for the application"""
    @property
    def settings(self) -> video.coordinator.call_v1.call_pb2.CallSettings: ...
    def __init__(
        self,
        *,
        name: builtins.str = ...,
        settings: video.coordinator.call_v1.call_pb2.CallSettings | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["settings", b"settings"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["name", b"name", "settings", b"settings"]) -> None: ...

global___UpdateCallTypeRequest = UpdateCallTypeRequest

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

    CALL_TYPE_FIELD_NUMBER: builtins.int
    @property
    def call_type(self) -> video.coordinator.call_v1.call_pb2.CallType:
        """the call type updated"""
    def __init__(
        self,
        *,
        call_type: video.coordinator.call_v1.call_pb2.CallType | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["call_type", b"call_type"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["call_type", b"call_type"]) -> None: ...

global___UpdateCallTypeResponse = UpdateCallTypeResponse

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

    USER_FIELD_NUMBER: builtins.int
    @property
    def user(self) -> video.coordinator.user_v1.user_pb2.UserInput: ...
    def __init__(
        self,
        *,
        user: video.coordinator.user_v1.user_pb2.UserInput | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["user", b"user"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["user", b"user"]) -> None: ...

global___CreateUserRequest = CreateUserRequest

class CreateOrUpdateUsersRequest(google.protobuf.message.Message):
    """CreateOrUpdateUsersRequest runs a partial update or create on the list of users
    specify replace = true to do a hard update instead of partial update.
    """

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    USERS_FIELD_NUMBER: builtins.int
    FULL_UPDATE_FIELD_NUMBER: builtins.int
    @property
    def users(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[video.coordinator.user_v1.user_pb2.UserInput]: ...
    full_update: builtins.bool
    """Full update (defaults to false and does a partial update)."""
    def __init__(
        self,
        *,
        users: collections.abc.Iterable[video.coordinator.user_v1.user_pb2.UserInput] | None = ...,
        full_update: builtins.bool = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["full_update", b"full_update", "users", b"users"]) -> None: ...

global___CreateOrUpdateUsersRequest = CreateOrUpdateUsersRequest

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

    USERS_FIELD_NUMBER: builtins.int
    @property
    def users(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[video.coordinator.user_v1.user_pb2.User]: ...
    def __init__(
        self,
        *,
        users: collections.abc.Iterable[video.coordinator.user_v1.user_pb2.User] | None = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["users", b"users"]) -> None: ...

global___CreateOrUpdateUsersResponse = CreateOrUpdateUsersResponse

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

    ID_FIELD_NUMBER: builtins.int
    DELETE_CALL_HISTORY_FIELD_NUMBER: builtins.int
    DELETE_RECORDINGS_FIELD_NUMBER: builtins.int
    id: builtins.str
    delete_call_history: builtins.bool
    delete_recordings: builtins.bool
    def __init__(
        self,
        *,
        id: builtins.str = ...,
        delete_call_history: builtins.bool = ...,
        delete_recordings: builtins.bool = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["delete_call_history", b"delete_call_history", "delete_recordings", b"delete_recordings", "id", b"id"]) -> None: ...

global___DeleteUserRequest = DeleteUserRequest

class ExportUserRequest(google.protobuf.message.Message):
    """TODO: do we support both soft and hard delete"""

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    ID_FIELD_NUMBER: builtins.int
    id: builtins.str
    def __init__(
        self,
        *,
        id: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["id", b"id"]) -> None: ...

global___ExportUserRequest = ExportUserRequest

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

    EXPORT_USER_FIELD_NUMBER: builtins.int
    @property
    def export_user(self) -> video.coordinator.server_v1_rpc.envelopes_pb2.ExportUserEnvelope: ...
    def __init__(
        self,
        *,
        export_user: video.coordinator.server_v1_rpc.envelopes_pb2.ExportUserEnvelope | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["export_user", b"export_user"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["export_user", b"export_user"]) -> None: ...

global___ExportUserResponse = ExportUserResponse

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

    ID_FIELD_NUMBER: builtins.int
    id: builtins.str
    def __init__(
        self,
        *,
        id: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["id", b"id"]) -> None: ...

global___DeleteUserResponse = DeleteUserResponse

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

    USER_FIELD_NUMBER: builtins.int
    @property
    def user(self) -> video.coordinator.user_v1.user_pb2.User: ...
    def __init__(
        self,
        *,
        user: video.coordinator.user_v1.user_pb2.User | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["user", b"user"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["user", b"user"]) -> None: ...

global___CreateUserResponse = CreateUserResponse

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

    ACTION_FIELD_NUMBER: builtins.int
    DESCRIPTION_FIELD_NUMBER: builtins.int
    action: builtins.str
    description: builtins.str
    def __init__(
        self,
        *,
        action: builtins.str = ...,
        description: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["action", b"action", "description", b"description"]) -> None: ...

global___UserCapability = UserCapability

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

    CALL_TYPE_FIELD_NUMBER: builtins.int
    CALL_ID_FIELD_NUMBER: builtins.int
    HLS_BROADCAST_FIELD_NUMBER: builtins.int
    RTMP_FIELD_NUMBER: builtins.int
    call_type: builtins.str
    """Call type and id."""
    call_id: builtins.str
    hls_broadcast: builtins.bool
    """Toggles HLS broadcasting on/off."""
    @property
    def rtmp(self) -> video.coordinator.broadcast_v1.broadcast_pb2.RTMPOptions:
        """Enables rtmp broadcasting."""
    def __init__(
        self,
        *,
        call_type: builtins.str = ...,
        call_id: builtins.str = ...,
        hls_broadcast: builtins.bool = ...,
        rtmp: video.coordinator.broadcast_v1.broadcast_pb2.RTMPOptions | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["rtmp", b"rtmp"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["call_id", b"call_id", "call_type", b"call_type", "hls_broadcast", b"hls_broadcast", "rtmp", b"rtmp"]) -> None: ...

global___StartBroadcastRequest = StartBroadcastRequest

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

    BROADCAST_FIELD_NUMBER: builtins.int
    @property
    def broadcast(self) -> video.coordinator.broadcast_v1.broadcast_pb2.Broadcast: ...
    def __init__(
        self,
        *,
        broadcast: video.coordinator.broadcast_v1.broadcast_pb2.Broadcast | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["broadcast", b"broadcast"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["broadcast", b"broadcast"]) -> None: ...

global___StartBroadcastResponse = StartBroadcastResponse

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

    CALL_TYPE_FIELD_NUMBER: builtins.int
    CALL_ID_FIELD_NUMBER: builtins.int
    call_type: builtins.str
    """Call type and id."""
    call_id: builtins.str
    def __init__(
        self,
        *,
        call_type: builtins.str = ...,
        call_id: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["call_id", b"call_id", "call_type", b"call_type"]) -> None: ...

global___StopBroadcastRequest = StopBroadcastRequest

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

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

global___StopBroadcastResponse = StopBroadcastResponse

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

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

global___StoreLatencyRequest = StoreLatencyRequest

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

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

global___StoreLatencyResponse = StoreLatencyResponse

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

    CALL_TYPE_FIELD_NUMBER: builtins.int
    CALL_ID_FIELD_NUMBER: builtins.int
    call_type: builtins.str
    call_id: builtins.str
    def __init__(
        self,
        *,
        call_type: builtins.str = ...,
        call_id: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["call_id", b"call_id", "call_type", b"call_type"]) -> None: ...

global___StartRecordingRequest = StartRecordingRequest

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

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

global___StartRecordingResponse = StartRecordingResponse

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

    CALL_TYPE_FIELD_NUMBER: builtins.int
    CALL_ID_FIELD_NUMBER: builtins.int
    call_type: builtins.str
    call_id: builtins.str
    def __init__(
        self,
        *,
        call_type: builtins.str = ...,
        call_id: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["call_id", b"call_id", "call_type", b"call_type"]) -> None: ...

global___StopRecordingRequest = StopRecordingRequest

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

    S3_FILE_URL_FIELD_NUMBER: builtins.int
    s3_file_url: builtins.str
    def __init__(
        self,
        *,
        s3_file_url: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["s3_file_url", b"s3_file_url"]) -> None: ...

global___StopRecordingResponse = StopRecordingResponse

class GetRecordingsRequest(google.protobuf.message.Message):
    """TODO: how do we do filtering and pagination with proto?
    here we need to be able to filter, sort and limit by
    call id, call custom attribute, call creation time, call including a user, call by type
    """

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

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

global___GetRecordingsRequest = GetRecordingsRequest

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

    RECORDINGS_FIELD_NUMBER: builtins.int
    @property
    def recordings(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[video.coordinator.recording_v1.recording_pb2.Recording]: ...
    def __init__(
        self,
        *,
        recordings: collections.abc.Iterable[video.coordinator.recording_v1.recording_pb2.Recording] | None = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["recordings", b"recordings"]) -> None: ...

global___GetRecordingsResponse = GetRecordingsResponse

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

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

global___DeleteRecordingRequest = DeleteRecordingRequest

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

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

global___DeleteRecordingResponse = DeleteRecordingResponse

class QuerySessionsRequest(google.protobuf.message.Message):
    """A request message for the QuerySessions endpoint
    Specifies a subset of events to request
    TODO filter sessions by more than app ID
    TODO pagination
    """

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

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

global___QuerySessionsRequest = QuerySessionsRequest

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

    SESSIONS_FIELD_NUMBER: builtins.int
    @property
    def sessions(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[video.coordinator.stat_v1.stat_pb2.Session]: ...
    def __init__(
        self,
        *,
        sessions: collections.abc.Iterable[video.coordinator.stat_v1.stat_pb2.Session] | None = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["sessions", b"sessions"]) -> None: ...

global___QuerySessionsResponse = QuerySessionsResponse

class QuerySessionTimelineEventsRequest(google.protobuf.message.Message):
    """A request message for the QuerySessionTimelineEvents endpoint
    Specifies a subset of events to request
    """

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    SESSION_ID_FIELD_NUMBER: builtins.int
    DURATION_FIELD_NUMBER: builtins.int
    SINCE_FIELD_NUMBER: builtins.int
    session_id: builtins.str
    """The session id."""
    @property
    def duration(self) -> google.protobuf.duration_pb2.Duration:
        """Limits event timespan of the response. Default: 10m, max: 30m"""
    @property
    def since(self) -> google.protobuf.timestamp_pb2.Timestamp:
        """since which date to query events. Default: time of the first event of the call"""
    def __init__(
        self,
        *,
        session_id: builtins.str = ...,
        duration: google.protobuf.duration_pb2.Duration | None = ...,
        since: google.protobuf.timestamp_pb2.Timestamp | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["duration", b"duration", "since", b"since"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["duration", b"duration", "session_id", b"session_id", "since", b"since"]) -> None: ...

global___QuerySessionTimelineEventsRequest = QuerySessionTimelineEventsRequest

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

    SESSION_ID_FIELD_NUMBER: builtins.int
    START_FIELD_NUMBER: builtins.int
    END_FIELD_NUMBER: builtins.int
    NEXT_FIELD_NUMBER: builtins.int
    PARTICIPANT_EVENTS_FIELD_NUMBER: builtins.int
    session_id: builtins.str
    @property
    def start(self) -> google.protobuf.timestamp_pb2.Timestamp:
        """timeline inclusive start time"""
    @property
    def end(self) -> google.protobuf.timestamp_pb2.Timestamp:
        """timeline inclusive end time"""
    @property
    def next(self) -> google.protobuf.timestamp_pb2.Timestamp:
        """contains cursor to use to request the next page (optional)"""
    @property
    def participant_events(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[video.coordinator.stat_v1.stat_pb2.CallParticipantTimeline]:
        """list of events for each participant from requested time period"""
    def __init__(
        self,
        *,
        session_id: builtins.str = ...,
        start: google.protobuf.timestamp_pb2.Timestamp | None = ...,
        end: google.protobuf.timestamp_pb2.Timestamp | None = ...,
        next: google.protobuf.timestamp_pb2.Timestamp | None = ...,
        participant_events: collections.abc.Iterable[video.coordinator.stat_v1.stat_pb2.CallParticipantTimeline] | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["end", b"end", "next", b"next", "start", b"start"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["end", b"end", "next", b"next", "participant_events", b"participant_events", "session_id", b"session_id", "start", b"start"]) -> None: ...

global___QuerySessionTimelineEventsResponse = QuerySessionTimelineEventsResponse

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

    NAME_FIELD_NUMBER: builtins.int
    name: builtins.str
    def __init__(
        self,
        *,
        name: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["name", b"name"]) -> None: ...

global___CreateRoleRequest = CreateRoleRequest

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

    ROLE_FIELD_NUMBER: builtins.int
    @property
    def role(self) -> video.coordinator.permissions.permissions_pb2.Role: ...
    def __init__(
        self,
        *,
        role: video.coordinator.permissions.permissions_pb2.Role | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["role", b"role"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["role", b"role"]) -> None: ...

global___CreateRoleResponse = CreateRoleResponse

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

    NAME_FIELD_NUMBER: builtins.int
    name: builtins.str
    def __init__(
        self,
        *,
        name: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["name", b"name"]) -> None: ...

global___DeleteRoleRequest = DeleteRoleRequest

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

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

global___DeleteRoleResponse = DeleteRoleResponse

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

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

global___QueryRolesRequest = QueryRolesRequest

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

    ROLES_FIELD_NUMBER: builtins.int
    @property
    def roles(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[video.coordinator.permissions.permissions_pb2.Role]: ...
    def __init__(
        self,
        *,
        roles: collections.abc.Iterable[video.coordinator.permissions.permissions_pb2.Role] | None = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["roles", b"roles"]) -> None: ...

global___QueryRolesResponse = QueryRolesResponse

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

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

global___QueryActionsRequest = QueryActionsRequest

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

    ACTIONS_FIELD_NUMBER: builtins.int
    @property
    def actions(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[video.coordinator.permissions.permissions_pb2.Action]: ...
    def __init__(
        self,
        *,
        actions: collections.abc.Iterable[video.coordinator.permissions.permissions_pb2.Action] | None = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["actions", b"actions"]) -> None: ...

global___QueryActionsResponse = QueryActionsResponse

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

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

global___QueryPermissionsRequest = QueryPermissionsRequest

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

    PERMISSIONS_FIELD_NUMBER: builtins.int
    @property
    def permissions(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[video.coordinator.permissions.permissions_pb2.Permission]: ...
    def __init__(
        self,
        *,
        permissions: collections.abc.Iterable[video.coordinator.permissions.permissions_pb2.Permission] | None = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["permissions", b"permissions"]) -> None: ...

global___QueryPermissionsResponse = QueryPermissionsResponse

class UpdateScopeRequest(google.protobuf.message.Message):
    """A request message for UpdateScope endpoint"""

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

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

        KEY_FIELD_NUMBER: builtins.int
        VALUE_FIELD_NUMBER: builtins.int
        key: builtins.str
        @property
        def value(self) -> video.coordinator.permissions.permissions_pb2.Grants: ...
        def __init__(
            self,
            *,
            key: builtins.str = ...,
            value: video.coordinator.permissions.permissions_pb2.Grants | None = ...,
        ) -> None: ...
        def HasField(self, field_name: typing_extensions.Literal["value", b"value"]) -> builtins.bool: ...
        def ClearField(self, field_name: typing_extensions.Literal["key", b"key", "value", b"value"]) -> None: ...

    SCOPE_ID_FIELD_NUMBER: builtins.int
    GRANTS_FIELD_NUMBER: builtins.int
    scope_id: builtins.str
    """ID of the scope that is being updated"""
    @property
    def grants(self) -> google.protobuf.internal.containers.MessageMap[builtins.str, video.coordinator.permissions.permissions_pb2.Grants]:
        """A list of grants to set
        To "delete" a role from the scope, empty list of permissions should be provided for such role
        """
    def __init__(
        self,
        *,
        scope_id: builtins.str = ...,
        grants: collections.abc.Mapping[builtins.str, video.coordinator.permissions.permissions_pb2.Grants] | None = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["grants", b"grants", "scope_id", b"scope_id"]) -> None: ...

global___UpdateScopeRequest = UpdateScopeRequest

class ResetScopeRequest(google.protobuf.message.Message):
    """A request message for ResetScope endpoint"""

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    SCOPE_ID_FIELD_NUMBER: builtins.int
    ROLES_FIELD_NUMBER: builtins.int
    scope_id: builtins.str
    """ID of the scope that is being reset"""
    @property
    def roles(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]:
        """A list of roles to reset to defaults in the scope"""
    def __init__(
        self,
        *,
        scope_id: builtins.str = ...,
        roles: collections.abc.Iterable[builtins.str] | None = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["roles", b"roles", "scope_id", b"scope_id"]) -> None: ...

global___ResetScopeRequest = ResetScopeRequest

class ResetScopeResponse(google.protobuf.message.Message):
    """A response message for ResetScope endpoint"""

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    SCOPE_FIELD_NUMBER: builtins.int
    @property
    def scope(self) -> video.coordinator.permissions.permissions_pb2.Scope:
        """An updated scope"""
    def __init__(
        self,
        *,
        scope: video.coordinator.permissions.permissions_pb2.Scope | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["scope", b"scope"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["scope", b"scope"]) -> None: ...

global___ResetScopeResponse = ResetScopeResponse

class UpdateScopeResponse(google.protobuf.message.Message):
    """A response message for UpdateScope endpoint"""

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    SCOPE_FIELD_NUMBER: builtins.int
    @property
    def scope(self) -> video.coordinator.permissions.permissions_pb2.Scope:
        """An updated scope"""
    def __init__(
        self,
        *,
        scope: video.coordinator.permissions.permissions_pb2.Scope | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["scope", b"scope"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["scope", b"scope"]) -> None: ...

global___UpdateScopeResponse = UpdateScopeResponse

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

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

global___QueryScopesRequest = QueryScopesRequest

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

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

        KEY_FIELD_NUMBER: builtins.int
        VALUE_FIELD_NUMBER: builtins.int
        key: builtins.str
        @property
        def value(self) -> video.coordinator.permissions.permissions_pb2.Scope: ...
        def __init__(
            self,
            *,
            key: builtins.str = ...,
            value: video.coordinator.permissions.permissions_pb2.Scope | None = ...,
        ) -> None: ...
        def HasField(self, field_name: typing_extensions.Literal["value", b"value"]) -> builtins.bool: ...
        def ClearField(self, field_name: typing_extensions.Literal["key", b"key", "value", b"value"]) -> None: ...

    SCOPES_FIELD_NUMBER: builtins.int
    @property
    def scopes(self) -> google.protobuf.internal.containers.MessageMap[builtins.str, video.coordinator.permissions.permissions_pb2.Scope]: ...
    def __init__(
        self,
        *,
        scopes: collections.abc.Mapping[builtins.str, video.coordinator.permissions.permissions_pb2.Scope] | None = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["scopes", b"scopes"]) -> None: ...

global___QueryScopesResponse = QueryScopesResponse
