import type { BinaryWriteOptions } from "@protobuf-ts/runtime";
import type { IBinaryWriter } from "@protobuf-ts/runtime";
import type { BinaryReadOptions } from "@protobuf-ts/runtime";
import type { IBinaryReader } from "@protobuf-ts/runtime";
import type { PartialMessage } from "@protobuf-ts/runtime";
import { MessageType } from "@protobuf-ts/runtime";
import { OptimizationGoalTypeEnum_OptimizationGoalType } from "../enums/optimization_goal_type";
import { VanityPharmaTextEnum_VanityPharmaText } from "../enums/vanity_pharma_text";
import { VanityPharmaDisplayUrlModeEnum_VanityPharmaDisplayUrlMode } from "../enums/vanity_pharma_display_url_mode";
import { AppCampaignAppStoreEnum_AppCampaignAppStore } from "../enums/app_campaign_app_store";
import { AppCampaignBiddingStrategyGoalTypeEnum_AppCampaignBiddingStrategyGoalType } from "../enums/app_campaign_bidding_strategy_goal_type";
import { LocationSourceTypeEnum_LocationSourceType } from "../enums/location_source_type";
import { NegativeGeoTargetTypeEnum_NegativeGeoTargetType } from "../enums/negative_geo_target_type";
import { PositiveGeoTargetTypeEnum_PositiveGeoTargetType } from "../enums/positive_geo_target_type";
import { PerformanceMaxUpgradeStatusEnum_PerformanceMaxUpgradeStatus } from "../enums/performance_max_upgrade_status";
import { TargetCpm } from "../common/bidding";
import { PercentCpc } from "../common/bidding";
import { TargetSpend } from "../common/bidding";
import { TargetRoas } from "../common/bidding";
import { TargetImpressionShare } from "../common/bidding";
import { TargetCpa } from "../common/bidding";
import { MaximizeConversionValue } from "../common/bidding";
import { MaximizeConversions } from "../common/bidding";
import { ManualCpv } from "../common/bidding";
import { ManualCpm } from "../common/bidding";
import { ManualCpc } from "../common/bidding";
import { ManualCpa } from "../common/bidding";
import { Commission } from "../common/bidding";
import { AssetFieldTypeEnum_AssetFieldType } from "../enums/asset_field_type";
import { PaymentModeEnum_PaymentMode } from "../enums/payment_mode";
import { BrandSafetySuitabilityEnum_BrandSafetySuitability } from "../enums/brand_safety_suitability";
import { FrequencyCapEntry } from "../common/frequency_cap";
import { BiddingStrategyTypeEnum_BiddingStrategyType } from "../enums/bidding_strategy_type";
import { CampaignExperimentTypeEnum_CampaignExperimentType } from "../enums/campaign_experiment_type";
import { TargetingSetting } from "../common/targeting_setting";
import { RealTimeBiddingSetting } from "../common/real_time_bidding_setting";
import { CustomParameter } from "../common/custom_parameter";
import { AdvertisingChannelSubTypeEnum_AdvertisingChannelSubType } from "../enums/advertising_channel_sub_type";
import { AdvertisingChannelTypeEnum_AdvertisingChannelType } from "../enums/advertising_channel_type";
import { AdServingOptimizationStatusEnum_AdServingOptimizationStatus } from "../enums/ad_serving_optimization_status";
import { BiddingStrategySystemStatusEnum_BiddingStrategySystemStatus } from "../enums/bidding_strategy_system_status";
import { CampaignServingStatusEnum_CampaignServingStatus } from "../enums/campaign_serving_status";
import { CampaignStatusEnum_CampaignStatus } from "../enums/campaign_status";
/**
 * A campaign.
 *
 * @generated from protobuf message google.ads.googleads.v11.resources.Campaign
 */
