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 { AdvertisingChannelTypeEnum_AdvertisingChannelType } from "../enums/advertising_channel_type";
import { DeviceEnum_Device } from "../enums/device";
import { SeasonalityEventStatusEnum_SeasonalityEventStatus } from "../enums/seasonality_event_status";
import { SeasonalityEventScopeEnum_SeasonalityEventScope } from "../enums/seasonality_event_scope";
/**
 * Represents a bidding data exclusion.
 *
 * See "About data exclusions" at
 * https://support.google.com/google-ads/answer/10370710.
 *
 * @generated from protobuf message google.ads.googleads.v11.resources.BiddingDataExclusion
 */
export interface BiddingDataExclusion {
    /**
     * Immutable. The resource name of the data exclusion.
     * Data exclusion resource names have the form:
     *
     * `customers/{customer_id}/biddingDataExclusions/{data_exclusion_id}`
     *
     * @generated from protobuf field: string resource_name = 1;
     */
    resourceName: string;
    /**
     * Output only. The ID of the data exclusion.
     *
     * @generated from protobuf field: int64 data_exclusion_id = 2;
     */
    dataExclusionId: bigint;
    /**
     * The scope of the data exclusion.
     *
     * @generated from protobuf field: google.ads.googleads.v11.enums.SeasonalityEventScopeEnum.SeasonalityEventScope scope = 3;
     */
    scope: SeasonalityEventScopeEnum_SeasonalityEventScope;
    /**
     * Output only. The status of the data exclusion.
     *
     * @generated from protobuf field: google.ads.googleads.v11.enums.SeasonalityEventStatusEnum.SeasonalityEventStatus status = 4;
     */
    status: SeasonalityEventStatusEnum_SeasonalityEventStatus;
    /**
     * Required. The inclusive start time of the data exclusion in yyyy-MM-dd HH:mm:ss
     * format.
     *
     * A data exclusion is backward looking and should be used for events that
     * start in the past and end either in the past or future.
     *
     * @generated from protobuf field: string start_date_time = 5;
     */
    startDateTime: string;
    /**
     * Required. The exclusive end time of the data exclusion in yyyy-MM-dd HH:mm:ss format.
     *
     * The length of [start_date_time, end_date_time) interval must be
     * within (0, 14 days].
     *
     * @generated from protobuf field: string end_date_time = 6;
     */
    endDateTime: string;
    /**
     * The name of the data exclusion. The name can be at most 255
     * characters.
     *
     * @generated from protobuf field: string name = 7;
     */
    name: string;
    /**
     * The description of the data exclusion. The description can be at
     * most 2048 characters.
     *
     * @generated from protobuf field: string description = 8;
     */
    description: string;
    /**
     * If not specified, all devices will be included in this exclusion.
     * Otherwise, only the specified targeted devices will be included in this
     * exclusion.
     *
     * @generated from protobuf field: repeated google.ads.googleads.v11.enums.DeviceEnum.Device devices = 9;
     */
    devices: DeviceEnum_Device[];
    /**
     * The data exclusion will apply to the campaigns listed when the scope of
     * this exclusion is CAMPAIGN. The maximum number of campaigns per event is
     * 2000.
     * Note: a data exclusion with both advertising_channel_types and
     * campaign_ids is not supported.
     *
     * @generated from protobuf field: repeated string campaigns = 10;
     */
    campaigns: string[];
    /**
     * The data_exclusion will apply to all the campaigns under the listed
     * channels retroactively as well as going forward when the scope of this
     * exclusion is CHANNEL.
     * The supported advertising channel types are DISPLAY, SEARCH and SHOPPING.
     * Note: a data exclusion with both advertising_channel_types and
     * campaign_ids is not supported.
     *
     * @generated from protobuf field: repeated google.ads.googleads.v11.enums.AdvertisingChannelTypeEnum.AdvertisingChannelType advertising_channel_types = 11;
     */
    advertisingChannelTypes: AdvertisingChannelTypeEnum_AdvertisingChannelType[];
}
declare class BiddingDataExclusion$Type extends MessageType<BiddingDataExclusion> {
    constructor();
    create(value?: PartialMessage<BiddingDataExclusion>): BiddingDataExclusion;
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: BiddingDataExclusion): BiddingDataExclusion;
    internalBinaryWrite(message: BiddingDataExclusion, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
}
/**
 * @generated MessageType for protobuf message google.ads.googleads.v11.resources.BiddingDataExclusion
 */
export declare const BiddingDataExclusion: BiddingDataExclusion$Type;
export {};
