"""
@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.internal.enum_type_wrapper
import google.protobuf.message
import google.protobuf.timestamp_pb2
import sys
import typing
import video.coordinator.call_v1.call_pb2
import video.coordinator.client_v1_rpc.envelopes_pb2
import video.coordinator.edge_v1.edge_pb2
import video.coordinator.push_v1.push_pb2
import video.coordinator.stat_v1.stat_pb2
import video.coordinator.utils_v1.utils_pb2

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

DESCRIPTOR: google.protobuf.descriptor.FileDescriptor

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

class _UserEventTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_UserEventType.ValueType], builtins.type):  # noqa: F821
    DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
    USER_EVENT_TYPE_UNSPECIFIED: _UserEventType.ValueType  # 0
    USER_EVENT_TYPE_ACCEPTED_CALL: _UserEventType.ValueType  # 1
    USER_EVENT_TYPE_REJECTED_CALL: _UserEventType.ValueType  # 2
    USER_EVENT_TYPE_CANCELLED_CALL: _UserEventType.ValueType  # 3

class UserEventType(_UserEventType, metaclass=_UserEventTypeEnumTypeWrapper): ...

USER_EVENT_TYPE_UNSPECIFIED: UserEventType.ValueType  # 0
USER_EVENT_TYPE_ACCEPTED_CALL: UserEventType.ValueType  # 1
USER_EVENT_TYPE_REJECTED_CALL: UserEventType.ValueType  # 2
USER_EVENT_TYPE_CANCELLED_CALL: UserEventType.ValueType  # 3
global___UserEventType = UserEventType

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

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

global___GetCallRequest = GetCallRequest

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

    CALL_FIELD_NUMBER: builtins.int
    @property
    def call(self) -> video.coordinator.client_v1_rpc.envelopes_pb2.CallEnvelope: ...
    def __init__(
        self,
        *,
        call: video.coordinator.client_v1_rpc.envelopes_pb2.CallEnvelope | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["call", b"call"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["call", b"call"]) -> None: ...

global___GetCallResponse = GetCallResponse

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

    USER_ID_FIELD_NUMBER: builtins.int
    ROLE_FIELD_NUMBER: builtins.int
    CUSTOM_JSON_FIELD_NUMBER: builtins.int
    user_id: builtins.str
    role: builtins.str
    custom_json: builtins.bytes
    def __init__(
        self,
        *,
        user_id: builtins.str = ...,
        role: builtins.str = ...,
        custom_json: builtins.bytes = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["custom_json", b"custom_json", "role", b"role", "user_id", b"user_id"]) -> None: ...

global___MemberInput = MemberInput

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

    CALL_CID_FIELD_NUMBER: builtins.int
    MEMBERS_FIELD_NUMBER: builtins.int
    RING_FIELD_NUMBER: builtins.int
    call_cid: builtins.str
    @property
    def members(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___MemberInput]: ...
    ring: builtins.bool
    """Ringing option, used to signal to clients' UI"""
    def __init__(
        self,
        *,
        call_cid: builtins.str = ...,
        members: collections.abc.Iterable[global___MemberInput] | None = ...,
        ring: builtins.bool = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["call_cid", b"call_cid", "members", b"members", "ring", b"ring"]) -> None: ...

global___UpsertCallMembersRequest = UpsertCallMembersRequest

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

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