export interface Campaign {
    /**
     * Immutable. The resource name of the campaign.
     * Campaign resource names have the form:
     *
     * `customers/{customer_id}/campaigns/{campaign_id}`
     *
     * @generated from protobuf field: string resource_name = 1;
     */
    resourceName: string;
    /**
     * Output only. The ID of the campaign.
     *
     * @generated from protobuf field: optional int64 id = 59;
     */
    id?: bigint;
    /**
     * The name of the campaign.
     *
     * This field is required and should not be empty when creating new
     * campaigns.
     *
     * It must not contain any null (code point 0x0), NL line feed
     * (code point 0xA) or carriage return (code point 0xD) characters.
     *
     * @generated from protobuf field: optional string name = 58;
     */
    name?: string;
    /**
     * The status of the campaign.
     *
     * When a new campaign is added, the status defaults to ENABLED.
     *
     * @generated from protobuf field: google.ads.googleads.v11.enums.CampaignStatusEnum.CampaignStatus status = 5;
     */
    status: CampaignStatusEnum_CampaignStatus;
    /**
     * Output only. The ad serving status of the campaign.
     *
     * @generated from protobuf field: google.ads.googleads.v11.enums.CampaignServingStatusEnum.CampaignServingStatus serving_status = 21;
     */
    servingStatus: CampaignServingStatusEnum_CampaignServingStatus;
    /**
     * Output only. The system status of the campaign's bidding strategy.
     *
     * @generated from protobuf field: google.ads.googleads.v11.enums.BiddingStrategySystemStatusEnum.BiddingStrategySystemStatus bidding_strategy_system_status = 78;
     */
    biddingStrategySystemStatus: BiddingStrategySystemStatusEnum_BiddingStrategySystemStatus;
    /**
     * The ad serving optimization status of the campaign.
     *
     * @generated from protobuf field: google.ads.googleads.v11.enums.AdServingOptimizationStatusEnum.AdServingOptimizationStatus ad_serving_optimization_status = 8;
     */
    adServingOptimizationStatus: AdServingOptimizationStatusEnum_AdServingOptimizationStatus;
    /**
     * Immutable. The primary serving target for ads within the campaign.
     * The targeting options can be refined in `network_settings`.
     *
     * This field is required and should not be empty when creating new
     * campaigns.
     *
     * Can be set only when creating campaigns.
     * After the campaign is created, the field can not be changed.
     *
     * @generated from protobuf field: google.ads.googleads.v11.enums.AdvertisingChannelTypeEnum.AdvertisingChannelType advertising_channel_type = 9;
     */
    advertisingChannelType: AdvertisingChannelTypeEnum_AdvertisingChannelType;
    /**
     * Immutable. Optional refinement to `advertising_channel_type`.
     * Must be a valid sub-type of the parent channel type.
     *
     * Can be set only when creating campaigns.
     * After campaign is created, the field can not be changed.
     *
     * @generated from protobuf field: google.ads.googleads.v11.enums.AdvertisingChannelSubTypeEnum.AdvertisingChannelSubType advertising_channel_sub_type = 10;
     */
    advertisingChannelSubType: AdvertisingChannelSubTypeEnum_AdvertisingChannelSubType;
    /**
     * The URL template for constructing a tracking URL.
     *
     * @generated from protobuf field: optional string tracking_url_template = 60;
     */
    trackingUrlTemplate?: string;
    /**
     * The list of mappings used to substitute custom parameter tags in a
     * `tracking_url_template`, `final_urls`, or `mobile_final_urls`.
     *
     * @generated from protobuf field: repeated google.ads.googleads.v11.common.CustomParameter url_custom_parameters = 12;
     */
    urlCustomParameters: CustomParameter[];
    /**
     * The Local Services Campaign related settings.
     *
     * @generated from protobuf field: google.ads.googleads.v11.resources.Campaign.LocalServicesCampaignSettings local_services_campaign_settings = 75;
     */
    localServicesCampaignSettings?: Campaign_LocalServicesCampaignSettings;
    /**
     * Settings for Real-Time Bidding, a feature only available for campaigns
     * targeting the Ad Exchange network.
     *
     * @generated from protobuf field: google.ads.googleads.v11.common.RealTimeBiddingSetting real_time_bidding_setting = 39;
     */
    realTimeBiddingSetting?: RealTimeBiddingSetting;
    /**
     * The network settings for the campaign.
     *
     * @generated from protobuf field: google.ads.googleads.v11.resources.Campaign.NetworkSettings network_settings = 14;
     */
    networkSettings?: Campaign_NetworkSettings;
    /**
     * Immutable. The hotel setting for the campaign.
     *
     * @generated from protobuf field: google.ads.googleads.v11.resources.Campaign.HotelSettingInfo hotel_setting = 32;
     */
    hotelSetting?: Campaign_HotelSettingInfo;
    /**
     * The setting for controlling Dynamic Search Ads (DSA).
     *
     * @generated from protobuf field: google.ads.googleads.v11.resources.Campaign.DynamicSearchAdsSetting dynamic_search_ads_setting = 33;
     */
    dynamicSearchAdsSetting?: Campaign_DynamicSearchAdsSetting;
    /**
     * The setting for controlling Shopping campaigns.
     *
     * @generated from protobuf field: google.ads.googleads.v11.resources.Campaign.ShoppingSetting shopping_setting = 36;
     */
    shoppingSetting?: Campaign_ShoppingSetting;
    /**
     * Setting for targeting related features.
     *
     * @generated from protobuf field: google.ads.googleads.v11.common.TargetingSetting targeting_setting = 43;
     */
    targetingSetting?: TargetingSetting;
    /**
     * Immutable. Setting for audience related features.
     *
     * @generated from protobuf field: optional google.ads.googleads.v11.resources.Campaign.AudienceSetting audience_setting = 73;
     */
    audienceSetting?: Campaign_AudienceSetting;
    /**
     * The setting for ads geotargeting.
     *
     * @generated from protobuf field: google.ads.googleads.v11.resources.Campaign.GeoTargetTypeSetting geo_target_type_setting = 47;
     */
    geoTargetTypeSetting?: Campaign_GeoTargetTypeSetting;
    /**
     * The setting for local campaign.
     *
     * @generated from protobuf field: google.ads.googleads.v11.resources.Campaign.LocalCampaignSetting local_campaign_setting = 50;
     */
    localCampaignSetting?: Campaign_LocalCampaignSetting;
    /**
     * The setting related to App Campaign.
     *
     * @generated from protobuf field: google.ads.googleads.v11.resources.Campaign.AppCampaignSetting app_campaign_setting = 51;
     */
    appCampaignSetting?: Campaign_AppCampaignSetting;
    /**
     * Output only. The resource names of labels attached to this campaign.
     *
     * @generated from protobuf field: repeated string labels = 61;
     */
    labels: string[];
    /**
     * Output only. The type of campaign: normal, draft, or experiment.
     *
     * @generated from protobuf field: google.ads.googleads.v11.enums.CampaignExperimentTypeEnum.CampaignExperimentType experiment_type = 17;
     */
    experimentType: CampaignExperimentTypeEnum_CampaignExperimentType;
    /**
     * Output only. The resource name of the base campaign of a draft or experiment campaign.
     * For base campaigns, this is equal to `resource_name`.
     *
     * This field is read-only.
     *
     * @generated from protobuf field: optional string base_campaign = 56;
     */
    baseCampaign?: string;
    /**
     * The budget of the campaign.
     *
     * @generated from protobuf field: optional string campaign_budget = 62;
     */
    campaignBudget?: string;
    /**
     * Output only. The type of bidding strategy.
     *
     * A bidding strategy can be created by setting either the bidding scheme to
     * create a standard bidding strategy or the `bidding_strategy` field to
     * create a portfolio bidding strategy.
     *
     * This field is read-only.
     *
     * @generated from protobuf field: google.ads.googleads.v11.enums.BiddingStrategyTypeEnum.BiddingStrategyType bidding_strategy_type = 22;
     */
    biddingStrategyType: BiddingStrategyTypeEnum_BiddingStrategyType;
    /**
     * Output only. Resource name of AccessibleBiddingStrategy, a read-only view of the
     * unrestricted attributes of the attached portfolio bidding
     * strategy identified by 'bidding_strategy'. Empty, if the campaign does not
     * use a portfolio strategy.
     * Unrestricted strategy attributes are available to all customers
     * with whom the strategy is shared and are read from the
     * AccessibleBiddingStrategy resource. In contrast, restricted attributes are
     * only available to the owner customer of the strategy and their managers.
     * Restricted attributes can only be read from the BiddingStrategy resource.
     *
     * @generated from protobuf field: string accessible_bidding_strategy = 71;
     */
    accessibleBiddingStrategy: string;
    /**
     * The date when campaign started in serving customer's timezone in YYYY-MM-DD
     * format.
     *
     * @generated from protobuf field: optional string start_date = 63;
     */
    startDate?: string;
    /**
     * The campaign group this campaign belongs to.
     *
     * @generated from protobuf field: optional string campaign_group = 76;
     */
    campaignGroup?: string;
    /**
     * The last day of the campaign in serving customer's timezone in YYYY-MM-DD
     * format.
     *
     * @generated from protobuf field: optional string end_date = 64;
     */
    endDate?: string;
    /**
     * Suffix used to append query parameters to landing pages that are served
     * with parallel tracking.
     *
     * @generated from protobuf field: optional string final_url_suffix = 65;
     */
    finalUrlSuffix?: string;
    /**
     * A list that limits how often each user will see this campaign's ads.
     *
     * @generated from protobuf field: repeated google.ads.googleads.v11.common.FrequencyCapEntry frequency_caps = 40;
     */
    frequencyCaps: FrequencyCapEntry[];
    /**
     * Output only. 3-Tier Brand Safety setting for the campaign.
     *
     * @generated from protobuf field: google.ads.googleads.v11.enums.BrandSafetySuitabilityEnum.BrandSafetySuitability video_brand_safety_suitability = 42;
     */
    videoBrandSafetySuitability: BrandSafetySuitabilityEnum_BrandSafetySuitability;
    /**
     * Describes how unbranded pharma ads will be displayed.
     *
     * @generated from protobuf field: google.ads.googleads.v11.resources.Campaign.VanityPharma vanity_pharma = 44;
     */
    vanityPharma?: Campaign_VanityPharma;
    /**
     * Selective optimization setting for this campaign, which includes a set of
     * conversion actions to optimize this campaign towards.
     *
     * @generated from protobuf field: google.ads.googleads.v11.resources.Campaign.SelectiveOptimization selective_optimization = 45;
     */
    selectiveOptimization?: Campaign_SelectiveOptimization;
    /**
     * Optimization goal setting for this campaign, which includes a set of
     * optimization goal types.
     *
     * @generated from protobuf field: google.ads.googleads.v11.resources.Campaign.OptimizationGoalSetting optimization_goal_setting = 54;
     */
    optimizationGoalSetting?: Campaign_OptimizationGoalSetting;
    /**
     * Output only. Campaign-level settings for tracking information.
     *
     * @generated from protobuf field: google.ads.googleads.v11.resources.Campaign.TrackingSetting tracking_setting = 46;
     */
    trackingSetting?: Campaign_TrackingSetting;
    /**
     * Payment mode for the campaign.
     *
     * @generated from protobuf field: google.ads.googleads.v11.enums.PaymentModeEnum.PaymentMode payment_mode = 52;
     */
    paymentMode: PaymentModeEnum_PaymentMode;
    /**
     * Output only. Optimization score of the campaign.
     *
     * Optimization score is an estimate of how well a campaign is set to perform.
     * It ranges from 0% (0.0) to 100% (1.0), with 100% indicating that the
     * campaign is performing at full potential. This field is null for unscored
     * campaigns.
     *
     * See "About optimization score" at
     * https://support.google.com/google-ads/answer/9061546.
     *
     * This field is read-only.
     *
     * @generated from protobuf field: optional double optimization_score = 66;
     */
    optimizationScore?: number;
    /**
     * The asset field types that should be excluded from this campaign. Asset
     * links with these field types will not be inherited by this campaign from
     * the upper level.
     *
     * @generated from protobuf field: repeated google.ads.googleads.v11.enums.AssetFieldTypeEnum.AssetFieldType excluded_parent_asset_field_types = 69;
     */
    excludedParentAssetFieldTypes: AssetFieldTypeEnum_AssetFieldType[];
    /**
     * Represents opting out of URL expansion to more targeted URLs. If opted out
     * (true), only the final URLs in the asset group or URLs specified in the
     * advertiser's Google Merchant Center or business data feeds are targeted.
     * If opted in (false), the entire domain will be targeted. This field can
     * only be set for Performance Max campaigns, where the default value is
     * false.
     *
     * @generated from protobuf field: optional bool url_expansion_opt_out = 72;
     */
    urlExpansionOptOut?: boolean;
    /**
     * Output only. Information about campaigns being upgraded to Performance Max.
     *
     * @generated from protobuf field: google.ads.googleads.v11.resources.Campaign.PerformanceMaxUpgrade performance_max_upgrade = 77;
     */
    performanceMaxUpgrade?: Campaign_PerformanceMaxUpgrade;
    /**
     * @generated from protobuf oneof: campaign_bidding_strategy
     */
    campaignBiddingStrategy: {
        oneofKind: "biddingStrategy";
        /**
         * Portfolio bidding strategy used by campaign.
         *
         * @generated from protobuf field: string bidding_strategy = 67;
         */
        biddingStrategy: string;
    } | {
        oneofKind: "commission";
        /**
         * Commission is an automatic bidding strategy in which the advertiser pays
         * a certain portion of the conversion value.
         *
         * @generated from protobuf field: google.ads.googleads.v11.common.Commission commission = 49;
         */
        commission: Commission;
    } | {
        oneofKind: "manualCpa";
        /**
         * Standard Manual CPA bidding strategy.
         * Manual bidding strategy that allows advertiser to set the bid per
         * advertiser-specified action. Supported only for Local Services campaigns.
         *
         * @generated from protobuf field: google.ads.googleads.v11.common.ManualCpa manual_cpa = 74;
         */
        manualCpa: ManualCpa;
    } | {
        oneofKind: "manualCpc";
        /**
         * Standard Manual CPC bidding strategy.
         * Manual click-based bidding where user pays per click.
         *
         * @generated from protobuf field: google.ads.googleads.v11.common.ManualCpc manual_cpc = 24;
         */
        manualCpc: ManualCpc;
    } | {
        oneofKind: "manualCpm";
        /**
         * Standard Manual CPM bidding strategy.
         * Manual impression-based bidding where user pays per thousand
         * impressions.
         *
         * @generated from protobuf field: google.ads.googleads.v11.common.ManualCpm manual_cpm = 25;
         */
        manualCpm: ManualCpm;
    } | {
        oneofKind: "manualCpv";
        /**
         * Output only. A bidding strategy that pays a configurable amount per video view.
         *
         * @generated from protobuf field: google.ads.googleads.v11.common.ManualCpv manual_cpv = 37;
         */
        manualCpv: ManualCpv;
    } | {
        oneofKind: "maximizeConversions";
        /**
         * Standard Maximize Conversions bidding strategy that automatically
         * maximizes number of conversions while spending your budget.
         *
         * @generated from protobuf field: google.ads.googleads.v11.common.MaximizeConversions maximize_conversions = 30;
         */
        maximizeConversions: MaximizeConversions;
    } | {
        oneofKind: "maximizeConversionValue";
        /**
         * Standard Maximize Conversion Value bidding strategy that automatically
         * sets bids to maximize revenue while spending your budget.
         *
         * @generated from protobuf field: google.ads.googleads.v11.common.MaximizeConversionValue maximize_conversion_value = 31;
         */
        maximizeConversionValue: MaximizeConversionValue;
    } | {
        oneofKind: "targetCpa";
        /**
         * Standard Target CPA bidding strategy that automatically sets bids to
         * help get as many conversions as possible at the target
         * cost-per-acquisition (CPA) you set.
         *
         * @generated from protobuf field: google.ads.googleads.v11.common.TargetCpa target_cpa = 26;
         */
        targetCpa: TargetCpa;
    } | {
        oneofKind: "targetImpressionShare";
        /**
         * Target Impression Share bidding strategy. An automated bidding strategy
         * that sets bids to achieve a chosen percentage of impressions.
         *
         * @generated from protobuf field: google.ads.googleads.v11.common.TargetImpressionShare target_impression_share = 48;
         */
        targetImpressionShare: TargetImpressionShare;
    } | {
        oneofKind: "targetRoas";
        /**
         * Standard Target ROAS bidding strategy that automatically maximizes
         * revenue while averaging a specific target return on ad spend (ROAS).
         *
         * @generated from protobuf field: google.ads.googleads.v11.common.TargetRoas target_roas = 29;
         */
        targetRoas: TargetRoas;
    } | {
        oneofKind: "targetSpend";
        /**
         * Standard Target Spend bidding strategy that automatically sets your bids
         * to help get as many clicks as possible within your budget.
         *
         * @generated from protobuf field: google.ads.googleads.v11.common.TargetSpend target_spend = 27;
         */
        targetSpend: TargetSpend;
    } | {
        oneofKind: "percentCpc";
        /**
         * Standard Percent Cpc bidding strategy where bids are a fraction of the
         * advertised price for some good or service.
         *
         * @generated from protobuf field: google.ads.googleads.v11.common.PercentCpc percent_cpc = 34;
         */
        percentCpc: PercentCpc;
    } | {
        oneofKind: "targetCpm";
        /**
         * A bidding strategy that automatically optimizes cost per thousand
         * impressions.
         *
         * @generated from protobuf field: google.ads.googleads.v11.common.TargetCpm target_cpm = 41;
         */
        targetCpm: TargetCpm;
    } | {
        oneofKind: undefined;
    };
}
/**
 * Information about a campaign being upgraded to Performance Max.
 *
 * @generated from protobuf message google.ads.googleads.v11.resources.Campaign.PerformanceMaxUpgrade
 */
