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 { TargetingDimensionEnum_TargetingDimension } from "../enums/targeting_dimension"; /** * Settings for the targeting-related features, at the campaign and ad group * levels. For more details about the targeting setting, visit * https://support.google.com/google-ads/answer/7365594 * * @generated from protobuf message google.ads.googleads.v11.common.TargetingSetting */ export interface TargetingSetting { /** * The per-targeting-dimension setting to restrict the reach of your campaign * or ad group. * * @generated from protobuf field: repeated google.ads.googleads.v11.common.TargetRestriction target_restrictions = 1; */ targetRestrictions: TargetRestriction[]; /** * The list of operations changing the target restrictions. * * Adding a target restriction with a targeting dimension that already exists * causes the existing target restriction to be replaced with the new value. * * @generated from protobuf field: repeated google.ads.googleads.v11.common.TargetRestrictionOperation target_restriction_operations = 2; */ targetRestrictionOperations: TargetRestrictionOperation[]; } /** * The list of per-targeting-dimension targeting settings. * * @generated from protobuf message google.ads.googleads.v11.common.TargetRestriction */ export interface TargetRestriction { /** * The targeting dimension that these settings apply to. * * @generated from protobuf field: google.ads.googleads.v11.enums.TargetingDimensionEnum.TargetingDimension targeting_dimension = 1; */ targetingDimension: TargetingDimensionEnum_TargetingDimension; /** * Indicates whether to restrict your ads to show only for the criteria you * have selected for this targeting_dimension, or to target all values for * this targeting_dimension and show ads based on your targeting in other * TargetingDimensions. A value of `true` means that these criteria will only * apply bid modifiers, and not affect targeting. A value of `false` means * that these criteria will restrict targeting as well as applying bid * modifiers. * * @generated from protobuf field: optional bool bid_only = 3; */ bidOnly?: boolean; } /** * Operation to be performed on a target restriction list in a mutate. * * @generated from protobuf message google.ads.googleads.v11.common.TargetRestrictionOperation */ export interface TargetRestrictionOperation { /** * Type of list operation to perform. * * @generated from protobuf field: google.ads.googleads.v11.common.TargetRestrictionOperation.Operator operator = 1; */ operator: TargetRestrictionOperation_Operator; /** * The target restriction being added to or removed from the list. * * @generated from protobuf field: google.ads.googleads.v11.common.TargetRestriction value = 2; */ value?: TargetRestriction; } /** * The operator. * * @generated from protobuf enum google.ads.googleads.v11.common.TargetRestrictionOperation.Operator */ export declare enum TargetRestrictionOperation_Operator { /** * Unspecified. * * @generated from protobuf enum value: UNSPECIFIED = 0; */ UNSPECIFIED = 0, /** * Used for return value only. Represents value unknown in this version. * * @generated from protobuf enum value: UNKNOWN = 1; */ UNKNOWN = 1, /** * Add the restriction to the existing restrictions. * * @generated from protobuf enum value: ADD = 2; */ ADD = 2, /** * Remove the restriction from the existing restrictions. * * @generated from protobuf enum value: REMOVE = 3; */ REMOVE = 3 } declare class TargetingSetting$Type extends MessageType { constructor(); create(value?: PartialMessage): TargetingSetting; internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: TargetingSetting): TargetingSetting; internalBinaryWrite(message: TargetingSetting, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter; } /** * @generated MessageType for protobuf message google.ads.googleads.v11.common.TargetingSetting */ export declare const TargetingSetting: TargetingSetting$Type; declare class TargetRestriction$Type extends MessageType { constructor(); create(value?: PartialMessage): TargetRestriction; internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: TargetRestriction): TargetRestriction; internalBinaryWrite(message: TargetRestriction, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter; } /** * @generated MessageType for protobuf message google.ads.googleads.v11.common.TargetRestriction */ export declare const TargetRestriction: TargetRestriction$Type; declare class TargetRestrictionOperation$Type extends MessageType { constructor(); create(value?: PartialMessage): TargetRestrictionOperation; internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: TargetRestrictionOperation): TargetRestrictionOperation; internalBinaryWrite(message: TargetRestrictionOperation, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter; } /** * @generated MessageType for protobuf message google.ads.googleads.v11.common.TargetRestrictionOperation */ export declare const TargetRestrictionOperation: TargetRestrictionOperation$Type; export {};