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 { KeywordPlanNetworkEnum_KeywordPlanNetwork } from "../enums/keyword_plan_network";
/**
 * A Keyword Plan campaign.
 * Max number of keyword plan campaigns per plan allowed: 1.
 *
 * @generated from protobuf message google.ads.googleads.v11.resources.KeywordPlanCampaign
 */
export interface KeywordPlanCampaign {
    /**
     * Immutable. The resource name of the Keyword Plan campaign.
     * KeywordPlanCampaign resource names have the form:
     *
     * `customers/{customer_id}/keywordPlanCampaigns/{kp_campaign_id}`
     *
     * @generated from protobuf field: string resource_name = 1;
     */
    resourceName: string;
    /**
     * The keyword plan this campaign belongs to.
     *
     * @generated from protobuf field: optional string keyword_plan = 9;
     */
    keywordPlan?: string;
    /**
     * Output only. The ID of the Keyword Plan campaign.
     *
     * @generated from protobuf field: optional int64 id = 10;
     */
    id?: bigint;
    /**
     * The name of the Keyword Plan campaign.
     *
     * This field is required and should not be empty when creating Keyword Plan
     * campaigns.
     *
     * @generated from protobuf field: optional string name = 11;
     */
    name?: string;
    /**
     * The languages targeted for the Keyword Plan campaign.
     * Max allowed: 1.
     *
     * @generated from protobuf field: repeated string language_constants = 12;
     */
    languageConstants: string[];
    /**
     * Targeting network.
     *
     * This field is required and should not be empty when creating Keyword Plan
     * campaigns.
     *
     * @generated from protobuf field: google.ads.googleads.v11.enums.KeywordPlanNetworkEnum.KeywordPlanNetwork keyword_plan_network = 6;
     */
    keywordPlanNetwork: KeywordPlanNetworkEnum_KeywordPlanNetwork;
    /**
     * A default max cpc bid in micros, and in the account currency, for all ad
     * groups under the campaign.
     *
     * This field is required and should not be empty when creating Keyword Plan
     * campaigns.
     *
     * @generated from protobuf field: optional int64 cpc_bid_micros = 13;
     */
    cpcBidMicros?: bigint;
    /**
     * The geo targets.
     * Max number allowed: 20.
     *
     * @generated from protobuf field: repeated google.ads.googleads.v11.resources.KeywordPlanGeoTarget geo_targets = 8;
     */
    geoTargets: KeywordPlanGeoTarget[];
}
/**
 * A geo target.
 *
 * @generated from protobuf message google.ads.googleads.v11.resources.KeywordPlanGeoTarget
 */
export interface KeywordPlanGeoTarget {
    /**
     * Required. The resource name of the geo target.
     *
     * @generated from protobuf field: optional string geo_target_constant = 2;
     */
    geoTargetConstant?: string;
}
declare class KeywordPlanCampaign$Type extends MessageType<KeywordPlanCampaign> {
    constructor();
    create(value?: PartialMessage<KeywordPlanCampaign>): KeywordPlanCampaign;
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: KeywordPlanCampaign): KeywordPlanCampaign;
    internalBinaryWrite(message: KeywordPlanCampaign, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
}
/**
 * @generated MessageType for protobuf message google.ads.googleads.v11.resources.KeywordPlanCampaign
 */
export declare const KeywordPlanCampaign: KeywordPlanCampaign$Type;
declare class KeywordPlanGeoTarget$Type extends MessageType<KeywordPlanGeoTarget> {
    constructor();
    create(value?: PartialMessage<KeywordPlanGeoTarget>): KeywordPlanGeoTarget;
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: KeywordPlanGeoTarget): KeywordPlanGeoTarget;
    internalBinaryWrite(message: KeywordPlanGeoTarget, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
}
/**
 * @generated MessageType for protobuf message google.ads.googleads.v11.resources.KeywordPlanGeoTarget
 */
export declare const KeywordPlanGeoTarget: KeywordPlanGeoTarget$Type;
export {};