export interface Campaign_PerformanceMaxUpgrade {
    /**
     * Output only. Indicates which Performance Max campaign the campaign is upgraded to.
     *
     * @generated from protobuf field: string performance_max_campaign = 1;
     */
    performanceMaxCampaign: string;
    /**
     * Output only. Indicates legacy campaign upgraded to Performance Max.
     *
     * @generated from protobuf field: string pre_upgrade_campaign = 2;
     */
    preUpgradeCampaign: string;
    /**
     * Output only. The upgrade status of a campaign requested to be upgraded to Performance
     * Max.
     *
     * @generated from protobuf field: google.ads.googleads.v11.enums.PerformanceMaxUpgradeStatusEnum.PerformanceMaxUpgradeStatus status = 3;
     */
    status: PerformanceMaxUpgradeStatusEnum_PerformanceMaxUpgradeStatus;
}
/**
 * The network settings for the campaign.
 *
 * @generated from protobuf message google.ads.googleads.v11.resources.Campaign.NetworkSettings
 */
export interface Campaign_NetworkSettings {
    /**
     * Whether ads will be served with google.com search results.
     *
     * @generated from protobuf field: optional bool target_google_search = 5;
     */
    targetGoogleSearch?: boolean;
    /**
     * Whether ads will be served on partner sites in the Google Search Network
     * (requires `target_google_search` to also be `true`).
     *
     * @generated from protobuf field: optional bool target_search_network = 6;
     */
    targetSearchNetwork?: boolean;
    /**
     * Whether ads will be served on specified placements in the Google Display
     * Network. Placements are specified using the Placement criterion.
     *
     * @generated from protobuf field: optional bool target_content_network = 7;
     */
    targetContentNetwork?: boolean;
    /**
     * Whether ads will be served on the Google Partner Network.
     * This is available only to some select Google partner accounts.
     *
     * @generated from protobuf field: optional bool target_partner_search_network = 8;
     */
    targetPartnerSearchNetwork?: boolean;
}
/**
 * Campaign-level settings for hotel ads.
 *
 * @generated from protobuf message google.ads.googleads.v11.resources.Campaign.HotelSettingInfo
 */
