"""
@generated by mypy-protobuf.  Do not edit manually!
isort:skip_file
"""
import builtins
import google.ads.google_ads.v5.proto.enums.customer_match_upload_key_type_pb2
import google.ads.google_ads.v5.proto.enums.user_list_combined_rule_operator_pb2
import google.ads.google_ads.v5.proto.enums.user_list_crm_data_source_type_pb2
import google.ads.google_ads.v5.proto.enums.user_list_date_rule_item_operator_pb2
import google.ads.google_ads.v5.proto.enums.user_list_logical_rule_operator_pb2
import google.ads.google_ads.v5.proto.enums.user_list_number_rule_item_operator_pb2
import google.ads.google_ads.v5.proto.enums.user_list_prepopulation_status_pb2
import google.ads.google_ads.v5.proto.enums.user_list_rule_type_pb2
import google.ads.google_ads.v5.proto.enums.user_list_string_rule_item_operator_pb2
import google.protobuf.descriptor
import google.protobuf.internal.containers
import google.protobuf.message
import google.protobuf.wrappers_pb2
import typing
import typing_extensions

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

class SimilarUserListInfo(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    SEED_USER_LIST_FIELD_NUMBER: builtins.int
    @property
    def seed_user_list(self) -> google.protobuf.wrappers_pb2.StringValue: ...
    def __init__(
        self,
        *,
        seed_user_list: typing.Optional[google.protobuf.wrappers_pb2.StringValue] = ...,
    ) -> None: ...
    def HasField(
        self, field_name: typing_extensions.Literal["seed_user_list", b"seed_user_list"]
    ) -> builtins.bool: ...
    def ClearField(
        self, field_name: typing_extensions.Literal["seed_user_list", b"seed_user_list"]
    ) -> None: ...

global___SimilarUserListInfo = SimilarUserListInfo

class CrmBasedUserListInfo(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    APP_ID_FIELD_NUMBER: builtins.int
    UPLOAD_KEY_TYPE_FIELD_NUMBER: builtins.int
    DATA_SOURCE_TYPE_FIELD_NUMBER: builtins.int
    upload_key_type: google.ads.google_ads.v5.proto.enums.customer_match_upload_key_type_pb2.CustomerMatchUploadKeyTypeEnum.CustomerMatchUploadKeyType.V = (
        ...
    )
    data_source_type: google.ads.google_ads.v5.proto.enums.user_list_crm_data_source_type_pb2.UserListCrmDataSourceTypeEnum.UserListCrmDataSourceType.V = (
        ...
    )
    @property
    def app_id(self) -> google.protobuf.wrappers_pb2.StringValue: ...
    def __init__(
        self,
        *,
        app_id: typing.Optional[google.protobuf.wrappers_pb2.StringValue] = ...,
        upload_key_type: google.ads.google_ads.v5.proto.enums.customer_match_upload_key_type_pb2.CustomerMatchUploadKeyTypeEnum.CustomerMatchUploadKeyType.V = ...,
        data_source_type: google.ads.google_ads.v5.proto.enums.user_list_crm_data_source_type_pb2.UserListCrmDataSourceTypeEnum.UserListCrmDataSourceType.V = ...,
    ) -> None: ...
    def HasField(
        self, field_name: typing_extensions.Literal["app_id", b"app_id"]
    ) -> builtins.bool: ...
    def ClearField(
        self,
        field_name: typing_extensions.Literal[
            "app_id",
            b"app_id",
            "data_source_type",
            b"data_source_type",
            "upload_key_type",
            b"upload_key_type",
        ],
    ) -> None: ...

global___CrmBasedUserListInfo = CrmBasedUserListInfo

class UserListRuleInfo(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    RULE_TYPE_FIELD_NUMBER: builtins.int
    RULE_ITEM_GROUPS_FIELD_NUMBER: builtins.int
    rule_type: google.ads.google_ads.v5.proto.enums.user_list_rule_type_pb2.UserListRuleTypeEnum.UserListRuleType.V = (
        ...
    )
    @property
    def rule_item_groups(
        self,
    ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[
        global___UserListRuleItemGroupInfo
    ]: ...
    def __init__(
        self,
        *,
        rule_type: google.ads.google_ads.v5.proto.enums.user_list_rule_type_pb2.UserListRuleTypeEnum.UserListRuleType.V = ...,
        rule_item_groups: typing.Optional[
            typing.Iterable[global___UserListRuleItemGroupInfo]
        ] = ...,
    ) -> None: ...
    def ClearField(
        self,
        field_name: typing_extensions.Literal[
            "rule_item_groups", b"rule_item_groups", "rule_type", b"rule_type"
        ],
    ) -> None: ...

global___UserListRuleInfo = UserListRuleInfo

class UserListRuleItemGroupInfo(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    RULE_ITEMS_FIELD_NUMBER: builtins.int
    @property
    def rule_items(
        self,
    ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[
        global___UserListRuleItemInfo
    ]: ...
    def __init__(
        self,
        *,
        rule_items: typing.Optional[
            typing.Iterable[global___UserListRuleItemInfo]
        ] = ...,
    ) -> None: ...
    def ClearField(
        self, field_name: typing_extensions.Literal["rule_items", b"rule_items"]
    ) -> None: ...

global___UserListRuleItemGroupInfo = UserListRuleItemGroupInfo

class UserListRuleItemInfo(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    NAME_FIELD_NUMBER: builtins.int
    NUMBER_RULE_ITEM_FIELD_NUMBER: builtins.int
    STRING_RULE_ITEM_FIELD_NUMBER: builtins.int
    DATE_RULE_ITEM_FIELD_NUMBER: builtins.int
    @property
    def name(self) -> google.protobuf.wrappers_pb2.StringValue: ...
    @property
    def number_rule_item(self) -> global___UserListNumberRuleItemInfo: ...
    @property
    def string_rule_item(self) -> global___UserListStringRuleItemInfo: ...
    @property
    def date_rule_item(self) -> global___UserListDateRuleItemInfo: ...
    def __init__(
        self,
        *,
        name: typing.Optional[google.protobuf.wrappers_pb2.StringValue] = ...,
        number_rule_item: typing.Optional[global___UserListNumberRuleItemInfo] = ...,
        string_rule_item: typing.Optional[global___UserListStringRuleItemInfo] = ...,
        date_rule_item: typing.Optional[global___UserListDateRuleItemInfo] = ...,
    ) -> None: ...
    def HasField(
        self,
        field_name: typing_extensions.Literal[
            "date_rule_item",
            b"date_rule_item",
            "name",
            b"name",
            "number_rule_item",
            b"number_rule_item",
            "rule_item",
            b"rule_item",
            "string_rule_item",
            b"string_rule_item",
        ],
    ) -> builtins.bool: ...
    def ClearField(
        self,
        field_name: typing_extensions.Literal[
            "date_rule_item",
            b"date_rule_item",
            "name",
            b"name",
            "number_rule_item",
            b"number_rule_item",
            "rule_item",
            b"rule_item",
            "string_rule_item",
            b"string_rule_item",
        ],
    ) -> None: ...
    def WhichOneof(
        self, oneof_group: typing_extensions.Literal["rule_item", b"rule_item"]
    ) -> typing_extensions.Literal[
        "number_rule_item", "string_rule_item", "date_rule_item"
    ]: ...

global___UserListRuleItemInfo = UserListRuleItemInfo

class UserListDateRuleItemInfo(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    OPERATOR_FIELD_NUMBER: builtins.int
    VALUE_FIELD_NUMBER: builtins.int
    OFFSET_IN_DAYS_FIELD_NUMBER: builtins.int
    operator: google.ads.google_ads.v5.proto.enums.user_list_date_rule_item_operator_pb2.UserListDateRuleItemOperatorEnum.UserListDateRuleItemOperator.V = (
        ...
    )
    @property
    def value(self) -> google.protobuf.wrappers_pb2.StringValue: ...
    @property
    def offset_in_days(self) -> google.protobuf.wrappers_pb2.Int64Value: ...
    def __init__(
        self,
        *,
        operator: google.ads.google_ads.v5.proto.enums.user_list_date_rule_item_operator_pb2.UserListDateRuleItemOperatorEnum.UserListDateRuleItemOperator.V = ...,
        value: typing.Optional[google.protobuf.wrappers_pb2.StringValue] = ...,
        offset_in_days: typing.Optional[google.protobuf.wrappers_pb2.Int64Value] = ...,
    ) -> None: ...
    def HasField(
        self,
        field_name: typing_extensions.Literal[
            "offset_in_days", b"offset_in_days", "value", b"value"
        ],
    ) -> builtins.bool: ...
    def ClearField(
        self,
        field_name: typing_extensions.Literal[
            "offset_in_days",
            b"offset_in_days",
            "operator",
            b"operator",
            "value",
            b"value",
        ],
    ) -> None: ...

global___UserListDateRuleItemInfo = UserListDateRuleItemInfo

class UserListNumberRuleItemInfo(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    OPERATOR_FIELD_NUMBER: builtins.int
    VALUE_FIELD_NUMBER: builtins.int
    operator: google.ads.google_ads.v5.proto.enums.user_list_number_rule_item_operator_pb2.UserListNumberRuleItemOperatorEnum.UserListNumberRuleItemOperator.V = (
        ...
    )
    @property
    def value(self) -> google.protobuf.wrappers_pb2.DoubleValue: ...
    def __init__(
        self,
        *,
        operator: google.ads.google_ads.v5.proto.enums.user_list_number_rule_item_operator_pb2.UserListNumberRuleItemOperatorEnum.UserListNumberRuleItemOperator.V = ...,
        value: typing.Optional[google.protobuf.wrappers_pb2.DoubleValue] = ...,
    ) -> 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___UserListNumberRuleItemInfo = UserListNumberRuleItemInfo

class UserListStringRuleItemInfo(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    OPERATOR_FIELD_NUMBER: builtins.int
    VALUE_FIELD_NUMBER: builtins.int
    operator: google.ads.google_ads.v5.proto.enums.user_list_string_rule_item_operator_pb2.UserListStringRuleItemOperatorEnum.UserListStringRuleItemOperator.V = (
        ...
    )
    @property
    def value(self) -> google.protobuf.wrappers_pb2.StringValue: ...
    def __init__(
        self,
        *,
        operator: google.ads.google_ads.v5.proto.enums.user_list_string_rule_item_operator_pb2.UserListStringRuleItemOperatorEnum.UserListStringRuleItemOperator.V = ...,
        value: typing.Optional[google.protobuf.wrappers_pb2.StringValue] = ...,
    ) -> 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___UserListStringRuleItemInfo = UserListStringRuleItemInfo

class CombinedRuleUserListInfo(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    LEFT_OPERAND_FIELD_NUMBER: builtins.int
    RIGHT_OPERAND_FIELD_NUMBER: builtins.int
    RULE_OPERATOR_FIELD_NUMBER: builtins.int
    rule_operator: google.ads.google_ads.v5.proto.enums.user_list_combined_rule_operator_pb2.UserListCombinedRuleOperatorEnum.UserListCombinedRuleOperator.V = (
        ...
    )
    @property
    def left_operand(self) -> global___UserListRuleInfo: ...
    @property
    def right_operand(self) -> global___UserListRuleInfo: ...
    def __init__(
        self,
        *,
        left_operand: typing.Optional[global___UserListRuleInfo] = ...,
        right_operand: typing.Optional[global___UserListRuleInfo] = ...,
        rule_operator: google.ads.google_ads.v5.proto.enums.user_list_combined_rule_operator_pb2.UserListCombinedRuleOperatorEnum.UserListCombinedRuleOperator.V = ...,
    ) -> None: ...
    def HasField(
        self,
        field_name: typing_extensions.Literal[
            "left_operand", b"left_operand", "right_operand", b"right_operand"
        ],
    ) -> builtins.bool: ...
    def ClearField(
        self,
        field_name: typing_extensions.Literal[
            "left_operand",
            b"left_operand",
            "right_operand",
            b"right_operand",
            "rule_operator",
            b"rule_operator",
        ],
    ) -> None: ...

global___CombinedRuleUserListInfo = CombinedRuleUserListInfo

class DateSpecificRuleUserListInfo(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    RULE_FIELD_NUMBER: builtins.int
    START_DATE_FIELD_NUMBER: builtins.int
    END_DATE_FIELD_NUMBER: builtins.int
    @property
    def rule(self) -> global___UserListRuleInfo: ...
    @property
    def start_date(self) -> google.protobuf.wrappers_pb2.StringValue: ...
    @property
    def end_date(self) -> google.protobuf.wrappers_pb2.StringValue: ...
    def __init__(
        self,
        *,
        rule: typing.Optional[global___UserListRuleInfo] = ...,
        start_date: typing.Optional[google.protobuf.wrappers_pb2.StringValue] = ...,
        end_date: typing.Optional[google.protobuf.wrappers_pb2.StringValue] = ...,
    ) -> None: ...
    def HasField(
        self,
        field_name: typing_extensions.Literal[
            "end_date", b"end_date", "rule", b"rule", "start_date", b"start_date"
        ],
    ) -> builtins.bool: ...
    def ClearField(
        self,
        field_name: typing_extensions.Literal[
            "end_date", b"end_date", "rule", b"rule", "start_date", b"start_date"
        ],
    ) -> None: ...

global___DateSpecificRuleUserListInfo = DateSpecificRuleUserListInfo

class ExpressionRuleUserListInfo(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    RULE_FIELD_NUMBER: builtins.int
    @property
    def rule(self) -> global___UserListRuleInfo: ...
    def __init__(
        self,
        *,
        rule: typing.Optional[global___UserListRuleInfo] = ...,
    ) -> None: ...
    def HasField(
        self, field_name: typing_extensions.Literal["rule", b"rule"]
    ) -> builtins.bool: ...
    def ClearField(
        self, field_name: typing_extensions.Literal["rule", b"rule"]
    ) -> None: ...

global___ExpressionRuleUserListInfo = ExpressionRuleUserListInfo

class RuleBasedUserListInfo(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    PREPOPULATION_STATUS_FIELD_NUMBER: builtins.int
    COMBINED_RULE_USER_LIST_FIELD_NUMBER: builtins.int
    DATE_SPECIFIC_RULE_USER_LIST_FIELD_NUMBER: builtins.int
    EXPRESSION_RULE_USER_LIST_FIELD_NUMBER: builtins.int
    prepopulation_status: google.ads.google_ads.v5.proto.enums.user_list_prepopulation_status_pb2.UserListPrepopulationStatusEnum.UserListPrepopulationStatus.V = (
        ...
    )
    @property
    def combined_rule_user_list(self) -> global___CombinedRuleUserListInfo: ...
    @property
    def date_specific_rule_user_list(self) -> global___DateSpecificRuleUserListInfo: ...
    @property
    def expression_rule_user_list(self) -> global___ExpressionRuleUserListInfo: ...
    def __init__(
        self,
        *,
        prepopulation_status: google.ads.google_ads.v5.proto.enums.user_list_prepopulation_status_pb2.UserListPrepopulationStatusEnum.UserListPrepopulationStatus.V = ...,
        combined_rule_user_list: typing.Optional[
            global___CombinedRuleUserListInfo
        ] = ...,
        date_specific_rule_user_list: typing.Optional[
            global___DateSpecificRuleUserListInfo
        ] = ...,
        expression_rule_user_list: typing.Optional[
            global___ExpressionRuleUserListInfo
        ] = ...,
    ) -> None: ...
    def HasField(
        self,
        field_name: typing_extensions.Literal[
            "combined_rule_user_list",
            b"combined_rule_user_list",
            "date_specific_rule_user_list",
            b"date_specific_rule_user_list",
            "expression_rule_user_list",
            b"expression_rule_user_list",
            "rule_based_user_list",
            b"rule_based_user_list",
        ],
    ) -> builtins.bool: ...
    def ClearField(
        self,
        field_name: typing_extensions.Literal[
            "combined_rule_user_list",
            b"combined_rule_user_list",
            "date_specific_rule_user_list",
            b"date_specific_rule_user_list",
            "expression_rule_user_list",
            b"expression_rule_user_list",
            "prepopulation_status",
            b"prepopulation_status",
            "rule_based_user_list",
            b"rule_based_user_list",
        ],
    ) -> None: ...
    def WhichOneof(
        self,
        oneof_group: typing_extensions.Literal[
            "rule_based_user_list", b"rule_based_user_list"
        ],
    ) -> typing_extensions.Literal[
        "combined_rule_user_list",
        "date_specific_rule_user_list",
        "expression_rule_user_list",
    ]: ...

global___RuleBasedUserListInfo = RuleBasedUserListInfo

class LogicalUserListInfo(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    RULES_FIELD_NUMBER: builtins.int
    @property
    def rules(
        self,
    ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[
        global___UserListLogicalRuleInfo
    ]: ...
    def __init__(
        self,
        *,
        rules: typing.Optional[typing.Iterable[global___UserListLogicalRuleInfo]] = ...,
    ) -> None: ...
    def ClearField(
        self, field_name: typing_extensions.Literal["rules", b"rules"]
    ) -> None: ...

global___LogicalUserListInfo = LogicalUserListInfo

class UserListLogicalRuleInfo(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    OPERATOR_FIELD_NUMBER: builtins.int
    RULE_OPERANDS_FIELD_NUMBER: builtins.int
    operator: google.ads.google_ads.v5.proto.enums.user_list_logical_rule_operator_pb2.UserListLogicalRuleOperatorEnum.UserListLogicalRuleOperator.V = (
        ...
    )
    @property
    def rule_operands(
        self,
    ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[
        global___LogicalUserListOperandInfo
    ]: ...
    def __init__(
        self,
        *,
        operator: google.ads.google_ads.v5.proto.enums.user_list_logical_rule_operator_pb2.UserListLogicalRuleOperatorEnum.UserListLogicalRuleOperator.V = ...,
        rule_operands: typing.Optional[
            typing.Iterable[global___LogicalUserListOperandInfo]
        ] = ...,
    ) -> None: ...
    def ClearField(
        self,
        field_name: typing_extensions.Literal[
            "operator", b"operator", "rule_operands", b"rule_operands"
        ],
    ) -> None: ...

global___UserListLogicalRuleInfo = UserListLogicalRuleInfo

class LogicalUserListOperandInfo(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    USER_LIST_FIELD_NUMBER: builtins.int
    @property
    def user_list(self) -> google.protobuf.wrappers_pb2.StringValue: ...
    def __init__(
        self,
        *,
        user_list: typing.Optional[google.protobuf.wrappers_pb2.StringValue] = ...,
    ) -> None: ...
    def HasField(
        self, field_name: typing_extensions.Literal["user_list", b"user_list"]
    ) -> builtins.bool: ...
    def ClearField(
        self, field_name: typing_extensions.Literal["user_list", b"user_list"]
    ) -> None: ...

global___LogicalUserListOperandInfo = LogicalUserListOperandInfo

class BasicUserListInfo(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    ACTIONS_FIELD_NUMBER: builtins.int
    @property
    def actions(
        self,
    ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[
        global___UserListActionInfo
    ]: ...
    def __init__(
        self,
        *,
        actions: typing.Optional[typing.Iterable[global___UserListActionInfo]] = ...,
    ) -> None: ...
    def ClearField(
        self, field_name: typing_extensions.Literal["actions", b"actions"]
    ) -> None: ...

global___BasicUserListInfo = BasicUserListInfo

class UserListActionInfo(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    CONVERSION_ACTION_FIELD_NUMBER: builtins.int
    REMARKETING_ACTION_FIELD_NUMBER: builtins.int
    @property
    def conversion_action(self) -> google.protobuf.wrappers_pb2.StringValue: ...
    @property
    def remarketing_action(self) -> google.protobuf.wrappers_pb2.StringValue: ...
    def __init__(
        self,
        *,
        conversion_action: typing.Optional[
            google.protobuf.wrappers_pb2.StringValue
        ] = ...,
        remarketing_action: typing.Optional[
            google.protobuf.wrappers_pb2.StringValue
        ] = ...,
    ) -> None: ...
    def HasField(
        self,
        field_name: typing_extensions.Literal[
            "conversion_action",
            b"conversion_action",
            "remarketing_action",
            b"remarketing_action",
            "user_list_action",
            b"user_list_action",
        ],
    ) -> builtins.bool: ...
    def ClearField(
        self,
        field_name: typing_extensions.Literal[
            "conversion_action",
            b"conversion_action",
            "remarketing_action",
            b"remarketing_action",
            "user_list_action",
            b"user_list_action",
        ],
    ) -> None: ...
    def WhichOneof(
        self,
        oneof_group: typing_extensions.Literal["user_list_action", b"user_list_action"],
    ) -> typing_extensions.Literal["conversion_action", "remarketing_action"]: ...

global___UserListActionInfo = UserListActionInfo
