"""
@generated by mypy-protobuf.  Do not edit manually!
isort:skip_file
"""
import builtins
import google.ads.google_ads.v6.proto.enums.account_link_status_pb2
import google.ads.google_ads.v6.proto.enums.linked_account_type_pb2
import google.ads.google_ads.v6.proto.enums.mobile_app_vendor_pb2
import google.protobuf.descriptor
import google.protobuf.message
import typing
import typing_extensions

DESCRIPTOR: google.protobuf.descriptor.FileDescriptor = ...

class AccountLink(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    RESOURCE_NAME_FIELD_NUMBER: builtins.int
    ACCOUNT_LINK_ID_FIELD_NUMBER: builtins.int
    STATUS_FIELD_NUMBER: builtins.int
    TYPE_FIELD_NUMBER: builtins.int
    THIRD_PARTY_APP_ANALYTICS_FIELD_NUMBER: builtins.int
    DATA_PARTNER_FIELD_NUMBER: builtins.int
    GOOGLE_ADS_FIELD_NUMBER: builtins.int
    resource_name: typing.Text = ...
    account_link_id: builtins.int = ...
    status: google.ads.google_ads.v6.proto.enums.account_link_status_pb2.AccountLinkStatusEnum.AccountLinkStatus.V = (
        ...
    )
    type: google.ads.google_ads.v6.proto.enums.linked_account_type_pb2.LinkedAccountTypeEnum.LinkedAccountType.V = (
        ...
    )
    @property
    def third_party_app_analytics(
        self,
    ) -> global___ThirdPartyAppAnalyticsLinkIdentifier: ...
    @property
    def data_partner(self) -> global___DataPartnerLinkIdentifier: ...
    @property
    def google_ads(self) -> global___GoogleAdsLinkIdentifier: ...
    def __init__(
        self,
        *,
        resource_name: typing.Text = ...,
        account_link_id: builtins.int = ...,
        status: google.ads.google_ads.v6.proto.enums.account_link_status_pb2.AccountLinkStatusEnum.AccountLinkStatus.V = ...,
        type: google.ads.google_ads.v6.proto.enums.linked_account_type_pb2.LinkedAccountTypeEnum.LinkedAccountType.V = ...,
        third_party_app_analytics: typing.Optional[
            global___ThirdPartyAppAnalyticsLinkIdentifier
        ] = ...,
        data_partner: typing.Optional[global___DataPartnerLinkIdentifier] = ...,
        google_ads: typing.Optional[global___GoogleAdsLinkIdentifier] = ...,
    ) -> None: ...
    def HasField(
        self,
        field_name: typing_extensions.Literal[
            "_account_link_id",
            b"_account_link_id",
            "account_link_id",
            b"account_link_id",
            "data_partner",
            b"data_partner",
            "google_ads",
            b"google_ads",
            "linked_account",
            b"linked_account",
            "third_party_app_analytics",
            b"third_party_app_analytics",
        ],
    ) -> builtins.bool: ...
    def ClearField(
        self,
        field_name: typing_extensions.Literal[
            "_account_link_id",
            b"_account_link_id",
            "account_link_id",
            b"account_link_id",
            "data_partner",
            b"data_partner",
            "google_ads",
            b"google_ads",
            "linked_account",
            b"linked_account",
            "resource_name",
            b"resource_name",
            "status",
            b"status",
            "third_party_app_analytics",
            b"third_party_app_analytics",
            "type",
            b"type",
        ],
    ) -> None: ...
    @typing.overload
    def WhichOneof(
        self,
        oneof_group: typing_extensions.Literal["_account_link_id", b"_account_link_id"],
    ) -> typing_extensions.Literal["account_link_id"]: ...
    @typing.overload
    def WhichOneof(
        self,
        oneof_group: typing_extensions.Literal["linked_account", b"linked_account"],
    ) -> typing_extensions.Literal[
        "third_party_app_analytics", "data_partner", "google_ads"
    ]: ...

global___AccountLink = AccountLink

class ThirdPartyAppAnalyticsLinkIdentifier(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    APP_ANALYTICS_PROVIDER_ID_FIELD_NUMBER: builtins.int
    APP_ID_FIELD_NUMBER: builtins.int
    APP_VENDOR_FIELD_NUMBER: builtins.int
    app_analytics_provider_id: builtins.int = ...
    app_id: typing.Text = ...
    app_vendor: google.ads.google_ads.v6.proto.enums.mobile_app_vendor_pb2.MobileAppVendorEnum.MobileAppVendor.V = (
        ...
    )
    def __init__(
        self,
        *,
        app_analytics_provider_id: builtins.int = ...,
        app_id: typing.Text = ...,
        app_vendor: google.ads.google_ads.v6.proto.enums.mobile_app_vendor_pb2.MobileAppVendorEnum.MobileAppVendor.V = ...,
    ) -> None: ...
    def HasField(
        self,
        field_name: typing_extensions.Literal[
            "_app_analytics_provider_id",
            b"_app_analytics_provider_id",
            "_app_id",
            b"_app_id",
            "app_analytics_provider_id",
            b"app_analytics_provider_id",
            "app_id",
            b"app_id",
        ],
    ) -> builtins.bool: ...
    def ClearField(
        self,
        field_name: typing_extensions.Literal[
            "_app_analytics_provider_id",
            b"_app_analytics_provider_id",
            "_app_id",
            b"_app_id",
            "app_analytics_provider_id",
            b"app_analytics_provider_id",
            "app_id",
            b"app_id",
            "app_vendor",
            b"app_vendor",
        ],
    ) -> None: ...
    @typing.overload
    def WhichOneof(
        self,
        oneof_group: typing_extensions.Literal[
            "_app_analytics_provider_id", b"_app_analytics_provider_id"
        ],
    ) -> typing_extensions.Literal["app_analytics_provider_id"]: ...
    @typing.overload
    def WhichOneof(
        self, oneof_group: typing_extensions.Literal["_app_id", b"_app_id"]
    ) -> typing_extensions.Literal["app_id"]: ...

global___ThirdPartyAppAnalyticsLinkIdentifier = ThirdPartyAppAnalyticsLinkIdentifier

class DataPartnerLinkIdentifier(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    DATA_PARTNER_ID_FIELD_NUMBER: builtins.int
    data_partner_id: builtins.int = ...
    def __init__(
        self,
        *,
        data_partner_id: builtins.int = ...,
    ) -> None: ...
    def HasField(
        self,
        field_name: typing_extensions.Literal[
            "_data_partner_id",
            b"_data_partner_id",
            "data_partner_id",
            b"data_partner_id",
        ],
    ) -> builtins.bool: ...
    def ClearField(
        self,
        field_name: typing_extensions.Literal[
            "_data_partner_id",
            b"_data_partner_id",
            "data_partner_id",
            b"data_partner_id",
        ],
    ) -> None: ...
    def WhichOneof(
        self,
        oneof_group: typing_extensions.Literal["_data_partner_id", b"_data_partner_id"],
    ) -> typing_extensions.Literal["data_partner_id"]: ...

global___DataPartnerLinkIdentifier = DataPartnerLinkIdentifier

class GoogleAdsLinkIdentifier(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    CUSTOMER_FIELD_NUMBER: builtins.int
    customer: typing.Text = ...
    def __init__(
        self,
        *,
        customer: typing.Text = ...,
    ) -> None: ...
    def HasField(
        self,
        field_name: typing_extensions.Literal[
            "_customer", b"_customer", "customer", b"customer"
        ],
    ) -> builtins.bool: ...
    def ClearField(
        self,
        field_name: typing_extensions.Literal[
            "_customer", b"_customer", "customer", b"customer"
        ],
    ) -> None: ...
    def WhichOneof(
        self, oneof_group: typing_extensions.Literal["_customer", b"_customer"]
    ) -> typing_extensions.Literal["customer"]: ...

global___GoogleAdsLinkIdentifier = GoogleAdsLinkIdentifier