export interface Campaign_HotelSettingInfo {
    /**
     * Immutable. The linked Hotel Center account.
     *
     * @generated from protobuf field: optional int64 hotel_center_id = 2;
     */
    hotelCenterId?: bigint;
}
/**
 * The setting for controlling Dynamic Search Ads (DSA).
 *
 * @generated from protobuf message google.ads.googleads.v11.resources.Campaign.DynamicSearchAdsSetting
 */
export interface Campaign_DynamicSearchAdsSetting {
    /**
     * Required. The Internet domain name that this setting represents, for example,
     * "google.com" or "www.google.com".
     *
     * @generated from protobuf field: string domain_name = 6;
     */
    domainName: string;
    /**
     * Required. The language code specifying the language of the domain, for example,
     * "en".
     *
     * @generated from protobuf field: string language_code = 7;
     */
    languageCode: string;
    /**
     * Whether the campaign uses advertiser supplied URLs exclusively.
     *
     * @generated from protobuf field: optional bool use_supplied_urls_only = 8;
     */
    useSuppliedUrlsOnly?: boolean;
    /**
     * The list of page feeds associated with the campaign.
     *
     * @generated from protobuf field: repeated string feeds = 9;
     */
    feeds: string[];
}
/**
 * The setting for Shopping campaigns. Defines the universe of products that
 * can be advertised by the campaign, and how this campaign interacts with
 * other Shopping campaigns.
 *
 * @generated from protobuf message google.ads.googleads.v11.resources.Campaign.ShoppingSetting
 */
