"""
@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 google.protobuf.wrappers_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.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
    OPTIONS_FIELD_NUMBER: builtins.int
    name: builtins.str
    """the name of the call type, must be unique for the application"""
    @property
    def options(self) -> video.coordinator.call_v1.call_pb2.CallOptions: ...
    def __init__(
        self,
        *,
        name: builtins.str = ...,
        options: video.coordinator.call_v1.call_pb2.CallOptions | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["options", b"options"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["name", b"name", "options", b"options"]) -> 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
    OPTIONS_FIELD_NUMBER: builtins.int
    name: builtins.str
    """the name of the call type, must be unique for the application"""
    @property
    def options(self) -> video.coordinator.call_v1.call_pb2.CallOptions: ...
    def __init__(
        self,
        *,
        name: builtins.str = ...,
        options: video.coordinator.call_v1.call_pb2.CallOptions | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["options", b"options"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["name", b"name", "options", b"options"]) -> 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 CreateCallRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    TYPE_FIELD_NUMBER: builtins.int
    ID_FIELD_NUMBER: builtins.int
    CUSTOM_JSON_FIELD_NUMBER: builtins.int
    PARTICIPANT_IDS_FIELD_NUMBER: builtins.int
    HLS_BROADCAST_FIELD_NUMBER: builtins.int
    RTMP_FIELD_NUMBER: builtins.int
    RECORDING_FIELD_NUMBER: builtins.int
    NOTIFY_FIELD_NUMBER: builtins.int
    type: builtins.str
    """The call type.
    Required.
    """
    id: builtins.str
    """The call id, if not provided a unique value will be generated based on UUID v4.
    Required.
    """
    custom_json: builtins.bytes
    """Call custom data."""
    @property
    def participant_ids(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]:
        """The list of participant ids."""
    @property
    def hls_broadcast(self) -> google.protobuf.wrappers_pb2.BoolValue:
        """HLS broadcast, overrides the default call type setting if provided."""
    @property
    def rtmp(self) -> video.coordinator.broadcast_v1.broadcast_pb2.RTMPOptions:
        """Request video to be forwarded to a list of RTMP servers."""
    @property
    def recording(self) -> google.protobuf.wrappers_pb2.BoolValue:
        """The recording option, overrides the default call type setting if provided."""
    @property
    def notify(self) -> google.protobuf.wrappers_pb2.BoolValue:
        """The ring option, overrides the default call type setting if provided."""
    def __init__(
        self,
        *,
        type: builtins.str = ...,
        id: builtins.str = ...,
        custom_json: builtins.bytes = ...,
        participant_ids: collections.abc.Iterable[builtins.str] | None = ...,
        hls_broadcast: google.protobuf.wrappers_pb2.BoolValue | None = ...,
        rtmp: video.coordinator.broadcast_v1.broadcast_pb2.RTMPOptions | None = ...,
        recording: google.protobuf.wrappers_pb2.BoolValue | None = ...,
        notify: google.protobuf.wrappers_pb2.BoolValue | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["hls_broadcast", b"hls_broadcast", "notify", b"notify", "recording", b"recording", "rtmp", b"rtmp"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["custom_json", b"custom_json", "hls_broadcast", b"hls_broadcast", "id", b"id", "notify", b"notify", "participant_ids", b"participant_ids", "recording", b"recording", "rtmp", b"rtmp", "type", b"type"]) -> None: ...

global___CreateCallRequest = CreateCallRequest

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

    ID_FIELD_NUMBER: builtins.int
    TEAMS_FIELD_NUMBER: builtins.int
    ROLE_FIELD_NUMBER: builtins.int
    CUSTOM_JSON_FIELD_NUMBER: builtins.int
    NAME_FIELD_NUMBER: builtins.int
    IMAGE_URL_FIELD_NUMBER: builtins.int
    id: builtins.str
    @property
    def teams(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
    role: builtins.str
    custom_json: builtins.bytes
    name: builtins.str
    image_url: builtins.str
    def __init__(
        self,
        *,
        id: builtins.str = ...,
        teams: collections.abc.Iterable[builtins.str] | None = ...,
        role: builtins.str = ...,
        custom_json: builtins.bytes = ...,
        name: builtins.str = ...,
        image_url: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["custom_json", b"custom_json", "id", b"id", "image_url", b"image_url", "name", b"name", "role", b"role", "teams", b"teams"]) -> 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[global___CreateUserRequest]: ...
    full_update: builtins.bool
    """Full update (defaults to false and does a partial update)."""
    def __init__(
        self,
        *,
        users: collections.abc.Iterable[global___CreateUserRequest] | 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_ID_FIELD_NUMBER: builtins.int
    CALL_TYPE_FIELD_NUMBER: builtins.int
    HLS_BROADCAST_FIELD_NUMBER: builtins.int
    RTMP_FIELD_NUMBER: builtins.int
    call_id: builtins.str
    """Call id and type."""
    call_type: 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_id: builtins.str = ...,
        call_type: 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

    def __init__(
        self,
    ) -> 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 QueryCallTimelineEventsRequest(google.protobuf.message.Message):
    """A request message for the QueryCallTimelineEvents endpoint
    Specifies a subset of events to request
    """

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    TYPE_FIELD_NUMBER: builtins.int
    ID_FIELD_NUMBER: builtins.int
    DURATION_FIELD_NUMBER: builtins.int
    SINCE_FIELD_NUMBER: builtins.int
    type: builtins.str
    """The call type."""
    id: builtins.str
    """The call 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,
        *,
        type: builtins.str = ...,
        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", "id", b"id", "since", b"since", "type", b"type"]) -> None: ...

global___QueryCallTimelineEventsRequest = QueryCallTimelineEventsRequest

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

    START_FIELD_NUMBER: builtins.int
    END_FIELD_NUMBER: builtins.int
    NEXT_FIELD_NUMBER: builtins.int
    PARTICIPANT_EVENTS_FIELD_NUMBER: builtins.int
    @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"""
    @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,
        *,
        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", "start", b"start"]) -> None: ...

global___QueryCallTimelineEventsResponse = QueryCallTimelineEventsResponse
