"""
@generated by mypy-protobuf.  Do not edit manually!
isort:skip_file
"""
import builtins
import google.protobuf.descriptor
import google.protobuf.message
import google.protobuf.timestamp_pb2
import sys

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

DESCRIPTOR: google.protobuf.descriptor.FileDescriptor

class PushProvider(google.protobuf.message.Message):
    """Keep in sync with stream.config.push.PushProvider"""

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    ID_FIELD_NUMBER: builtins.int
    DISABLED_FIELD_NUMBER: builtins.int
    DISABLED_REASON_FIELD_NUMBER: builtins.int
    CREATED_AT_FIELD_NUMBER: builtins.int
    UPDATED_AT_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
    disabled: builtins.bool
    disabled_reason: builtins.str
    @property
    def created_at(self) -> google.protobuf.timestamp_pb2.Timestamp: ...
    @property
    def updated_at(self) -> google.protobuf.timestamp_pb2.Timestamp: ...
    @property
    def apn(self) -> global___ApnCredentials: ...
    @property
    def firebase(self) -> global___FirebaseCredentials: ...
    @property
    def huawei(self) -> global___HuaweiCredentials: ...
    @property
    def xiaomi(self) -> global___XiaomiCredentials: ...
    def __init__(
        self,
        *,
        id: builtins.str = ...,
        disabled: builtins.bool = ...,
        disabled_reason: builtins.str = ...,
        created_at: google.protobuf.timestamp_pb2.Timestamp | None = ...,
        updated_at: google.protobuf.timestamp_pb2.Timestamp | None = ...,
        apn: global___ApnCredentials | None = ...,
        firebase: global___FirebaseCredentials | None = ...,
        huawei: global___HuaweiCredentials | None = ...,
        xiaomi: global___XiaomiCredentials | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["apn", b"apn", "created_at", b"created_at", "credentials", b"credentials", "firebase", b"firebase", "huawei", b"huawei", "updated_at", b"updated_at", "xiaomi", b"xiaomi"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["apn", b"apn", "created_at", b"created_at", "credentials", b"credentials", "disabled", b"disabled", "disabled_reason", b"disabled_reason", "firebase", b"firebase", "huawei", b"huawei", "id", b"id", "updated_at", b"updated_at", "xiaomi", b"xiaomi"]) -> None: ...
    def WhichOneof(self, oneof_group: typing_extensions.Literal["credentials", b"credentials"]) -> typing_extensions.Literal["apn", "firebase", "huawei", "xiaomi"] | None: ...

global___PushProvider = PushProvider

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

    AUTH_KEY_FIELD_NUMBER: builtins.int
    KEY_ID_FIELD_NUMBER: builtins.int
    APN_TOPIC_FIELD_NUMBER: builtins.int
    TEAM_ID_FIELD_NUMBER: builtins.int
    DEVELOPMENT_FIELD_NUMBER: builtins.int
    auth_key: builtins.str
    key_id: builtins.str
    apn_topic: builtins.str
    team_id: builtins.str
    development: builtins.bool
    def __init__(
        self,
        *,
        auth_key: builtins.str = ...,
        key_id: builtins.str = ...,
        apn_topic: builtins.str = ...,
        team_id: builtins.str = ...,
        development: builtins.bool = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["apn_topic", b"apn_topic", "auth_key", b"auth_key", "development", b"development", "key_id", b"key_id", "team_id", b"team_id"]) -> None: ...

global___ApnCredentials = ApnCredentials

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

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

global___FirebaseCredentials = FirebaseCredentials

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

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

global___HuaweiCredentials = HuaweiCredentials

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

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

global___XiaomiCredentials = XiaomiCredentials

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

    USER_ID_FIELD_NUMBER: builtins.int
    ID_FIELD_NUMBER: builtins.int
    DISABLED_FIELD_NUMBER: builtins.int
    DISABLED_REASON_FIELD_NUMBER: builtins.int
    PUSH_PROVIDER_NAME_FIELD_NUMBER: builtins.int
    CREATED_AT_FIELD_NUMBER: builtins.int
    UPDATED_AT_FIELD_NUMBER: builtins.int
    user_id: builtins.str
    id: builtins.str
    disabled: builtins.bool
    disabled_reason: builtins.str
    push_provider_name: builtins.str
    @property
    def created_at(self) -> google.protobuf.timestamp_pb2.Timestamp: ...
    @property
    def updated_at(self) -> google.protobuf.timestamp_pb2.Timestamp: ...
    def __init__(
        self,
        *,
        user_id: builtins.str = ...,
        id: builtins.str = ...,
        disabled: builtins.bool = ...,
        disabled_reason: builtins.str = ...,
        push_provider_name: builtins.str = ...,
        created_at: google.protobuf.timestamp_pb2.Timestamp | None = ...,
        updated_at: google.protobuf.timestamp_pb2.Timestamp | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["created_at", b"created_at", "updated_at", b"updated_at"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["created_at", b"created_at", "disabled", b"disabled", "disabled_reason", b"disabled_reason", "id", b"id", "push_provider_name", b"push_provider_name", "updated_at", b"updated_at", "user_id", b"user_id"]) -> None: ...

global___Device = Device

class DeviceInput(google.protobuf.message.Message):
    """An object that is used in requests to create or update a device"""

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    ID_FIELD_NUMBER: builtins.int
    PUSH_PROVIDER_ID_FIELD_NUMBER: builtins.int
    id: builtins.str
    """Unique device ID, specific to a provider"""
    push_provider_id: builtins.str
    """Push provider ID, as configured in application push notification settings
    Refers to a set of credentials and templates of one of the supported push providers
    """
    def __init__(
        self,
        *,
        id: builtins.str = ...,
        push_provider_id: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["id", b"id", "push_provider_id", b"push_provider_id"]) -> None: ...

global___DeviceInput = DeviceInput