global___UpsertCallMembersResponse = UpsertCallMembersResponse

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

    CALL_CID_FIELD_NUMBER: builtins.int
    USER_IDS_FIELD_NUMBER: builtins.int
    call_cid: builtins.str
    @property
    def user_ids(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
    def __init__(
        self,
        *,
        call_cid: builtins.str = ...,
        user_ids: collections.abc.Iterable[builtins.str] | None = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["call_cid", b"call_cid", "user_ids", b"user_ids"]) -> None: ...

global___DeleteCallMembersRequest = DeleteCallMembersRequest

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

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

global___DeleteCallMembersResponse = DeleteCallMembersResponse

class CreateCallInput(google.protobuf.message.Message):
    """A message that carries data for call creation"""

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    CALL_FIELD_NUMBER: builtins.int
    MEMBERS_FIELD_NUMBER: builtins.int
    RING_FIELD_NUMBER: builtins.int
    @property
    def call(self) -> global___CallInput:
        """Call properties to set"""
    @property
    def members(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___MemberInput]:
        """Members to add to the created call"""
    ring: builtins.bool
    """Ringing option, used to signal to clients' UI"""
    def __init__(
        self,
        *,
        call: global___CallInput | None = ...,
        members: collections.abc.Iterable[global___MemberInput] | None = ...,
        ring: builtins.bool | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["_ring", b"_ring", "call", b"call", "ring", b"ring"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["_ring", b"_ring", "call", b"call", "members", b"members", "ring", b"ring"]) -> None: ...
    def WhichOneof(self, oneof_group: typing_extensions.Literal["_ring", b"_ring"]) -> typing_extensions.Literal["ring"] | None: ...

global___CreateCallInput = CreateCallInput

class CreateCallRequest(google.protobuf.message.Message):
    """A request message for GetOrCreateCall endpoint"""

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    TYPE_FIELD_NUMBER: builtins.int
    ID_FIELD_NUMBER: builtins.int
    INPUT_FIELD_NUMBER: builtins.int
    type: builtins.str
    """Call type"""
    id: builtins.str
    """Call ID. If empty, will be generated as UUIDv4"""
    @property
    def input(self) -> global___CreateCallInput:
        """Call creation input, only used if the call does not exist"""
    def __init__(
        self,
        *,
        type: builtins.str = ...,
        id: builtins.str | None = ...,
        input: global___CreateCallInput | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["_id", b"_id", "id", b"id", "input", b"input"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["_id", b"_id", "id", b"id", "input", b"input", "type", b"type"]) -> None: ...
    def WhichOneof(self, oneof_group: typing_extensions.Literal["_id", b"_id"]) -> typing_extensions.Literal["id"] | None: ...

global___CreateCallRequest = CreateCallRequest

class GetOrCreateCallRequest(google.protobuf.message.Message):
    """A request message for GetOrCreateCall endpoint"""

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    TYPE_FIELD_NUMBER: builtins.int
    ID_FIELD_NUMBER: builtins.int
    INPUT_FIELD_NUMBER: builtins.int
    type: builtins.str
    """Call type"""
    id: builtins.str
    """Call ID"""
    @property
    def input(self) -> global___CreateCallInput:
        """Call creation input, only used if the call does not exist"""
    def __init__(
        self,
        *,
        type: builtins.str = ...,
        id: builtins.str = ...,
        input: global___CreateCallInput | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["input", b"input"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["id", b"id", "input", b"input", "type", b"type"]) -> None: ...

global___GetOrCreateCallRequest = GetOrCreateCallRequest

class JoinCallRequest(google.protobuf.message.Message):
    """A request message for JoinCall endpoint"""

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    TYPE_FIELD_NUMBER: builtins.int
    ID_FIELD_NUMBER: builtins.int
    INPUT_FIELD_NUMBER: builtins.int
    DATACENTER_ID_FIELD_NUMBER: builtins.int
    type: builtins.str
    """Call type"""
    id: builtins.str
    """Call ID"""
    @property
    def input(self) -> global___CreateCallInput:
        """Call creation input, only used if the call does not exist"""
    datacenter_id: builtins.str
    """Preferred client datacenter. This is optional and when set, preferred datacenter selection is not guaranteed"""
    def __init__(
        self,
        *,
        type: builtins.str = ...,
        id: builtins.str = ...,
        input: global___CreateCallInput | None = ...,
        datacenter_id: builtins.str = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["input", b"input"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["datacenter_id", b"datacenter_id", "id", b"id", "input", b"input", "type", b"type"]) -> None: ...

global___JoinCallRequest = JoinCallRequest

class JoinCallResponse(google.protobuf.message.Message):
    """A request message for GetOrCreateCall endpoint"""

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    CALL_FIELD_NUMBER: builtins.int
    CREATED_FIELD_NUMBER: builtins.int
    EDGES_FIELD_NUMBER: builtins.int
    @property
    def call(self) -> video.coordinator.client_v1_rpc.envelopes_pb2.CallEnvelope: ...
    created: builtins.bool
    """Whether a call was created"""
    @property
    def edges(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[video.coordinator.edge_v1.edge_pb2.Edge]:
        """A list of endpoints to measure latency"""
    def __init__(
        self,
        *,
        call: video.coordinator.client_v1_rpc.envelopes_pb2.CallEnvelope | None = ...,
        created: builtins.bool = ...,
        edges: collections.abc.Iterable[video.coordinator.edge_v1.edge_pb2.Edge] | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["call", b"call"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["call", b"call", "created", b"created", "edges", b"edges"]) -> None: ...

global___JoinCallResponse = JoinCallResponse

class CallInput(google.protobuf.message.Message):
    """Represents all updatable room fields"""

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    CUSTOM_JSON_FIELD_NUMBER: builtins.int
    OPTIONS_FIELD_NUMBER: builtins.int
    custom_json: builtins.bytes
    """Custom JSON object that is stored in this call
    All users with read permissions will have access to this object
    """
    @property
    def options(self) -> video.coordinator.call_v1.call_pb2.CallOptions:
        """Call options to set"""
    def __init__(
        self,
        *,
        custom_json: builtins.bytes = ...,
        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["custom_json", b"custom_json", "options", b"options"]) -> None: ...

global___CallInput = CallInput

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

    CALL_FIELD_NUMBER: builtins.int
    CREATED_FIELD_NUMBER: builtins.int
    @property
    def call(self) -> video.coordinator.client_v1_rpc.envelopes_pb2.CallEnvelope: ...
    created: builtins.bool
    """Whether a call was created"""
    def __init__(
        self,
        *,
        call: video.coordinator.client_v1_rpc.envelopes_pb2.CallEnvelope | None = ...,
        created: builtins.bool = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["call", b"call"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["call", b"call", "created", b"created"]) -> None: ...

global___GetOrCreateCallResponse = GetOrCreateCallResponse

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

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

global___UpdateCallRequest = UpdateCallRequest

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

    CALL_FIELD_NUMBER: builtins.int
    @property
    def call(self) -> video.coordinator.client_v1_rpc.envelopes_pb2.CallEnvelope: ...
    def __init__(
        self,
        *,
        call: video.coordinator.client_v1_rpc.envelopes_pb2.CallEnvelope | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["call", b"call"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["call", b"call"]) -> None: ...

global___UpdateCallResponse = UpdateCallResponse

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

    CALL_FIELD_NUMBER: builtins.int
    @property
    def call(self) -> video.coordinator.client_v1_rpc.envelopes_pb2.CallEnvelope: ...
    def __init__(
        self,
        *,
        call: video.coordinator.client_v1_rpc.envelopes_pb2.CallEnvelope | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["call", b"call"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["call", b"call"]) -> None: ...

global___CreateCallResponse = CreateCallResponse

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

    MQ_JSON_FIELD_NUMBER: builtins.int
    LIMIT_FIELD_NUMBER: builtins.int
    SORTS_FIELD_NUMBER: builtins.int
    mq_json: builtins.bytes
    limit: builtins.int
    @property
    def sorts(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[video.coordinator.utils_v1.utils_pb2.Sort]: ...
    def __init__(
        self,
        *,
        mq_json: builtins.bytes = ...,
        limit: builtins.int | None = ...,
        sorts: collections.abc.Iterable[video.coordinator.utils_v1.utils_pb2.Sort] | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["_limit", b"_limit", "limit", b"limit"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["_limit", b"_limit", "limit", b"limit", "mq_json", b"mq_json", "sorts", b"sorts"]) -> None: ...
    def WhichOneof(self, oneof_group: typing_extensions.Literal["_limit", b"_limit"]) -> typing_extensions.Literal["limit"] | None: ...

global___QueryCallsRequest = QueryCallsRequest

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

    CALLS_FIELD_NUMBER: builtins.int
    @property
    def calls(self) -> video.coordinator.client_v1_rpc.envelopes_pb2.CallsEnvelope: ...
    def __init__(
        self,
        *,
        calls: video.coordinator.client_v1_rpc.envelopes_pb2.CallsEnvelope | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["calls", b"calls"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["calls", b"calls"]) -> None: ...

global___QueryCallsResponse = QueryCallsResponse

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

    MQ_JSON_FIELD_NUMBER: builtins.int
    LIMIT_FIELD_NUMBER: builtins.int
    SORTS_FIELD_NUMBER: builtins.int
    mq_json: builtins.bytes
    limit: builtins.int
    @property
    def sorts(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[video.coordinator.utils_v1.utils_pb2.Sort]: ...
    def __init__(
        self,
        *,
        mq_json: builtins.bytes = ...,
        limit: builtins.int | None = ...,
        sorts: collections.abc.Iterable[video.coordinator.utils_v1.utils_pb2.Sort] | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["_limit", b"_limit", "limit", b"limit"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["_limit", b"_limit", "limit", b"limit", "mq_json", b"mq_json", "sorts", b"sorts"]) -> None: ...
    def WhichOneof(self, oneof_group: typing_extensions.Literal["_limit", b"_limit"]) -> typing_extensions.Literal["limit"] | None: ...

global___QueryMembersRequest = QueryMembersRequest

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

    MEMBERS_FIELD_NUMBER: builtins.int
    @property
    def members(self) -> video.coordinator.client_v1_rpc.envelopes_pb2.MembersEnvelope: ...
    def __init__(
        self,
        *,
        members: video.coordinator.client_v1_rpc.envelopes_pb2.MembersEnvelope | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["members", b"members"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["members", b"members"]) -> None: ...

global___QueryMembersResponse = QueryMembersResponse

class GetCallEdgeServerRequest(google.protobuf.message.Message):
    """A request message for GetCallEdgeServer endpoint"""

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    CALL_CID_FIELD_NUMBER: builtins.int
    MEASUREMENTS_FIELD_NUMBER: builtins.int
    call_cid: builtins.str
    """Call CID to get SFU for"""
    @property
    def measurements(self) -> video.coordinator.edge_v1.edge_pb2.LatencyMeasurements:
        """Latency measurement results
        Optional
        """
    def __init__(
        self,
        *,
        call_cid: builtins.str = ...,
        measurements: video.coordinator.edge_v1.edge_pb2.LatencyMeasurements | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["measurements", b"measurements"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["call_cid", b"call_cid", "measurements", b"measurements"]) -> None: ...

global___GetCallEdgeServerRequest = GetCallEdgeServerRequest

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

    CALL_FIELD_NUMBER: builtins.int
    CREDENTIALS_FIELD_NUMBER: builtins.int
    @property
    def call(self) -> video.coordinator.client_v1_rpc.envelopes_pb2.CallEnvelope: ...
    @property
    def credentials(self) -> video.coordinator.edge_v1.edge_pb2.Credentials:
        """Call edge server credentials"""
    def __init__(
        self,
        *,
        call: video.coordinator.client_v1_rpc.envelopes_pb2.CallEnvelope | None = ...,
        credentials: video.coordinator.edge_v1.edge_pb2.Credentials | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["call", b"call", "credentials", b"credentials"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["call", b"call", "credentials", b"credentials"]) -> None: ...

global___GetCallEdgeServerResponse = GetCallEdgeServerResponse

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

    INPUT_FIELD_NUMBER: builtins.int
    @property
    def input(self) -> video.coordinator.push_v1.push_pb2.DeviceInput: ...
    def __init__(
        self,
        *,
        input: video.coordinator.push_v1.push_pb2.DeviceInput | 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___CreateDeviceRequest = CreateDeviceRequest

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

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

global___CreateDeviceResponse = CreateDeviceResponse

class DeleteDeviceRequest(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___DeleteDeviceRequest = DeleteDeviceRequest

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

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

global___DeleteDeviceResponse = DeleteDeviceResponse

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

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

global___QueryDevicesRequest = QueryDevicesRequest

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

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

global___QueryDevicesResponse = QueryDevicesResponse

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

    CALL_CID_FIELD_NUMBER: builtins.int
    EVENT_TYPE_FIELD_NUMBER: builtins.int
    call_cid: builtins.str
    """The call cid"""
    event_type: global___UserEventType.ValueType
    """The type of event"""
    def __init__(
        self,
        *,
        call_cid: builtins.str = ...,
        event_type: global___UserEventType.ValueType = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["call_cid", b"call_cid", "event_type", b"event_type"]) -> None: ...

global___SendEventRequest = SendEventRequest

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

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

global___SendEventResponse = SendEventResponse

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

    CALL_CID_FIELD_NUMBER: builtins.int
    TYPE_FIELD_NUMBER: builtins.int
    DATA_JSON_FIELD_NUMBER: builtins.int
    call_cid: builtins.str
    """The call cid"""
    type: builtins.str
    """The type of event"""
    data_json: builtins.bytes
    """The data of the event"""
    def __init__(
        self,
        *,
        call_cid: builtins.str = ...,
        type: builtins.str = ...,
        data_json: builtins.bytes = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["call_cid", b"call_cid", "data_json", b"data_json", "type", b"type"]) -> None: ...

global___SendCustomEventRequest = SendCustomEventRequest

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

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

global___SendCustomEventResponse = SendCustomEventResponse

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

    CALL_CID_FIELD_NUMBER: builtins.int
    STATS_JSON_FIELD_NUMBER: builtins.int
    call_cid: builtins.str
    """A concatenation of call type and call id with ":" as delimiter"""
    stats_json: builtins.bytes
    """A WebRTC Stats report encoded as a JSON string, as defined in https://www.w3.org/TR/webrtc/#dom-rtcstatsreport"""
    def __init__(
        self,
        *,
        call_cid: builtins.str = ...,
        stats_json: builtins.bytes = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["call_cid", b"call_cid", "stats_json", b"stats_json"]) -> None: ...

global___ReportCallStatsRequest = ReportCallStatsRequest

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

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

global___ReportCallStatsResponse = ReportCallStatsResponse

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

    CALL_CID_FIELD_NUMBER: builtins.int
    TIMESTAMP_FIELD_NUMBER: builtins.int
    MEDIA_STATE_CHANGED_FIELD_NUMBER: builtins.int
    call_cid: builtins.str
    """A concatenation of call type and call id with ":" as delimiter"""
    @property
    def timestamp(self) -> google.protobuf.timestamp_pb2.Timestamp:
        """Event timestamp as RFC3339 string."""
    @property
    def media_state_changed(self) -> video.coordinator.stat_v1.stat_pb2.MediaStateChanged: ...
    def __init__(
        self,
        *,
        call_cid: builtins.str = ...,
        timestamp: google.protobuf.timestamp_pb2.Timestamp | None = ...,
        media_state_changed: video.coordinator.stat_v1.stat_pb2.MediaStateChanged | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["event", b"event", "media_state_changed", b"media_state_changed", "timestamp", b"timestamp"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["call_cid", b"call_cid", "event", b"event", "media_state_changed", b"media_state_changed", "timestamp", b"timestamp"]) -> None: ...
    def WhichOneof(self, oneof_group: typing_extensions.Literal["event", b"event"]) -> typing_extensions.Literal["media_state_changed"] | None: ...

global___ReportCallStatEventRequest = ReportCallStatEventRequest

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

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

global___ReportCallStatEventResponse = ReportCallStatEventResponse

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

    CALL_CID_FIELD_NUMBER: builtins.int
    call_cid: builtins.str
    """A concatenation of call type and call id with ":" as delimiter"""
    def __init__(
        self,
        *,
        call_cid: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["call_cid", b"call_cid"]) -> None: ...

global___GetCallStatsRequest = GetCallStatsRequest

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

    CALL_CID_FIELD_NUMBER: builtins.int
    DESCRIPTION_FIELD_NUMBER: builtins.int
    CUSTOM_JSON_FIELD_NUMBER: builtins.int
    call_cid: builtins.str
    """A concatenation of call type and call id with ":" as delimiter"""
    description: builtins.str
    """Optional description."""
    custom_json: builtins.bytes
    def __init__(
        self,
        *,
        call_cid: builtins.str = ...,
        description: builtins.str = ...,
        custom_json: builtins.bytes = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["call_cid", b"call_cid", "custom_json", b"custom_json", "description", b"description"]) -> None: ...

global___ReportIssueRequest = ReportIssueRequest

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

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

global___ReportIssueResponse = ReportIssueResponse

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

    CALL_CID_FIELD_NUMBER: builtins.int
    STARS_FIELD_NUMBER: builtins.int
    DESCRIPTION_FIELD_NUMBER: builtins.int
    CUSTOM_JSON_FIELD_NUMBER: builtins.int
    call_cid: builtins.str
    """A concatenation of call type and call id with ":" as delimiter"""
    stars: builtins.float
    """Rating between 0 and 5 stars."""
    description: builtins.str
    """Optional description."""
    custom_json: builtins.bytes
    """Optional custom data."""
    def __init__(
        self,
        *,
        call_cid: builtins.str = ...,
        stars: builtins.float = ...,
        description: builtins.str = ...,
        custom_json: builtins.bytes = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["call_cid", b"call_cid", "custom_json", b"custom_json", "description", b"description", "stars", b"stars"]) -> None: ...

global___ReviewCallRequest = ReviewCallRequest

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

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

global___ReviewCallResponse = ReviewCallResponse
