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 { AdScheduleInfo } from "../common/criteria";
import { FeedItemTargetDeviceEnum_FeedItemTargetDevice } from "../enums/feed_item_target_device";
import { KeywordInfo } from "../common/criteria";
import { FeedItemTargetStatusEnum_FeedItemTargetStatus } from "../enums/feed_item_target_status";
import { FeedItemTargetTypeEnum_FeedItemTargetType } from "../enums/feed_item_target_type";
/**
 * A feed item target.
 *
 * @generated from protobuf message google.ads.googleads.v11.resources.FeedItemTarget
 */
export interface FeedItemTarget {
    /**
     * Immutable. The resource name of the feed item target.
     * Feed item target resource names have the form:
     * `customers/{customer_id}/feedItemTargets/{feed_id}~{feed_item_id}~{feed_item_target_type}~{feed_item_target_id}`
     *
     * @generated from protobuf field: string resource_name = 1;
     */
    resourceName: string;
    /**
     * Immutable. The feed item to which this feed item target belongs.
     *
     * @generated from protobuf field: optional string feed_item = 12;
     */
    feedItem?: string;
    /**
     * Output only. The target type of this feed item target. This field is read-only.
     *
     * @generated from protobuf field: google.ads.googleads.v11.enums.FeedItemTargetTypeEnum.FeedItemTargetType feed_item_target_type = 3;
     */
    feedItemTargetType: FeedItemTargetTypeEnum_FeedItemTargetType;
    /**
     * Output only. The ID of the targeted resource. This field is read-only.
     *
     * @generated from protobuf field: optional int64 feed_item_target_id = 13;
     */
    feedItemTargetId?: bigint;
    /**
     * Output only. Status of the feed item target.
     * This field is read-only.
     *
     * @generated from protobuf field: google.ads.googleads.v11.enums.FeedItemTargetStatusEnum.FeedItemTargetStatus status = 11;
     */
    status: FeedItemTargetStatusEnum_FeedItemTargetStatus;
    /**
     * @generated from protobuf oneof: target
     */
    target: {
        oneofKind: "campaign";
        /**
         * Immutable. The targeted campaign.
         *
         * @generated from protobuf field: string campaign = 14;
         */
        campaign: string;
    } | {
        oneofKind: "adGroup";
        /**
         * Immutable. The targeted ad group.
         *
         * @generated from protobuf field: string ad_group = 15;
         */
        adGroup: string;
    } | {
        oneofKind: "keyword";
        /**
         * Immutable. The targeted keyword.
         *
         * @generated from protobuf field: google.ads.googleads.v11.common.KeywordInfo keyword = 7;
         */
        keyword: KeywordInfo;
    } | {
        oneofKind: "geoTargetConstant";
        /**
         * Immutable. The targeted geo target constant resource name.
         *
         * @generated from protobuf field: string geo_target_constant = 16;
         */
        geoTargetConstant: string;
    } | {
        oneofKind: "device";
        /**
         * Immutable. The targeted device.
         *
         * @generated from protobuf field: google.ads.googleads.v11.enums.FeedItemTargetDeviceEnum.FeedItemTargetDevice device = 9;
         */
        device: FeedItemTargetDeviceEnum_FeedItemTargetDevice;
    } | {
        oneofKind: "adSchedule";
        /**
         * Immutable. The targeted schedule.
         *
         * @generated from protobuf field: google.ads.googleads.v11.common.AdScheduleInfo ad_schedule = 10;
         */
        adSchedule: AdScheduleInfo;
    } | {
        oneofKind: undefined;
    };
}
declare class FeedItemTarget$Type extends MessageType<FeedItemTarget> {
    constructor();
    create(value?: PartialMessage<FeedItemTarget>): FeedItemTarget;
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: FeedItemTarget): FeedItemTarget;
    internalBinaryWrite(message: FeedItemTarget, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
}
/**
 * @generated MessageType for protobuf message google.ads.googleads.v11.resources.FeedItemTarget
 */
export declare const FeedItemTarget: FeedItemTarget$Type;
export {};
