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 { ImageFeedItem } from "../common/extensions";
import { HotelCalloutFeedItem } from "../common/extensions";
import { AffiliateLocationFeedItem } from "../common/extensions";
import { LocationFeedItem } from "../common/extensions";
import { PromotionFeedItem } from "../common/extensions";
import { PriceFeedItem } from "../common/extensions";
import { TextMessageFeedItem } from "../common/extensions";
import { CalloutFeedItem } from "../common/extensions";
import { CallFeedItem } from "../common/extensions";
import { AppFeedItem } from "../common/extensions";
import { StructuredSnippetFeedItem } from "../common/extensions";
import { SitelinkFeedItem } from "../common/extensions";
import { FeedItemStatusEnum_FeedItemStatus } from "../enums/feed_item_status";
import { KeywordInfo } from "../common/criteria";
import { FeedItemTargetDeviceEnum_FeedItemTargetDevice } from "../enums/feed_item_target_device";
import { AdScheduleInfo } from "../common/criteria";
import { ExtensionTypeEnum_ExtensionType } from "../enums/extension_type";
/**
 * An extension feed item.
 *
 * @generated from protobuf message google.ads.googleads.v11.resources.ExtensionFeedItem
 */
export interface ExtensionFeedItem {
    /**
     * Immutable. The resource name of the extension feed item.
     * Extension feed item resource names have the form:
     *
     * `customers/{customer_id}/extensionFeedItems/{feed_item_id}`
     *
     * @generated from protobuf field: string resource_name = 1;
     */
    resourceName: string;
    /**
     * Output only. The ID of this feed item. Read-only.
     *
     * @generated from protobuf field: optional int64 id = 25;
     */
    id?: bigint;
    /**
     * Output only. The extension type of the extension feed item.
     * This field is read-only.
     *
     * @generated from protobuf field: google.ads.googleads.v11.enums.ExtensionTypeEnum.ExtensionType extension_type = 13;
     */
    extensionType: ExtensionTypeEnum_ExtensionType;
    /**
     * Start time in which this feed item is effective and can begin serving. The
     * time is in the customer's time zone.
     * The format is "YYYY-MM-DD HH:MM:SS".
     * Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
     *
     * @generated from protobuf field: optional string start_date_time = 26;
     */
    startDateTime?: string;
    /**
     * End time in which this feed item is no longer effective and will stop
     * serving. The time is in the customer's time zone.
     * The format is "YYYY-MM-DD HH:MM:SS".
     * Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
     *
     * @generated from protobuf field: optional string end_date_time = 27;
     */
    endDateTime?: string;
    /**
     * List of non-overlapping schedules specifying all time intervals
     * for which the feed item may serve. There can be a maximum of 6 schedules
     * per day.
     *
     * @generated from protobuf field: repeated google.ads.googleads.v11.common.AdScheduleInfo ad_schedules = 16;
     */
    adSchedules: AdScheduleInfo[];
    /**
     * The targeted device.
     *
     * @generated from protobuf field: google.ads.googleads.v11.enums.FeedItemTargetDeviceEnum.FeedItemTargetDevice device = 17;
     */
    device: FeedItemTargetDeviceEnum_FeedItemTargetDevice;
    /**
     * The targeted geo target constant.
     *
     * @generated from protobuf field: optional string targeted_geo_target_constant = 30;
     */
    targetedGeoTargetConstant?: string;
    /**
     * The targeted keyword.
     *
     * @generated from protobuf field: google.ads.googleads.v11.common.KeywordInfo targeted_keyword = 22;
     */
    targetedKeyword?: KeywordInfo;
    /**
     * Output only. Status of the feed item.
     * This field is read-only.
     *
     * @generated from protobuf field: google.ads.googleads.v11.enums.FeedItemStatusEnum.FeedItemStatus status = 4;
     */
    status: FeedItemStatusEnum_FeedItemStatus;
    /**
     * @generated from protobuf oneof: extension
     */
    extension: {
        oneofKind: "sitelinkFeedItem";
        /**
         * Sitelink extension.
         *
         * @generated from protobuf field: google.ads.googleads.v11.common.SitelinkFeedItem sitelink_feed_item = 2;
         */
        sitelinkFeedItem: SitelinkFeedItem;
    } | {
        oneofKind: "structuredSnippetFeedItem";
        /**
         * Structured snippet extension.
         *
         * @generated from protobuf field: google.ads.googleads.v11.common.StructuredSnippetFeedItem structured_snippet_feed_item = 3;
         */
        structuredSnippetFeedItem: StructuredSnippetFeedItem;
    } | {
        oneofKind: "appFeedItem";
        /**
         * App extension.
         *
         * @generated from protobuf field: google.ads.googleads.v11.common.AppFeedItem app_feed_item = 7;
         */
        appFeedItem: AppFeedItem;
    } | {
        oneofKind: "callFeedItem";
        /**
         * Call extension.
         *
         * @generated from protobuf field: google.ads.googleads.v11.common.CallFeedItem call_feed_item = 8;
         */
        callFeedItem: CallFeedItem;
    } | {
        oneofKind: "calloutFeedItem";
        /**
         * Callout extension.
         *
         * @generated from protobuf field: google.ads.googleads.v11.common.CalloutFeedItem callout_feed_item = 9;
         */
        calloutFeedItem: CalloutFeedItem;
    } | {
        oneofKind: "textMessageFeedItem";
        /**
         * Text message extension.
         *
         * @generated from protobuf field: google.ads.googleads.v11.common.TextMessageFeedItem text_message_feed_item = 10;
         */
        textMessageFeedItem: TextMessageFeedItem;
    } | {
        oneofKind: "priceFeedItem";
        /**
         * Price extension.
         *
         * @generated from protobuf field: google.ads.googleads.v11.common.PriceFeedItem price_feed_item = 11;
         */
        priceFeedItem: PriceFeedItem;
    } | {
        oneofKind: "promotionFeedItem";
        /**
         * Promotion extension.
         *
         * @generated from protobuf field: google.ads.googleads.v11.common.PromotionFeedItem promotion_feed_item = 12;
         */
        promotionFeedItem: PromotionFeedItem;
    } | {
        oneofKind: "locationFeedItem";
        /**
         * Output only. Location extension. Locations are synced from a Business Profile into a
         * feed. This field is read-only.
         *
         * @generated from protobuf field: google.ads.googleads.v11.common.LocationFeedItem location_feed_item = 14;
         */
        locationFeedItem: LocationFeedItem;
    } | {
        oneofKind: "affiliateLocationFeedItem";
        /**
         * Output only. Affiliate location extension. Feed locations are populated by Google Ads
         * based on a chain ID.
         * This field is read-only.
         *
         * @generated from protobuf field: google.ads.googleads.v11.common.AffiliateLocationFeedItem affiliate_location_feed_item = 15;
         */
        affiliateLocationFeedItem: AffiliateLocationFeedItem;
    } | {
        oneofKind: "hotelCalloutFeedItem";
        /**
         * Hotel Callout extension.
         *
         * @generated from protobuf field: google.ads.googleads.v11.common.HotelCalloutFeedItem hotel_callout_feed_item = 23;
         */
        hotelCalloutFeedItem: HotelCalloutFeedItem;
    } | {
        oneofKind: "imageFeedItem";
        /**
         * Immutable. Advertiser provided image extension.
         *
         * @generated from protobuf field: google.ads.googleads.v11.common.ImageFeedItem image_feed_item = 31;
         */
        imageFeedItem: ImageFeedItem;
    } | {
        oneofKind: undefined;
    };
    /**
     * @generated from protobuf oneof: serving_resource_targeting
     */
    servingResourceTargeting: {
        oneofKind: "targetedCampaign";
        /**
         * The targeted campaign.
         *
         * @generated from protobuf field: string targeted_campaign = 28;
         */
        targetedCampaign: string;
    } | {
        oneofKind: "targetedAdGroup";
        /**
         * The targeted ad group.
         *
         * @generated from protobuf field: string targeted_ad_group = 29;
         */
        targetedAdGroup: string;
    } | {
        oneofKind: undefined;
    };
}
declare class ExtensionFeedItem$Type extends MessageType<ExtensionFeedItem> {
    constructor();
    create(value?: PartialMessage<ExtensionFeedItem>): ExtensionFeedItem;
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: ExtensionFeedItem): ExtensionFeedItem;
    internalBinaryWrite(message: ExtensionFeedItem, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
}
/**
 * @generated MessageType for protobuf message google.ads.googleads.v11.resources.ExtensionFeedItem
 */
export declare const ExtensionFeedItem: ExtensionFeedItem$Type;
export {};
