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

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

class AdGroupBidModifier(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    RESOURCE_NAME_FIELD_NUMBER: builtins.int
    AD_GROUP_FIELD_NUMBER: builtins.int
    CRITERION_ID_FIELD_NUMBER: builtins.int
    BID_MODIFIER_FIELD_NUMBER: builtins.int
    BASE_AD_GROUP_FIELD_NUMBER: builtins.int
    BID_MODIFIER_SOURCE_FIELD_NUMBER: builtins.int
    HOTEL_DATE_SELECTION_TYPE_FIELD_NUMBER: builtins.int
    HOTEL_ADVANCE_BOOKING_WINDOW_FIELD_NUMBER: builtins.int
    HOTEL_LENGTH_OF_STAY_FIELD_NUMBER: builtins.int
    HOTEL_CHECK_IN_DAY_FIELD_NUMBER: builtins.int
    DEVICE_FIELD_NUMBER: builtins.int
    PREFERRED_CONTENT_FIELD_NUMBER: builtins.int
    resource_name: typing.Text = ...
    ad_group: typing.Text = ...
    criterion_id: builtins.int = ...
    bid_modifier: builtins.float = ...
    base_ad_group: typing.Text = ...
    bid_modifier_source: google.ads.google_ads.v6.proto.enums.bid_modifier_source_pb2.BidModifierSourceEnum.BidModifierSource.V = (
        ...
    )
    @property
    def hotel_date_selection_type(
        self,
    ) -> google.ads.google_ads.v6.proto.common.criteria_pb2.HotelDateSelectionTypeInfo: ...
    @property
    def hotel_advance_booking_window(
        self,
    ) -> google.ads.google_ads.v6.proto.common.criteria_pb2.HotelAdvanceBookingWindowInfo: ...
    @property
    def hotel_length_of_stay(
        self,
    ) -> google.ads.google_ads.v6.proto.common.criteria_pb2.HotelLengthOfStayInfo: ...
    @property
    def hotel_check_in_day(
        self,
    ) -> google.ads.google_ads.v6.proto.common.criteria_pb2.HotelCheckInDayInfo: ...
    @property
    def device(
        self,
    ) -> google.ads.google_ads.v6.proto.common.criteria_pb2.DeviceInfo: ...
    @property
    def preferred_content(
        self,
    ) -> google.ads.google_ads.v6.proto.common.criteria_pb2.PreferredContentInfo: ...
    def __init__(
        self,
        *,
        resource_name: typing.Text = ...,
        ad_group: typing.Text = ...,
        criterion_id: builtins.int = ...,
        bid_modifier: builtins.float = ...,
        base_ad_group: typing.Text = ...,
        bid_modifier_source: google.ads.google_ads.v6.proto.enums.bid_modifier_source_pb2.BidModifierSourceEnum.BidModifierSource.V = ...,
        hotel_date_selection_type: typing.Optional[
            google.ads.google_ads.v6.proto.common.criteria_pb2.HotelDateSelectionTypeInfo
        ] = ...,
        hotel_advance_booking_window: typing.Optional[
            google.ads.google_ads.v6.proto.common.criteria_pb2.HotelAdvanceBookingWindowInfo
        ] = ...,
        hotel_length_of_stay: typing.Optional[
            google.ads.google_ads.v6.proto.common.criteria_pb2.HotelLengthOfStayInfo
        ] = ...,
        hotel_check_in_day: typing.Optional[
            google.ads.google_ads.v6.proto.common.criteria_pb2.HotelCheckInDayInfo
        ] = ...,
        device: typing.Optional[
            google.ads.google_ads.v6.proto.common.criteria_pb2.DeviceInfo
        ] = ...,
        preferred_content: typing.Optional[
            google.ads.google_ads.v6.proto.common.criteria_pb2.PreferredContentInfo
        ] = ...,
    ) -> None: ...
    def HasField(
        self,
        field_name: typing_extensions.Literal[
            "_ad_group",
            b"_ad_group",
            "_base_ad_group",
            b"_base_ad_group",
            "_bid_modifier",
            b"_bid_modifier",
            "_criterion_id",
            b"_criterion_id",
            "ad_group",
            b"ad_group",
            "base_ad_group",
            b"base_ad_group",
            "bid_modifier",
            b"bid_modifier",
            "criterion",
            b"criterion",
            "criterion_id",
            b"criterion_id",
            "device",
            b"device",
            "hotel_advance_booking_window",
            b"hotel_advance_booking_window",
            "hotel_check_in_day",
            b"hotel_check_in_day",
            "hotel_date_selection_type",
            b"hotel_date_selection_type",
            "hotel_length_of_stay",
            b"hotel_length_of_stay",
            "preferred_content",
            b"preferred_content",
        ],
    ) -> builtins.bool: ...
    def ClearField(
        self,
        field_name: typing_extensions.Literal[
            "_ad_group",
            b"_ad_group",
            "_base_ad_group",
            b"_base_ad_group",
            "_bid_modifier",
            b"_bid_modifier",
            "_criterion_id",
            b"_criterion_id",
            "ad_group",
            b"ad_group",
            "base_ad_group",
            b"base_ad_group",
            "bid_modifier",
            b"bid_modifier",
            "bid_modifier_source",
            b"bid_modifier_source",
            "criterion",
            b"criterion",
            "criterion_id",
            b"criterion_id",
            "device",
            b"device",
            "hotel_advance_booking_window",
            b"hotel_advance_booking_window",
            "hotel_check_in_day",
            b"hotel_check_in_day",
            "hotel_date_selection_type",
            b"hotel_date_selection_type",
            "hotel_length_of_stay",
            b"hotel_length_of_stay",
            "preferred_content",
            b"preferred_content",
            "resource_name",
            b"resource_name",
        ],
    ) -> None: ...
    @typing.overload
    def WhichOneof(
        self, oneof_group: typing_extensions.Literal["_ad_group", b"_ad_group"]
    ) -> typing_extensions.Literal["ad_group"]: ...
    @typing.overload
    def WhichOneof(
        self,
        oneof_group: typing_extensions.Literal["_base_ad_group", b"_base_ad_group"],
    ) -> typing_extensions.Literal["base_ad_group"]: ...
    @typing.overload
    def WhichOneof(
        self, oneof_group: typing_extensions.Literal["_bid_modifier", b"_bid_modifier"]
    ) -> typing_extensions.Literal["bid_modifier"]: ...
    @typing.overload
    def WhichOneof(
        self, oneof_group: typing_extensions.Literal["_criterion_id", b"_criterion_id"]
    ) -> typing_extensions.Literal["criterion_id"]: ...
    @typing.overload
    def WhichOneof(
        self, oneof_group: typing_extensions.Literal["criterion", b"criterion"]
    ) -> typing_extensions.Literal[
        "hotel_date_selection_type",
        "hotel_advance_booking_window",
        "hotel_length_of_stay",
        "hotel_check_in_day",
        "device",
        "preferred_content",
    ]: ...

global___AdGroupBidModifier = AdGroupBidModifier
