from google.protobuf import descriptor_pb2 as _descriptor_pb2
from google.protobuf.internal import containers as _containers
from google.protobuf.internal import enum_type_wrapper as _enum_type_wrapper
from google.protobuf import descriptor as _descriptor
from google.protobuf import message as _message
from collections.abc import Iterable as _Iterable
from typing import ClassVar as _ClassVar, Optional as _Optional, Union as _Union

DESCRIPTOR: _descriptor.FileDescriptor

class AuthType(int, metaclass=_enum_type_wrapper.EnumTypeWrapper):
    __slots__ = ()
    AUTH_TYPE_UNSPECIFIED: _ClassVar[AuthType]
    AUTH_TYPE_API_KEY: _ClassVar[AuthType]
    AUTH_TYPE_SERVICE_ACCOUNT: _ClassVar[AuthType]
    AUTH_TYPE_USER_TOKEN: _ClassVar[AuthType]
AUTH_TYPE_UNSPECIFIED: AuthType
AUTH_TYPE_API_KEY: AuthType
AUTH_TYPE_SERVICE_ACCOUNT: AuthType
AUTH_TYPE_USER_TOKEN: AuthType
AUTH_FIELD_NUMBER: _ClassVar[int]
auth: _descriptor.FieldDescriptor
PROJECT_ID_FIELD_FIELD_NUMBER: _ClassVar[int]
project_id_field: _descriptor.FieldDescriptor
CUSTOMER_ID_FIELD_FIELD_NUMBER: _ClassVar[int]
customer_id_field: _descriptor.FieldDescriptor

class AuthOptions(_message.Message):
    __slots__ = ("auth_types", "scopes")
    AUTH_TYPES_FIELD_NUMBER: _ClassVar[int]
    SCOPES_FIELD_NUMBER: _ClassVar[int]
    auth_types: _containers.RepeatedScalarFieldContainer[AuthType]
    scopes: _containers.RepeatedScalarFieldContainer[str]
    def __init__(self, auth_types: _Optional[_Iterable[_Union[AuthType, str]]] = ..., scopes: _Optional[_Iterable[str]] = ...) -> None: ...