export interface Campaign_ShoppingSetting {
    /**
     * Immutable. ID of the Merchant Center account.
     * This field is required for create operations. This field is immutable for
     * Shopping campaigns.
     *
     * @generated from protobuf field: optional int64 merchant_id = 5;
     */
    merchantId?: bigint;
    /**
     * Sales country of products to include in the campaign.
     * Only one of feed_label or sales_country can be set.
     * Field is immutable except for clearing.
     * Once this field is cleared, you must use feed_label if you
     * want to set the sales country.
     *
     * @generated from protobuf field: optional string sales_country = 6;
     */
    salesCountry?: string;
    /**
     * Feed label of products to include in the campaign.
     * Only one of feed_label or sales_country can be set.
     * If used instead of sales_country, the feed_label field accepts country
     * codes in the same format for example: 'XX'.
     * Otherwise can be any string used for feed label in Google Merchant
     * Center.
     *
     * @generated from protobuf field: string feed_label = 10;
     */
    feedLabel: string;
    /**
     * Priority of the campaign. Campaigns with numerically higher priorities
     * take precedence over those with lower priorities.
     * This field is required for Shopping campaigns, with values between 0 and
     * 2, inclusive.
     * This field is optional for Smart Shopping campaigns, but must be equal to
     * 3 if set.
     *
     * @generated from protobuf field: optional int32 campaign_priority = 7;
     */
    campaignPriority?: number;
    /**
     * Whether to include local products.
     *
     * @generated from protobuf field: optional bool enable_local = 8;
     */
    enableLocal?: boolean;
    /**
     * Immutable. Whether to target Vehicle Listing inventory.
     *
     * @generated from protobuf field: bool use_vehicle_inventory = 9;
     */
    useVehicleInventory: boolean;
}
/**
 * Campaign-level settings for tracking information.
 *
 * @generated from protobuf message google.ads.googleads.v11.resources.Campaign.TrackingSetting
 */
