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 { ExtensionSettingDeviceEnum_ExtensionSettingDevice } from "../enums/extension_setting_device";
import { ExtensionTypeEnum_ExtensionType } from "../enums/extension_type";
/**
 * A campaign extension setting.
 *
 * @generated from protobuf message google.ads.googleads.v11.resources.CampaignExtensionSetting
 */
export interface CampaignExtensionSetting {
    /**
     * Immutable. The resource name of the campaign extension setting.
     * CampaignExtensionSetting resource names have the form:
     *
     * `customers/{customer_id}/campaignExtensionSettings/{campaign_id}~{extension_type}`
     *
     * @generated from protobuf field: string resource_name = 1;
     */
    resourceName: string;
    /**
     * Immutable. The extension type of the customer extension setting.
     *
     * @generated from protobuf field: google.ads.googleads.v11.enums.ExtensionTypeEnum.ExtensionType extension_type = 2;
     */
    extensionType: ExtensionTypeEnum_ExtensionType;
    /**
     * Immutable. The resource name of the campaign. The linked extension feed items will
     * serve under this campaign.
     * Campaign resource names have the form:
     *
     * `customers/{customer_id}/campaigns/{campaign_id}`
     *
     * @generated from protobuf field: optional string campaign = 6;
     */
    campaign?: string;
    /**
     * The resource names of the extension feed items to serve under the campaign.
     * ExtensionFeedItem resource names have the form:
     *
     * `customers/{customer_id}/extensionFeedItems/{feed_item_id}`
     *
     * @generated from protobuf field: repeated string extension_feed_items = 7;
     */
    extensionFeedItems: string[];
    /**
     * The device for which the extensions will serve. Optional.
     *
     * @generated from protobuf field: google.ads.googleads.v11.enums.ExtensionSettingDeviceEnum.ExtensionSettingDevice device = 5;
     */
    device: ExtensionSettingDeviceEnum_ExtensionSettingDevice;
}
declare class CampaignExtensionSetting$Type extends MessageType<CampaignExtensionSetting> {
    constructor();
    create(value?: PartialMessage<CampaignExtensionSetting>): CampaignExtensionSetting;
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: CampaignExtensionSetting): CampaignExtensionSetting;
    internalBinaryWrite(message: CampaignExtensionSetting, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
}
/**
 * @generated MessageType for protobuf message google.ads.googleads.v11.resources.CampaignExtensionSetting
 */
export declare const CampaignExtensionSetting: CampaignExtensionSetting$Type;
export {};
