"""
@generated by mypy-protobuf.  Do not edit manually!
isort:skip_file
"""
import builtins
import google.ads.google_ads.v4.proto.enums.affiliate_location_feed_relationship_type_pb2
import google.ads.google_ads.v4.proto.enums.feed_attribute_type_pb2
import google.ads.google_ads.v4.proto.enums.feed_origin_pb2
import google.ads.google_ads.v4.proto.enums.feed_status_pb2
import google.protobuf.descriptor
import google.protobuf.internal.containers
import google.protobuf.internal.enum_type_wrapper
import google.protobuf.message
import google.protobuf.wrappers_pb2
import typing
import typing_extensions

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

class Feed(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    class PlacesLocationFeedData(google.protobuf.message.Message):
        DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
        class OAuthInfo(google.protobuf.message.Message):
            DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
            HTTP_METHOD_FIELD_NUMBER: builtins.int
            HTTP_REQUEST_URL_FIELD_NUMBER: builtins.int
            HTTP_AUTHORIZATION_HEADER_FIELD_NUMBER: builtins.int
            @property
            def http_method(self) -> google.protobuf.wrappers_pb2.StringValue: ...
            @property
            def http_request_url(self) -> google.protobuf.wrappers_pb2.StringValue: ...
            @property
            def http_authorization_header(
                self,
            ) -> google.protobuf.wrappers_pb2.StringValue: ...
            def __init__(
                self,
                *,
                http_method: typing.Optional[
                    google.protobuf.wrappers_pb2.StringValue
                ] = ...,
                http_request_url: typing.Optional[
                    google.protobuf.wrappers_pb2.StringValue
                ] = ...,
                http_authorization_header: typing.Optional[
                    google.protobuf.wrappers_pb2.StringValue
                ] = ...,
            ) -> None: ...
            def HasField(
                self,
                field_name: typing_extensions.Literal[
                    "http_authorization_header",
                    b"http_authorization_header",
                    "http_method",
                    b"http_method",
                    "http_request_url",
                    b"http_request_url",
                ],
            ) -> builtins.bool: ...
            def ClearField(
                self,
                field_name: typing_extensions.Literal[
                    "http_authorization_header",
                    b"http_authorization_header",
                    "http_method",
                    b"http_method",
                    "http_request_url",
                    b"http_request_url",
                ],
            ) -> None: ...
        OAUTH_INFO_FIELD_NUMBER: builtins.int
        EMAIL_ADDRESS_FIELD_NUMBER: builtins.int
        BUSINESS_ACCOUNT_ID_FIELD_NUMBER: builtins.int
        BUSINESS_NAME_FILTER_FIELD_NUMBER: builtins.int
        CATEGORY_FILTERS_FIELD_NUMBER: builtins.int
        LABEL_FILTERS_FIELD_NUMBER: builtins.int
        @property
        def oauth_info(self) -> global___Feed.PlacesLocationFeedData.OAuthInfo: ...
        @property
        def email_address(self) -> google.protobuf.wrappers_pb2.StringValue: ...
        @property
        def business_account_id(self) -> google.protobuf.wrappers_pb2.StringValue: ...
        @property
        def business_name_filter(self) -> google.protobuf.wrappers_pb2.StringValue: ...
        @property
        def category_filters(
            self,
        ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[
            google.protobuf.wrappers_pb2.StringValue
        ]: ...
        @property
        def label_filters(
            self,
        ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[
            google.protobuf.wrappers_pb2.StringValue
        ]: ...
        def __init__(
            self,
            *,
            oauth_info: typing.Optional[
                global___Feed.PlacesLocationFeedData.OAuthInfo
            ] = ...,
            email_address: typing.Optional[
                google.protobuf.wrappers_pb2.StringValue
            ] = ...,
            business_account_id: typing.Optional[
                google.protobuf.wrappers_pb2.StringValue
            ] = ...,
            business_name_filter: typing.Optional[
                google.protobuf.wrappers_pb2.StringValue
            ] = ...,
            category_filters: typing.Optional[
                typing.Iterable[google.protobuf.wrappers_pb2.StringValue]
            ] = ...,
            label_filters: typing.Optional[
                typing.Iterable[google.protobuf.wrappers_pb2.StringValue]
            ] = ...,
        ) -> None: ...
        def HasField(
            self,
            field_name: typing_extensions.Literal[
                "business_account_id",
                b"business_account_id",
                "business_name_filter",
                b"business_name_filter",
                "email_address",
                b"email_address",
                "oauth_info",
                b"oauth_info",
            ],
        ) -> builtins.bool: ...
        def ClearField(
            self,
            field_name: typing_extensions.Literal[
                "business_account_id",
                b"business_account_id",
                "business_name_filter",
                b"business_name_filter",
                "category_filters",
                b"category_filters",
                "email_address",
                b"email_address",
                "label_filters",
                b"label_filters",
                "oauth_info",
                b"oauth_info",
            ],
        ) -> None: ...
    class AffiliateLocationFeedData(google.protobuf.message.Message):
        DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
        CHAIN_IDS_FIELD_NUMBER: builtins.int
        RELATIONSHIP_TYPE_FIELD_NUMBER: builtins.int
        relationship_type: google.ads.google_ads.v4.proto.enums.affiliate_location_feed_relationship_type_pb2.AffiliateLocationFeedRelationshipTypeEnum.AffiliateLocationFeedRelationshipType.V = (
            ...
        )
        @property
        def chain_ids(
            self,
        ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[
            google.protobuf.wrappers_pb2.Int64Value
        ]: ...
        def __init__(
            self,
            *,
            chain_ids: typing.Optional[
                typing.Iterable[google.protobuf.wrappers_pb2.Int64Value]
            ] = ...,
            relationship_type: google.ads.google_ads.v4.proto.enums.affiliate_location_feed_relationship_type_pb2.AffiliateLocationFeedRelationshipTypeEnum.AffiliateLocationFeedRelationshipType.V = ...,
        ) -> None: ...
        def ClearField(
            self,
            field_name: typing_extensions.Literal[
                "chain_ids", b"chain_ids", "relationship_type", b"relationship_type"
            ],
        ) -> None: ...
    RESOURCE_NAME_FIELD_NUMBER: builtins.int
    ID_FIELD_NUMBER: builtins.int
    NAME_FIELD_NUMBER: builtins.int
    ATTRIBUTES_FIELD_NUMBER: builtins.int
    ATTRIBUTE_OPERATIONS_FIELD_NUMBER: builtins.int
    ORIGIN_FIELD_NUMBER: builtins.int
    STATUS_FIELD_NUMBER: builtins.int
    PLACES_LOCATION_FEED_DATA_FIELD_NUMBER: builtins.int
    AFFILIATE_LOCATION_FEED_DATA_FIELD_NUMBER: builtins.int
    resource_name: typing.Text = ...
    origin: google.ads.google_ads.v4.proto.enums.feed_origin_pb2.FeedOriginEnum.FeedOrigin.V = (
        ...
    )
    status: google.ads.google_ads.v4.proto.enums.feed_status_pb2.FeedStatusEnum.FeedStatus.V = (
        ...
    )
    @property
    def id(self) -> google.protobuf.wrappers_pb2.Int64Value: ...
    @property
    def name(self) -> google.protobuf.wrappers_pb2.StringValue: ...
    @property
    def attributes(
        self,
    ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[
        global___FeedAttribute
    ]: ...
    @property
    def attribute_operations(
        self,
    ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[
        global___FeedAttributeOperation
    ]: ...
    @property
    def places_location_feed_data(self) -> global___Feed.PlacesLocationFeedData: ...
    @property
    def affiliate_location_feed_data(
        self,
    ) -> global___Feed.AffiliateLocationFeedData: ...
    def __init__(
        self,
        *,
        resource_name: typing.Text = ...,
        id: typing.Optional[google.protobuf.wrappers_pb2.Int64Value] = ...,
        name: typing.Optional[google.protobuf.wrappers_pb2.StringValue] = ...,
        attributes: typing.Optional[typing.Iterable[global___FeedAttribute]] = ...,
        attribute_operations: typing.Optional[
            typing.Iterable[global___FeedAttributeOperation]
        ] = ...,
        origin: google.ads.google_ads.v4.proto.enums.feed_origin_pb2.FeedOriginEnum.FeedOrigin.V = ...,
        status: google.ads.google_ads.v4.proto.enums.feed_status_pb2.FeedStatusEnum.FeedStatus.V = ...,
        places_location_feed_data: typing.Optional[
            global___Feed.PlacesLocationFeedData
        ] = ...,
        affiliate_location_feed_data: typing.Optional[
            global___Feed.AffiliateLocationFeedData
        ] = ...,
    ) -> None: ...
    def HasField(
        self,
        field_name: typing_extensions.Literal[
            "affiliate_location_feed_data",
            b"affiliate_location_feed_data",
            "id",
            b"id",
            "name",
            b"name",
            "places_location_feed_data",
            b"places_location_feed_data",
            "system_feed_generation_data",
            b"system_feed_generation_data",
        ],
    ) -> builtins.bool: ...
    def ClearField(
        self,
        field_name: typing_extensions.Literal[
            "affiliate_location_feed_data",
            b"affiliate_location_feed_data",
            "attribute_operations",
            b"attribute_operations",
            "attributes",
            b"attributes",
            "id",
            b"id",
            "name",
            b"name",
            "origin",
            b"origin",
            "places_location_feed_data",
            b"places_location_feed_data",
            "resource_name",
            b"resource_name",
            "status",
            b"status",
            "system_feed_generation_data",
            b"system_feed_generation_data",
        ],
    ) -> None: ...
    def WhichOneof(
        self,
        oneof_group: typing_extensions.Literal[
            "system_feed_generation_data", b"system_feed_generation_data"
        ],
    ) -> typing_extensions.Literal[
        "places_location_feed_data", "affiliate_location_feed_data"
    ]: ...

global___Feed = Feed

class FeedAttribute(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    ID_FIELD_NUMBER: builtins.int
    NAME_FIELD_NUMBER: builtins.int
    TYPE_FIELD_NUMBER: builtins.int
    IS_PART_OF_KEY_FIELD_NUMBER: builtins.int
    type: google.ads.google_ads.v4.proto.enums.feed_attribute_type_pb2.FeedAttributeTypeEnum.FeedAttributeType.V = (
        ...
    )
    @property
    def id(self) -> google.protobuf.wrappers_pb2.Int64Value: ...
    @property
    def name(self) -> google.protobuf.wrappers_pb2.StringValue: ...
    @property
    def is_part_of_key(self) -> google.protobuf.wrappers_pb2.BoolValue: ...
    def __init__(
        self,
        *,
        id: typing.Optional[google.protobuf.wrappers_pb2.Int64Value] = ...,
        name: typing.Optional[google.protobuf.wrappers_pb2.StringValue] = ...,
        type: google.ads.google_ads.v4.proto.enums.feed_attribute_type_pb2.FeedAttributeTypeEnum.FeedAttributeType.V = ...,
        is_part_of_key: typing.Optional[google.protobuf.wrappers_pb2.BoolValue] = ...,
    ) -> None: ...
    def HasField(
        self,
        field_name: typing_extensions.Literal[
            "id", b"id", "is_part_of_key", b"is_part_of_key", "name", b"name"
        ],
    ) -> builtins.bool: ...
    def ClearField(
        self,
        field_name: typing_extensions.Literal[
            "id",
            b"id",
            "is_part_of_key",
            b"is_part_of_key",
            "name",
            b"name",
            "type",
            b"type",
        ],
    ) -> None: ...

global___FeedAttribute = FeedAttribute

class FeedAttributeOperation(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    class _Operator(
        google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[Operator.V],
        builtins.type,
    ):
        DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor = ...
        UNSPECIFIED = FeedAttributeOperation.Operator.V(0)
        UNKNOWN = FeedAttributeOperation.Operator.V(1)
        ADD = FeedAttributeOperation.Operator.V(2)
    class Operator(metaclass=_Operator):
        V = typing.NewType("V", builtins.int)
    UNSPECIFIED = FeedAttributeOperation.Operator.V(0)
    UNKNOWN = FeedAttributeOperation.Operator.V(1)
    ADD = FeedAttributeOperation.Operator.V(2)

    OPERATOR_FIELD_NUMBER: builtins.int
    VALUE_FIELD_NUMBER: builtins.int
    operator: global___FeedAttributeOperation.Operator.V = ...
    @property
    def value(self) -> global___FeedAttribute: ...
    def __init__(
        self,
        *,
        operator: global___FeedAttributeOperation.Operator.V = ...,
        value: typing.Optional[global___FeedAttribute] = ...,
    ) -> None: ...
    def HasField(
        self, field_name: typing_extensions.Literal["value", b"value"]
    ) -> builtins.bool: ...
    def ClearField(
        self,
        field_name: typing_extensions.Literal[
            "operator", b"operator", "value", b"value"
        ],
    ) -> None: ...

global___FeedAttributeOperation = FeedAttributeOperation