export interface Campaign_TrackingSetting {
    /**
     * Output only. The url used for dynamic tracking.
     *
     * @generated from protobuf field: optional string tracking_url = 2;
     */
    trackingUrl?: string;
}
/**
 * Represents a collection of settings related to ads geotargeting.
 *
 * @generated from protobuf message google.ads.googleads.v11.resources.Campaign.GeoTargetTypeSetting
 */
export interface Campaign_GeoTargetTypeSetting {
    /**
     * The setting used for positive geotargeting in this particular campaign.
     *
     * @generated from protobuf field: google.ads.googleads.v11.enums.PositiveGeoTargetTypeEnum.PositiveGeoTargetType positive_geo_target_type = 1;
     */
    positiveGeoTargetType: PositiveGeoTargetTypeEnum_PositiveGeoTargetType;
    /**
     * The setting used for negative geotargeting in this particular campaign.
     *
     * @generated from protobuf field: google.ads.googleads.v11.enums.NegativeGeoTargetTypeEnum.NegativeGeoTargetType negative_geo_target_type = 2;
     */
    negativeGeoTargetType: NegativeGeoTargetTypeEnum_NegativeGeoTargetType;
}
/**
 * Campaign setting for local campaigns.
 *
 * @generated from protobuf message google.ads.googleads.v11.resources.Campaign.LocalCampaignSetting
 */
export interface Campaign_LocalCampaignSetting {
    /**
     * The location source type for this local campaign.
     *
     * @generated from protobuf field: google.ads.googleads.v11.enums.LocationSourceTypeEnum.LocationSourceType location_source_type = 1;
     */
    locationSourceType: LocationSourceTypeEnum_LocationSourceType;
}
/**
 * Campaign-level settings for App Campaigns.
 *
 * @generated from protobuf message google.ads.googleads.v11.resources.Campaign.AppCampaignSetting
 */
export interface Campaign_AppCampaignSetting {
    /**
     * Represents the goal which the bidding strategy of this app campaign
     * should optimize towards.
     *
     * @generated from protobuf field: google.ads.googleads.v11.enums.AppCampaignBiddingStrategyGoalTypeEnum.AppCampaignBiddingStrategyGoalType bidding_strategy_goal_type = 1;
     */
    biddingStrategyGoalType: AppCampaignBiddingStrategyGoalTypeEnum_AppCampaignBiddingStrategyGoalType;
    /**
     * Immutable. A string that uniquely identifies a mobile application.
     *
     * @generated from protobuf field: optional string app_id = 4;
     */
    appId?: string;
    /**
     * Immutable. The application store that distributes this specific app.
     *
     * @generated from protobuf field: google.ads.googleads.v11.enums.AppCampaignAppStoreEnum.AppCampaignAppStore app_store = 3;
     */
    appStore: AppCampaignAppStoreEnum_AppCampaignAppStore;
}
/**
 * Describes how unbranded pharma ads will be displayed.
 *
 * @generated from protobuf message google.ads.googleads.v11.resources.Campaign.VanityPharma
 */
export interface Campaign_VanityPharma {
    /**
     * The display mode for vanity pharma URLs.
     *
     * @generated from protobuf field: google.ads.googleads.v11.enums.VanityPharmaDisplayUrlModeEnum.VanityPharmaDisplayUrlMode vanity_pharma_display_url_mode = 1;
     */
    vanityPharmaDisplayUrlMode: VanityPharmaDisplayUrlModeEnum_VanityPharmaDisplayUrlMode;
    /**
     * The text that will be displayed in display URL of the text ad when
     * website description is the selected display mode for vanity pharma URLs.
     *
     * @generated from protobuf field: google.ads.googleads.v11.enums.VanityPharmaTextEnum.VanityPharmaText vanity_pharma_text = 2;
     */
    vanityPharmaText: VanityPharmaTextEnum_VanityPharmaText;
}
/**
 * Selective optimization setting for this campaign, which includes a set of
 * conversion actions to optimize this campaign towards.
 *
 * @generated from protobuf message google.ads.googleads.v11.resources.Campaign.SelectiveOptimization
 */
export interface Campaign_SelectiveOptimization {
    /**
     * The selected set of conversion actions for optimizing this campaign.
     *
     * @generated from protobuf field: repeated string conversion_actions = 2;
     */
    conversionActions: string[];
}
/**
 * Optimization goal setting for this campaign, which includes a set of
 * optimization goal types.
 *
 * @generated from protobuf message google.ads.googleads.v11.resources.Campaign.OptimizationGoalSetting
 */
export interface Campaign_OptimizationGoalSetting {
    /**
     * The list of optimization goal types.
     *
     * @generated from protobuf field: repeated google.ads.googleads.v11.enums.OptimizationGoalTypeEnum.OptimizationGoalType optimization_goal_types = 1;
     */
    optimizationGoalTypes: OptimizationGoalTypeEnum_OptimizationGoalType[];
}
/**
 * Settings for the audience targeting.
 *
 * @generated from protobuf message google.ads.googleads.v11.resources.Campaign.AudienceSetting
 */
export interface Campaign_AudienceSetting {
    /**
     * Immutable. If true, this campaign uses an Audience resource for audience targeting.
     * If false, this campaign may use audience segment criteria instead.
     *
     * @generated from protobuf field: optional bool use_audience_grouped = 1;
     */
    useAudienceGrouped?: boolean;
}
/**
 * Settings for LocalServicesCampaign subresource.
 *
 * @generated from protobuf message google.ads.googleads.v11.resources.Campaign.LocalServicesCampaignSettings
 */
