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 seasonality adjustment.
 *
 * See "About seasonality adjustments" at
 * https://support.google.com/google-ads/answer/10369906.
 *
 * @generated from protobuf message google.ads.googleads.v11.resources.BiddingSeasonalityAdjustment
 */
export interface BiddingSeasonalityAdjustment {
    /**
     * Immutable. The resource name of the seasonality adjustment.
     * Seasonality adjustment resource names have the form:
     *
     * `customers/{customer_id}/biddingSeasonalityAdjustments/{seasonality_adjustment_id}`
     *
     * @generated from protobuf field: string resource_name = 1;
     */
    resourceName: string;
    /**
     * Output only. The ID of the seasonality adjustment.
     *
     * @generated from protobuf field: int64 seasonality_adjustment_id = 2;
     */
    seasonalityAdjustmentId: bigint;
    /**
     * The scope of the seasonality adjustment.
     *
     * @generated from protobuf field: google.ads.googleads.v11.enums.SeasonalityEventScopeEnum.SeasonalityEventScope scope = 3;
     */
    scope: SeasonalityEventScopeEnum_SeasonalityEventScope;
    /**
     * Output only. The status of the seasonality adjustment.
     *
     * @generated from protobuf field: google.ads.googleads.v11.enums.SeasonalityEventStatusEnum.SeasonalityEventStatus status = 4;
     */
    status: SeasonalityEventStatusEnum_SeasonalityEventStatus;
    /**
     * Required. The inclusive start time of the seasonality adjustment in yyyy-MM-dd
     * HH:mm:ss format.
     *
     * A seasonality adjustment is forward looking and should be used for events
     * that start and end in the future.
     *
     * @generated from protobuf field: string start_date_time = 5;
     */
    startDateTime: string;
    /**
     * Required. The exclusive end time of the seasonality adjustment 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 seasonality adjustment. The name can be at most 255
     * characters.
     *
     * @generated from protobuf field: string name = 7;
     */
    name: string;
    /**
     * The description of the seasonality adjustment. 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 adjustment.
     * Otherwise, only the specified targeted devices will be included in this
     * adjustment.
     *
     * @generated from protobuf field: repeated google.ads.googleads.v11.enums.DeviceEnum.Device devices = 9;
     */
    devices: DeviceEnum_Device[];
    /**
     * Conversion rate modifier estimated based on expected conversion rate
     * changes. When this field is unset or set to 1.0 no adjustment will be
     * applied to traffic. The allowed range is 0.1 to 10.0.
     *
     * @generated from protobuf field: double conversion_rate_modifier = 10;
     */
    conversionRateModifier: number;
    /**
     * The seasonality adjustment will apply to the campaigns listed when the
     * scope of this adjustment is CAMPAIGN. The maximum number of campaigns per
     * event is 2000.
     * Note: a seasonality adjustment with both advertising_channel_types and
     * campaign_ids is not supported.
     *
     * @generated from protobuf field: repeated string campaigns = 11;
     */
    campaigns: string[];
    /**
     * The seasonality adjustment will apply to all the campaigns under the listed
     * channels retroactively as well as going forward when the scope of this
     * adjustment is CHANNEL.
     * The supported advertising channel types are DISPLAY, SEARCH and SHOPPING.
     * Note: a seasonality adjustment 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 = 12;
     */
    advertisingChannelTypes: AdvertisingChannelTypeEnum_AdvertisingChannelType[];
}
declare class BiddingSeasonalityAdjustment$Type extends MessageType<BiddingSeasonalityAdjustment> {
    constructor();
    create(value?: PartialMessage<BiddingSeasonalityAdjustment>): BiddingSeasonalityAdjustment;
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: BiddingSeasonalityAdjustment): BiddingSeasonalityAdjustment;
    internalBinaryWrite(message: BiddingSeasonalityAdjustment, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
}
/**
 * @generated MessageType for protobuf message google.ads.googleads.v11.resources.BiddingSeasonalityAdjustment
 */
export declare const BiddingSeasonalityAdjustment: BiddingSeasonalityAdjustment$Type;
export {};
