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 { CampaignDraftStatusEnum_CampaignDraftStatus } from "../enums/campaign_draft_status";
/**
 * A campaign draft.
 *
 * @generated from protobuf message google.ads.googleads.v11.resources.CampaignDraft
 */
export interface CampaignDraft {
    /**
     * Immutable. The resource name of the campaign draft.
     * Campaign draft resource names have the form:
     *
     * `customers/{customer_id}/campaignDrafts/{base_campaign_id}~{draft_id}`
     *
     * @generated from protobuf field: string resource_name = 1;
     */
    resourceName: string;
    /**
     * Output only. The ID of the draft.
     *
     * This field is read-only.
     *
     * @generated from protobuf field: optional int64 draft_id = 9;
     */
    draftId?: bigint;
    /**
     * Immutable. The base campaign to which the draft belongs.
     *
     * @generated from protobuf field: optional string base_campaign = 10;
     */
    baseCampaign?: string;
    /**
     * The name of the campaign draft.
     *
     * This field is required and should not be empty when creating new
     * campaign drafts.
     *
     * It must not contain any null (code point 0x0), NL line feed
     * (code point 0xA) or carriage return (code point 0xD) characters.
     *
     * @generated from protobuf field: optional string name = 11;
     */
    name?: string;
    /**
     * Output only. Resource name of the Campaign that results from overlaying the draft
     * changes onto the base campaign.
     *
     * This field is read-only.
     *
     * @generated from protobuf field: optional string draft_campaign = 12;
     */
    draftCampaign?: string;
    /**
     * Output only. The status of the campaign draft. This field is read-only.
     *
     * When a new campaign draft is added, the status defaults to PROPOSED.
     *
     * @generated from protobuf field: google.ads.googleads.v11.enums.CampaignDraftStatusEnum.CampaignDraftStatus status = 6;
     */
    status: CampaignDraftStatusEnum_CampaignDraftStatus;
    /**
     * Output only. Whether there is an experiment based on this draft currently serving.
     *
     * @generated from protobuf field: optional bool has_experiment_running = 13;
     */
    hasExperimentRunning?: boolean;
    /**
     * Output only. The resource name of the long-running operation that can be used to poll
     * for completion of draft promotion. This is only set if the draft promotion
     * is in progress or finished.
     *
     * @generated from protobuf field: optional string long_running_operation = 14;
     */
    longRunningOperation?: string;
}
declare class CampaignDraft$Type extends MessageType<CampaignDraft> {
    constructor();
    create(value?: PartialMessage<CampaignDraft>): CampaignDraft;
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: CampaignDraft): CampaignDraft;
    internalBinaryWrite(message: CampaignDraft, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
}
/**
 * @generated MessageType for protobuf message google.ads.googleads.v11.resources.CampaignDraft
 */
export declare const CampaignDraft: CampaignDraft$Type;
export {};