export interface Campaign_LocalServicesCampaignSettings {
    /**
     * Categorical level bids associated with MANUAL_CPA bidding strategy.
     *
     * @generated from protobuf field: repeated google.ads.googleads.v11.resources.Campaign.CategoryBid category_bids = 1;
     */
    categoryBids: Campaign_CategoryBid[];
}
/**
 * Category bids in LocalServicesReportingCampaignSettings.
 *
 * @generated from protobuf message google.ads.googleads.v11.resources.Campaign.CategoryBid
 */
export interface Campaign_CategoryBid {
    /**
     * Category for which the bid will be associated with. For example,
     * xcat:service_area_business_plumber.
     *
     * @generated from protobuf field: optional string category_id = 1;
     */
    categoryId?: string;
    /**
     * Manual CPA bid for the category. Bid must be greater than the
     * reserve price associated for that category. Value is in micros
     * and in the advertiser's currency.
     *
     * @generated from protobuf field: optional int64 manual_cpa_bid_micros = 2;
     */
    manualCpaBidMicros?: bigint;
}
declare class Campaign$Type extends MessageType<Campaign> {
    constructor();
    create(value?: PartialMessage<Campaign>): Campaign;
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: Campaign): Campaign;
    internalBinaryWrite(message: Campaign, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
}
/**
 * @generated MessageType for protobuf message google.ads.googleads.v11.resources.Campaign
 */
export declare const Campaign: Campaign$Type;
declare class Campaign_PerformanceMaxUpgrade$Type extends MessageType<Campaign_PerformanceMaxUpgrade> {
    constructor();
    create(value?: PartialMessage<Campaign_PerformanceMaxUpgrade>): Campaign_PerformanceMaxUpgrade;
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: Campaign_PerformanceMaxUpgrade): Campaign_PerformanceMaxUpgrade;
    internalBinaryWrite(message: Campaign_PerformanceMaxUpgrade, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
}
/**
 * @generated MessageType for protobuf message google.ads.googleads.v11.resources.Campaign.PerformanceMaxUpgrade
 */
export declare const Campaign_PerformanceMaxUpgrade: Campaign_PerformanceMaxUpgrade$Type;
declare class Campaign_NetworkSettings$Type extends MessageType<Campaign_NetworkSettings> {
    constructor();
    create(value?: PartialMessage<Campaign_NetworkSettings>): Campaign_NetworkSettings;
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: Campaign_NetworkSettings): Campaign_NetworkSettings;
    internalBinaryWrite(message: Campaign_NetworkSettings, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
}
/**
 * @generated MessageType for protobuf message google.ads.googleads.v11.resources.Campaign.NetworkSettings
 */
export declare const Campaign_NetworkSettings: Campaign_NetworkSettings$Type;
declare class Campaign_HotelSettingInfo$Type extends MessageType<Campaign_HotelSettingInfo> {
    constructor();
    create(value?: PartialMessage<Campaign_HotelSettingInfo>): Campaign_HotelSettingInfo;
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: Campaign_HotelSettingInfo): Campaign_HotelSettingInfo;
    internalBinaryWrite(message: Campaign_HotelSettingInfo, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
}
/**
 * @generated MessageType for protobuf message google.ads.googleads.v11.resources.Campaign.HotelSettingInfo
 */
export declare const Campaign_HotelSettingInfo: Campaign_HotelSettingInfo$Type;
declare class Campaign_DynamicSearchAdsSetting$Type extends MessageType<Campaign_DynamicSearchAdsSetting> {
    constructor();
    create(value?: PartialMessage<Campaign_DynamicSearchAdsSetting>): Campaign_DynamicSearchAdsSetting;
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: Campaign_DynamicSearchAdsSetting): Campaign_DynamicSearchAdsSetting;
    internalBinaryWrite(message: Campaign_DynamicSearchAdsSetting, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
}
/**
 * @generated MessageType for protobuf message google.ads.googleads.v11.resources.Campaign.DynamicSearchAdsSetting
 */
export declare const Campaign_DynamicSearchAdsSetting: Campaign_DynamicSearchAdsSetting$Type;
declare class Campaign_ShoppingSetting$Type extends MessageType<Campaign_ShoppingSetting> {
    constructor();
    create(value?: PartialMessage<Campaign_ShoppingSetting>): Campaign_ShoppingSetting;
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: Campaign_ShoppingSetting): Campaign_ShoppingSetting;
    internalBinaryWrite(message: Campaign_ShoppingSetting, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
}
/**
 * @generated MessageType for protobuf message google.ads.googleads.v11.resources.Campaign.ShoppingSetting
 */
export declare const Campaign_ShoppingSetting: Campaign_ShoppingSetting$Type;
declare class Campaign_TrackingSetting$Type extends MessageType<Campaign_TrackingSetting> {
    constructor();
    create(value?: PartialMessage<Campaign_TrackingSetting>): Campaign_TrackingSetting;
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: Campaign_TrackingSetting): Campaign_TrackingSetting;
    internalBinaryWrite(message: Campaign_TrackingSetting, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
}
/**
 * @generated MessageType for protobuf message google.ads.googleads.v11.resources.Campaign.TrackingSetting
 */
