"""
@generated by mypy-protobuf.  Do not edit manually!
isort:skip_file
"""
import builtins
import google.ads.google_ads.v4.proto.common.criteria_pb2
import google.ads.google_ads.v4.proto.enums.frequency_cap_time_unit_pb2
import google.ads.google_ads.v4.proto.enums.reach_plan_ad_length_pb2
import google.ads.google_ads.v4.proto.enums.reach_plan_age_range_pb2
import google.ads.google_ads.v4.proto.enums.reach_plan_network_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 ListPlannableLocationsRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    def __init__(
        self,
    ) -> None: ...

global___ListPlannableLocationsRequest = ListPlannableLocationsRequest

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

global___ListPlannableLocationsResponse = ListPlannableLocationsResponse

class PlannableLocation(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    ID_FIELD_NUMBER: builtins.int
    NAME_FIELD_NUMBER: builtins.int
    PARENT_COUNTRY_ID_FIELD_NUMBER: builtins.int
    @property
    def id(self) -> google.protobuf.wrappers_pb2.StringValue: ...
    @property
    def name(self) -> google.protobuf.wrappers_pb2.StringValue: ...
    @property
    def parent_country_id(self) -> google.protobuf.wrappers_pb2.Int64Value: ...
    def __init__(
        self,
        *,
        id: typing.Optional[google.protobuf.wrappers_pb2.StringValue] = ...,
        name: typing.Optional[google.protobuf.wrappers_pb2.StringValue] = ...,
        parent_country_id: typing.Optional[
            google.protobuf.wrappers_pb2.Int64Value
        ] = ...,
    ) -> None: ...
    def HasField(
        self,
        field_name: typing_extensions.Literal[
            "id", b"id", "name", b"name", "parent_country_id", b"parent_country_id"
        ],
    ) -> builtins.bool: ...
    def ClearField(
        self,
        field_name: typing_extensions.Literal[
            "id", b"id", "name", b"name", "parent_country_id", b"parent_country_id"
        ],
    ) -> None: ...

global___PlannableLocation = PlannableLocation

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

global___ListPlannableProductsRequest = ListPlannableProductsRequest

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

global___ListPlannableProductsResponse = ListPlannableProductsResponse

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

global___ProductMetadata = ProductMetadata

class PlannableTargeting(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    AGE_RANGES_FIELD_NUMBER: builtins.int
    GENDERS_FIELD_NUMBER: builtins.int
    DEVICES_FIELD_NUMBER: builtins.int
    NETWORKS_FIELD_NUMBER: builtins.int
    age_ranges: google.protobuf.internal.containers.RepeatedScalarFieldContainer[
        google.ads.google_ads.v4.proto.enums.reach_plan_age_range_pb2.ReachPlanAgeRangeEnum.ReachPlanAgeRange.V
    ] = ...
    networks: google.protobuf.internal.containers.RepeatedScalarFieldContainer[
        google.ads.google_ads.v4.proto.enums.reach_plan_network_pb2.ReachPlanNetworkEnum.ReachPlanNetwork.V
    ] = ...
    @property
    def genders(
        self,
    ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[
        google.ads.google_ads.v4.proto.common.criteria_pb2.GenderInfo
    ]: ...
    @property
    def devices(
        self,
    ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[
        google.ads.google_ads.v4.proto.common.criteria_pb2.DeviceInfo
    ]: ...
    def __init__(
        self,
        *,
        age_ranges: typing.Optional[
            typing.Iterable[
                google.ads.google_ads.v4.proto.enums.reach_plan_age_range_pb2.ReachPlanAgeRangeEnum.ReachPlanAgeRange.V
            ]
        ] = ...,
        genders: typing.Optional[
            typing.Iterable[
                google.ads.google_ads.v4.proto.common.criteria_pb2.GenderInfo
            ]
        ] = ...,
        devices: typing.Optional[
            typing.Iterable[
                google.ads.google_ads.v4.proto.common.criteria_pb2.DeviceInfo
            ]
        ] = ...,
        networks: typing.Optional[
            typing.Iterable[
                google.ads.google_ads.v4.proto.enums.reach_plan_network_pb2.ReachPlanNetworkEnum.ReachPlanNetwork.V
            ]
        ] = ...,
    ) -> None: ...
    def ClearField(
        self,
        field_name: typing_extensions.Literal[
            "age_ranges",
            b"age_ranges",
            "devices",
            b"devices",
            "genders",
            b"genders",
            "networks",
            b"networks",
        ],
    ) -> None: ...

global___PlannableTargeting = PlannableTargeting

class GenerateProductMixIdeasRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    CUSTOMER_ID_FIELD_NUMBER: builtins.int
    PLANNABLE_LOCATION_ID_FIELD_NUMBER: builtins.int
    CURRENCY_CODE_FIELD_NUMBER: builtins.int
    BUDGET_MICROS_FIELD_NUMBER: builtins.int
    PREFERENCES_FIELD_NUMBER: builtins.int
    customer_id: typing.Text = ...
    @property
    def plannable_location_id(self) -> google.protobuf.wrappers_pb2.StringValue: ...
    @property
    def currency_code(self) -> google.protobuf.wrappers_pb2.StringValue: ...
    @property
    def budget_micros(self) -> google.protobuf.wrappers_pb2.Int64Value: ...
    @property
    def preferences(self) -> global___Preferences: ...
    def __init__(
        self,
        *,
        customer_id: typing.Text = ...,
        plannable_location_id: typing.Optional[
            google.protobuf.wrappers_pb2.StringValue
        ] = ...,
        currency_code: typing.Optional[google.protobuf.wrappers_pb2.StringValue] = ...,
        budget_micros: typing.Optional[google.protobuf.wrappers_pb2.Int64Value] = ...,
        preferences: typing.Optional[global___Preferences] = ...,
    ) -> None: ...
    def HasField(
        self,
        field_name: typing_extensions.Literal[
            "budget_micros",
            b"budget_micros",
            "currency_code",
            b"currency_code",
            "plannable_location_id",
            b"plannable_location_id",
            "preferences",
            b"preferences",
        ],
    ) -> builtins.bool: ...
    def ClearField(
        self,
        field_name: typing_extensions.Literal[
            "budget_micros",
            b"budget_micros",
            "currency_code",
            b"currency_code",
            "customer_id",
            b"customer_id",
            "plannable_location_id",
            b"plannable_location_id",
            "preferences",
            b"preferences",
        ],
    ) -> None: ...

global___GenerateProductMixIdeasRequest = GenerateProductMixIdeasRequest

class Preferences(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    IS_SKIPPABLE_FIELD_NUMBER: builtins.int
    STARTS_WITH_SOUND_FIELD_NUMBER: builtins.int
    AD_LENGTH_FIELD_NUMBER: builtins.int
    TOP_CONTENT_ONLY_FIELD_NUMBER: builtins.int
    HAS_GUARANTEED_PRICE_FIELD_NUMBER: builtins.int
    ad_length: google.ads.google_ads.v4.proto.enums.reach_plan_ad_length_pb2.ReachPlanAdLengthEnum.ReachPlanAdLength.V = (
        ...
    )
    @property
    def is_skippable(self) -> google.protobuf.wrappers_pb2.BoolValue: ...
    @property
    def starts_with_sound(self) -> google.protobuf.wrappers_pb2.BoolValue: ...
    @property
    def top_content_only(self) -> google.protobuf.wrappers_pb2.BoolValue: ...
    @property
    def has_guaranteed_price(self) -> google.protobuf.wrappers_pb2.BoolValue: ...
    def __init__(
        self,
        *,
        is_skippable: typing.Optional[google.protobuf.wrappers_pb2.BoolValue] = ...,
        starts_with_sound: typing.Optional[
            google.protobuf.wrappers_pb2.BoolValue
        ] = ...,
        ad_length: google.ads.google_ads.v4.proto.enums.reach_plan_ad_length_pb2.ReachPlanAdLengthEnum.ReachPlanAdLength.V = ...,
        top_content_only: typing.Optional[google.protobuf.wrappers_pb2.BoolValue] = ...,
        has_guaranteed_price: typing.Optional[
            google.protobuf.wrappers_pb2.BoolValue
        ] = ...,
    ) -> None: ...
    def HasField(
        self,
        field_name: typing_extensions.Literal[
            "has_guaranteed_price",
            b"has_guaranteed_price",
            "is_skippable",
            b"is_skippable",
            "starts_with_sound",
            b"starts_with_sound",
            "top_content_only",
            b"top_content_only",
        ],
    ) -> builtins.bool: ...
    def ClearField(
        self,
        field_name: typing_extensions.Literal[
            "ad_length",
            b"ad_length",
            "has_guaranteed_price",
            b"has_guaranteed_price",
            "is_skippable",
            b"is_skippable",
            "starts_with_sound",
            b"starts_with_sound",
            "top_content_only",
            b"top_content_only",
        ],
    ) -> None: ...

global___Preferences = Preferences

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

global___GenerateProductMixIdeasResponse = GenerateProductMixIdeasResponse

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

global___ProductAllocation = ProductAllocation

class GenerateReachForecastRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    CUSTOMER_ID_FIELD_NUMBER: builtins.int
    CURRENCY_CODE_FIELD_NUMBER: builtins.int
    CAMPAIGN_DURATION_FIELD_NUMBER: builtins.int
    COOKIE_FREQUENCY_CAP_FIELD_NUMBER: builtins.int
    COOKIE_FREQUENCY_CAP_SETTING_FIELD_NUMBER: builtins.int
    MIN_EFFECTIVE_FREQUENCY_FIELD_NUMBER: builtins.int
    TARGETING_FIELD_NUMBER: builtins.int
    PLANNED_PRODUCTS_FIELD_NUMBER: builtins.int
    customer_id: typing.Text = ...
    @property
    def currency_code(self) -> google.protobuf.wrappers_pb2.StringValue: ...
    @property
    def campaign_duration(self) -> global___CampaignDuration: ...
    @property
    def cookie_frequency_cap(self) -> google.protobuf.wrappers_pb2.Int32Value: ...
    @property
    def cookie_frequency_cap_setting(self) -> global___FrequencyCap: ...
    @property
    def min_effective_frequency(self) -> google.protobuf.wrappers_pb2.Int32Value: ...
    @property
    def targeting(self) -> global___Targeting: ...
    @property
    def planned_products(
        self,
    ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[
        global___PlannedProduct
    ]: ...
    def __init__(
        self,
        *,
        customer_id: typing.Text = ...,
        currency_code: typing.Optional[google.protobuf.wrappers_pb2.StringValue] = ...,
        campaign_duration: typing.Optional[global___CampaignDuration] = ...,
        cookie_frequency_cap: typing.Optional[
            google.protobuf.wrappers_pb2.Int32Value
        ] = ...,
        cookie_frequency_cap_setting: typing.Optional[global___FrequencyCap] = ...,
        min_effective_frequency: typing.Optional[
            google.protobuf.wrappers_pb2.Int32Value
        ] = ...,
        targeting: typing.Optional[global___Targeting] = ...,
        planned_products: typing.Optional[
            typing.Iterable[global___PlannedProduct]
        ] = ...,
    ) -> None: ...
    def HasField(
        self,
        field_name: typing_extensions.Literal[
            "campaign_duration",
            b"campaign_duration",
            "cookie_frequency_cap",
            b"cookie_frequency_cap",
            "cookie_frequency_cap_setting",
            b"cookie_frequency_cap_setting",
            "currency_code",
            b"currency_code",
            "min_effective_frequency",
            b"min_effective_frequency",
            "targeting",
            b"targeting",
        ],
    ) -> builtins.bool: ...
    def ClearField(
        self,
        field_name: typing_extensions.Literal[
            "campaign_duration",
            b"campaign_duration",
            "cookie_frequency_cap",
            b"cookie_frequency_cap",
            "cookie_frequency_cap_setting",
            b"cookie_frequency_cap_setting",
            "currency_code",
            b"currency_code",
            "customer_id",
            b"customer_id",
            "min_effective_frequency",
            b"min_effective_frequency",
            "planned_products",
            b"planned_products",
            "targeting",
            b"targeting",
        ],
    ) -> None: ...

global___GenerateReachForecastRequest = GenerateReachForecastRequest

class FrequencyCap(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    IMPRESSIONS_FIELD_NUMBER: builtins.int
    TIME_UNIT_FIELD_NUMBER: builtins.int
    time_unit: google.ads.google_ads.v4.proto.enums.frequency_cap_time_unit_pb2.FrequencyCapTimeUnitEnum.FrequencyCapTimeUnit.V = (
        ...
    )
    @property
    def impressions(self) -> google.protobuf.wrappers_pb2.Int32Value: ...
    def __init__(
        self,
        *,
        impressions: typing.Optional[google.protobuf.wrappers_pb2.Int32Value] = ...,
        time_unit: google.ads.google_ads.v4.proto.enums.frequency_cap_time_unit_pb2.FrequencyCapTimeUnitEnum.FrequencyCapTimeUnit.V = ...,
    ) -> None: ...
    def HasField(
        self, field_name: typing_extensions.Literal["impressions", b"impressions"]
    ) -> builtins.bool: ...
    def ClearField(
        self,
        field_name: typing_extensions.Literal[
            "impressions", b"impressions", "time_unit", b"time_unit"
        ],
    ) -> None: ...

global___FrequencyCap = FrequencyCap

class Targeting(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    PLANNABLE_LOCATION_ID_FIELD_NUMBER: builtins.int
    AGE_RANGE_FIELD_NUMBER: builtins.int
    GENDERS_FIELD_NUMBER: builtins.int
    DEVICES_FIELD_NUMBER: builtins.int
    NETWORK_FIELD_NUMBER: builtins.int
    age_range: google.ads.google_ads.v4.proto.enums.reach_plan_age_range_pb2.ReachPlanAgeRangeEnum.ReachPlanAgeRange.V = (
        ...
    )
    network: google.ads.google_ads.v4.proto.enums.reach_plan_network_pb2.ReachPlanNetworkEnum.ReachPlanNetwork.V = (
        ...
    )
    @property
    def plannable_location_id(self) -> google.protobuf.wrappers_pb2.StringValue: ...
    @property
    def genders(
        self,
    ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[
        google.ads.google_ads.v4.proto.common.criteria_pb2.GenderInfo
    ]: ...
    @property
    def devices(
        self,
    ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[
        google.ads.google_ads.v4.proto.common.criteria_pb2.DeviceInfo
    ]: ...
    def __init__(
        self,
        *,
        plannable_location_id: typing.Optional[
            google.protobuf.wrappers_pb2.StringValue
        ] = ...,
        age_range: google.ads.google_ads.v4.proto.enums.reach_plan_age_range_pb2.ReachPlanAgeRangeEnum.ReachPlanAgeRange.V = ...,
        genders: typing.Optional[
            typing.Iterable[
                google.ads.google_ads.v4.proto.common.criteria_pb2.GenderInfo
            ]
        ] = ...,
        devices: typing.Optional[
            typing.Iterable[
                google.ads.google_ads.v4.proto.common.criteria_pb2.DeviceInfo
            ]
        ] = ...,
        network: google.ads.google_ads.v4.proto.enums.reach_plan_network_pb2.ReachPlanNetworkEnum.ReachPlanNetwork.V = ...,
    ) -> None: ...
    def HasField(
        self,
        field_name: typing_extensions.Literal[
            "plannable_location_id", b"plannable_location_id"
        ],
    ) -> builtins.bool: ...
    def ClearField(
        self,
        field_name: typing_extensions.Literal[
            "age_range",
            b"age_range",
            "devices",
            b"devices",
            "genders",
            b"genders",
            "network",
            b"network",
            "plannable_location_id",
            b"plannable_location_id",
        ],
    ) -> None: ...

global___Targeting = Targeting

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

global___CampaignDuration = CampaignDuration

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

global___PlannedProduct = PlannedProduct

class GenerateReachForecastResponse(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    ON_TARGET_AUDIENCE_METRICS_FIELD_NUMBER: builtins.int
    REACH_CURVE_FIELD_NUMBER: builtins.int
    @property
    def on_target_audience_metrics(self) -> global___OnTargetAudienceMetrics: ...
    @property
    def reach_curve(self) -> global___ReachCurve: ...
    def __init__(
        self,
        *,
        on_target_audience_metrics: typing.Optional[
            global___OnTargetAudienceMetrics
        ] = ...,
        reach_curve: typing.Optional[global___ReachCurve] = ...,
    ) -> None: ...
    def HasField(
        self,
        field_name: typing_extensions.Literal[
            "on_target_audience_metrics",
            b"on_target_audience_metrics",
            "reach_curve",
            b"reach_curve",
        ],
    ) -> builtins.bool: ...
    def ClearField(
        self,
        field_name: typing_extensions.Literal[
            "on_target_audience_metrics",
            b"on_target_audience_metrics",
            "reach_curve",
            b"reach_curve",
        ],
    ) -> None: ...

global___GenerateReachForecastResponse = GenerateReachForecastResponse

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

global___ReachCurve = ReachCurve

class ReachForecast(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    COST_MICROS_FIELD_NUMBER: builtins.int
    FORECAST_FIELD_NUMBER: builtins.int
    FORECASTED_PRODUCT_ALLOCATIONS_FIELD_NUMBER: builtins.int
    @property
    def cost_micros(self) -> google.protobuf.wrappers_pb2.Int64Value: ...
    @property
    def forecast(self) -> global___Forecast: ...
    @property
    def forecasted_product_allocations(
        self,
    ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[
        global___ProductAllocation
    ]: ...
    def __init__(
        self,
        *,
        cost_micros: typing.Optional[google.protobuf.wrappers_pb2.Int64Value] = ...,
        forecast: typing.Optional[global___Forecast] = ...,
        forecasted_product_allocations: typing.Optional[
            typing.Iterable[global___ProductAllocation]
        ] = ...,
    ) -> None: ...
    def HasField(
        self,
        field_name: typing_extensions.Literal[
            "cost_micros", b"cost_micros", "forecast", b"forecast"
        ],
    ) -> builtins.bool: ...
    def ClearField(
        self,
        field_name: typing_extensions.Literal[
            "cost_micros",
            b"cost_micros",
            "forecast",
            b"forecast",
            "forecasted_product_allocations",
            b"forecasted_product_allocations",
        ],
    ) -> None: ...

global___ReachForecast = ReachForecast

class Forecast(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    ON_TARGET_REACH_FIELD_NUMBER: builtins.int
    TOTAL_REACH_FIELD_NUMBER: builtins.int
    ON_TARGET_IMPRESSIONS_FIELD_NUMBER: builtins.int
    TOTAL_IMPRESSIONS_FIELD_NUMBER: builtins.int
    @property
    def on_target_reach(self) -> google.protobuf.wrappers_pb2.Int64Value: ...
    @property
    def total_reach(self) -> google.protobuf.wrappers_pb2.Int64Value: ...
    @property
    def on_target_impressions(self) -> google.protobuf.wrappers_pb2.Int64Value: ...
    @property
    def total_impressions(self) -> google.protobuf.wrappers_pb2.Int64Value: ...
    def __init__(
        self,
        *,
        on_target_reach: typing.Optional[google.protobuf.wrappers_pb2.Int64Value] = ...,
        total_reach: typing.Optional[google.protobuf.wrappers_pb2.Int64Value] = ...,
        on_target_impressions: typing.Optional[
            google.protobuf.wrappers_pb2.Int64Value
        ] = ...,
        total_impressions: typing.Optional[
            google.protobuf.wrappers_pb2.Int64Value
        ] = ...,
    ) -> None: ...
    def HasField(
        self,
        field_name: typing_extensions.Literal[
            "on_target_impressions",
            b"on_target_impressions",
            "on_target_reach",
            b"on_target_reach",
            "total_impressions",
            b"total_impressions",
            "total_reach",
            b"total_reach",
        ],
    ) -> builtins.bool: ...
    def ClearField(
        self,
        field_name: typing_extensions.Literal[
            "on_target_impressions",
            b"on_target_impressions",
            "on_target_reach",
            b"on_target_reach",
            "total_impressions",
            b"total_impressions",
            "total_reach",
            b"total_reach",
        ],
    ) -> None: ...

global___Forecast = Forecast

class OnTargetAudienceMetrics(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    YOUTUBE_AUDIENCE_SIZE_FIELD_NUMBER: builtins.int
    CENSUS_AUDIENCE_SIZE_FIELD_NUMBER: builtins.int
    @property
    def youtube_audience_size(self) -> google.protobuf.wrappers_pb2.Int64Value: ...
    @property
    def census_audience_size(self) -> google.protobuf.wrappers_pb2.Int64Value: ...
    def __init__(
        self,
        *,
        youtube_audience_size: typing.Optional[
            google.protobuf.wrappers_pb2.Int64Value
        ] = ...,
        census_audience_size: typing.Optional[
            google.protobuf.wrappers_pb2.Int64Value
        ] = ...,
    ) -> None: ...
    def HasField(
        self,
        field_name: typing_extensions.Literal[
            "census_audience_size",
            b"census_audience_size",
            "youtube_audience_size",
            b"youtube_audience_size",
        ],
    ) -> builtins.bool: ...
    def ClearField(
        self,
        field_name: typing_extensions.Literal[
            "census_audience_size",
            b"census_audience_size",
            "youtube_audience_size",
            b"youtube_audience_size",
        ],
    ) -> None: ...

global___OnTargetAudienceMetrics = OnTargetAudienceMetrics
