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 { MobileApplicationInfo } from "../common/criteria";
import { MobileAppCategoryInfo } from "../common/criteria";
import { PlacementInfo } from "../common/criteria";
import { YouTubeChannelInfo } from "../common/criteria";
import { YouTubeVideoInfo } from "../common/criteria";
import { KeywordInfo } from "../common/criteria";
import { CriterionTypeEnum_CriterionType } from "../enums/criterion_type";
/**
 * A criterion belonging to a shared set.
 *
 * @generated from protobuf message google.ads.googleads.v11.resources.SharedCriterion
 */
export interface SharedCriterion {
    /**
     * Immutable. The resource name of the shared criterion.
     * Shared set resource names have the form:
     *
     * `customers/{customer_id}/sharedCriteria/{shared_set_id}~{criterion_id}`
     *
     * @generated from protobuf field: string resource_name = 1;
     */
    resourceName: string;
    /**
     * Immutable. The shared set to which the shared criterion belongs.
     *
     * @generated from protobuf field: optional string shared_set = 10;
     */
    sharedSet?: string;
    /**
     * Output only. The ID of the criterion.
     *
     * This field is ignored for mutates.
     *
     * @generated from protobuf field: optional int64 criterion_id = 11;
     */
    criterionId?: bigint;
    /**
     * Output only. The type of the criterion.
     *
     * @generated from protobuf field: google.ads.googleads.v11.enums.CriterionTypeEnum.CriterionType type = 4;
     */
    type: CriterionTypeEnum_CriterionType;
    /**
     * @generated from protobuf oneof: criterion
     */
    criterion: {
        oneofKind: "keyword";
        /**
         * Immutable. Keyword.
         *
         * @generated from protobuf field: google.ads.googleads.v11.common.KeywordInfo keyword = 3;
         */
        keyword: KeywordInfo;
    } | {
        oneofKind: "youtubeVideo";
        /**
         * Immutable. YouTube Video.
         *
         * @generated from protobuf field: google.ads.googleads.v11.common.YouTubeVideoInfo youtube_video = 5;
         */
        youtubeVideo: YouTubeVideoInfo;
    } | {
        oneofKind: "youtubeChannel";
        /**
         * Immutable. YouTube Channel.
         *
         * @generated from protobuf field: google.ads.googleads.v11.common.YouTubeChannelInfo youtube_channel = 6;
         */
        youtubeChannel: YouTubeChannelInfo;
    } | {
        oneofKind: "placement";
        /**
         * Immutable. Placement.
         *
         * @generated from protobuf field: google.ads.googleads.v11.common.PlacementInfo placement = 7;
         */
        placement: PlacementInfo;
    } | {
        oneofKind: "mobileAppCategory";
        /**
         * Immutable. Mobile App Category.
         *
         * @generated from protobuf field: google.ads.googleads.v11.common.MobileAppCategoryInfo mobile_app_category = 8;
         */
        mobileAppCategory: MobileAppCategoryInfo;
    } | {
        oneofKind: "mobileApplication";
        /**
         * Immutable. Mobile application.
         *
         * @generated from protobuf field: google.ads.googleads.v11.common.MobileApplicationInfo mobile_application = 9;
         */
        mobileApplication: MobileApplicationInfo;
    } | {
        oneofKind: undefined;
    };
}
declare class SharedCriterion$Type extends MessageType<SharedCriterion> {
    constructor();
    create(value?: PartialMessage<SharedCriterion>): SharedCriterion;
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: SharedCriterion): SharedCriterion;
    internalBinaryWrite(message: SharedCriterion, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
}
/**
 * @generated MessageType for protobuf message google.ads.googleads.v11.resources.SharedCriterion
 */
export declare const SharedCriterion: SharedCriterion$Type;
export {};