export declare const Campaign_TrackingSetting: Campaign_TrackingSetting$Type;
declare class Campaign_GeoTargetTypeSetting$Type extends MessageType<Campaign_GeoTargetTypeSetting> {
    constructor();
    create(value?: PartialMessage<Campaign_GeoTargetTypeSetting>): Campaign_GeoTargetTypeSetting;
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: Campaign_GeoTargetTypeSetting): Campaign_GeoTargetTypeSetting;
    internalBinaryWrite(message: Campaign_GeoTargetTypeSetting, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
}
/**
 * @generated MessageType for protobuf message google.ads.googleads.v11.resources.Campaign.GeoTargetTypeSetting
 */
export declare const Campaign_GeoTargetTypeSetting: Campaign_GeoTargetTypeSetting$Type;
declare class Campaign_LocalCampaignSetting$Type extends MessageType<Campaign_LocalCampaignSetting> {
    constructor();
    create(value?: PartialMessage<Campaign_LocalCampaignSetting>): Campaign_LocalCampaignSetting;
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: Campaign_LocalCampaignSetting): Campaign_LocalCampaignSetting;
    internalBinaryWrite(message: Campaign_LocalCampaignSetting, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
}
/**
 * @generated MessageType for protobuf message google.ads.googleads.v11.resources.Campaign.LocalCampaignSetting
 */
export declare const Campaign_LocalCampaignSetting: Campaign_LocalCampaignSetting$Type;
declare class Campaign_AppCampaignSetting$Type extends MessageType<Campaign_AppCampaignSetting> {
    constructor();
    create(value?: PartialMessage<Campaign_AppCampaignSetting>): Campaign_AppCampaignSetting;
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: Campaign_AppCampaignSetting): Campaign_AppCampaignSetting;
    internalBinaryWrite(message: Campaign_AppCampaignSetting, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
}
/**
 * @generated MessageType for protobuf message google.ads.googleads.v11.resources.Campaign.AppCampaignSetting
 */
export declare const Campaign_AppCampaignSetting: Campaign_AppCampaignSetting$Type;
declare class Campaign_VanityPharma$Type extends MessageType<Campaign_VanityPharma> {
    constructor();
    create(value?: PartialMessage<Campaign_VanityPharma>): Campaign_VanityPharma;
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: Campaign_VanityPharma): Campaign_VanityPharma;
    internalBinaryWrite(message: Campaign_VanityPharma, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
}
/**
 * @generated MessageType for protobuf message google.ads.googleads.v11.resources.Campaign.VanityPharma
 */
export declare const Campaign_VanityPharma: Campaign_VanityPharma$Type;
declare class Campaign_SelectiveOptimization$Type extends MessageType<Campaign_SelectiveOptimization> {
    constructor();
    create(value?: PartialMessage<Campaign_SelectiveOptimization>): Campaign_SelectiveOptimization;
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: Campaign_SelectiveOptimization): Campaign_SelectiveOptimization;
    internalBinaryWrite(message: Campaign_SelectiveOptimization, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
}
/**
 * @generated MessageType for protobuf message google.ads.googleads.v11.resources.Campaign.SelectiveOptimization
 */
export declare const Campaign_SelectiveOptimization: Campaign_SelectiveOptimization$Type;
declare class Campaign_OptimizationGoalSetting$Type extends MessageType<Campaign_OptimizationGoalSetting> {
    constructor();
    create(value?: PartialMessage<Campaign_OptimizationGoalSetting>): Campaign_OptimizationGoalSetting;
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: Campaign_OptimizationGoalSetting): Campaign_OptimizationGoalSetting;
    internalBinaryWrite(message: Campaign_OptimizationGoalSetting, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
}
/**
 * @generated MessageType for protobuf message google.ads.googleads.v11.resources.Campaign.OptimizationGoalSetting
 */
export declare const Campaign_OptimizationGoalSetting: Campaign_OptimizationGoalSetting$Type;
declare class Campaign_AudienceSetting$Type extends MessageType<Campaign_AudienceSetting> {
    constructor();
    create(value?: PartialMessage<Campaign_AudienceSetting>): Campaign_AudienceSetting;
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: Campaign_AudienceSetting): Campaign_AudienceSetting;
    internalBinaryWrite(message: Campaign_AudienceSetting, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
}
/**
 * @generated MessageType for protobuf message google.ads.googleads.v11.resources.Campaign.AudienceSetting
 */
export declare const Campaign_AudienceSetting: Campaign_AudienceSetting$Type;
declare class Campaign_LocalServicesCampaignSettings$Type extends MessageType<Campaign_LocalServicesCampaignSettings> {
    constructor();
    create(value?: PartialMessage<Campaign_LocalServicesCampaignSettings>): Campaign_LocalServicesCampaignSettings;
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: Campaign_LocalServicesCampaignSettings): Campaign_LocalServicesCampaignSettings;
    internalBinaryWrite(message: Campaign_LocalServicesCampaignSettings, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
}
/**
 * @generated MessageType for protobuf message google.ads.googleads.v11.resources.Campaign.LocalServicesCampaignSettings
 */
export declare const Campaign_LocalServicesCampaignSettings: Campaign_LocalServicesCampaignSettings$Type;
declare class Campaign_CategoryBid$Type extends MessageType<Campaign_CategoryBid> {
    constructor();
    create(value?: PartialMessage<Campaign_CategoryBid>): Campaign_CategoryBid;
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: Campaign_CategoryBid): Campaign_CategoryBid;
    internalBinaryWrite(message: Campaign_CategoryBid, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
}
/**
 * @generated MessageType for protobuf message google.ads.googleads.v11.resources.Campaign.CategoryBid
 */
export declare const Campaign_CategoryBid: Campaign_CategoryBid$Type;
export {};
