import { OAuth2Client, JWT, Compute, UserRefreshClient, BaseExternalAccountClient, GaxiosResponseWithHTTP2, GoogleConfigurable, MethodOptions, StreamMethodOptions, GlobalOptions, GoogleAuth, BodyResponseCallback, APIRequestContext } from 'googleapis-common';
import { Readable } from 'stream';
export declare namespace searchads360_v23 {
    export interface Options extends GlobalOptions {
        version: 'v23';
    }
    interface StandardParameters {
        /**
         * Auth client or API Key for the request
         */
        auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient | BaseExternalAccountClient | GoogleAuth;
        /**
         * V1 error format.
         */
        '$.xgafv'?: string;
        /**
         * OAuth access token.
         */
        access_token?: string;
        /**
         * Data format for response.
         */
        alt?: string;
        /**
         * JSONP
         */
        callback?: string;
        /**
         * Selector specifying which fields to include in a partial response.
         */
        fields?: string;
        /**
         * API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.
         */
        key?: string;
        /**
         * OAuth 2.0 token for the current user.
         */
        oauth_token?: string;
        /**
         * Returns response with indentations and line breaks.
         */
        prettyPrint?: boolean;
        /**
         * Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.
         */
        quotaUser?: string;
        /**
         * Legacy upload protocol for media (e.g. "media", "multipart").
         */
        uploadType?: string;
        /**
         * Upload protocol for media (e.g. "raw", "multipart").
         */
        upload_protocol?: string;
    }
    /**
     * Search Ads 360 Reporting API
     *
     * The Search Ads 360 API allows developers to automate downloading reports from Search Ads 360.
     *
     * @example
     * ```js
     * const {google} = require('googleapis');
     * const searchads360 = google.searchads360('v23');
     * ```
     */
    export class Searchads360 {
        context: APIRequestContext;
        audienceInsights: Resource$Audienceinsights;
        customers: Resource$Customers;
        geoTargetConstants: Resource$Geotargetconstants;
        incentives: Resource$Incentives;
        keywordThemeConstants: Resource$Keywordthemeconstants;
        searchAds360Fields: Resource$Searchads360fields;
        v23: Resource$V23;
        constructor(options: GlobalOptions, google?: GoogleConfigurable);
    }
    /**
     * A generic data container.
     */
    export interface Schema$GoogleAdsSearchads360V0Common__Value {
        /**
         * A boolean.
         */
        booleanValue?: boolean | null;
        /**
         * A double.
         */
        doubleValue?: number | null;
        /**
         * A float.
         */
        floatValue?: number | null;
        /**
         * An int64.
         */
        int64Value?: string | null;
        /**
         * A string.
         */
        stringValue?: string | null;
    }
    /**
     * A part of a field path.
     */
    export interface Schema$GoogleAdsSearchads360V0Errors_ErrorLocation_FieldPathElement {
        /**
         * The name of a field or a oneof
         */
        fieldName?: string | null;
        /**
         * If field_name is a repeated field, this is the element that failed
         */
        index?: number | null;
    }
    /**
     * The error reason represented by type and enum.
     */
    export interface Schema$GoogleAdsSearchads360V0Errors__ErrorCode {
        /**
         * Indicates failure to properly authenticate user.
         */
        authenticationError?: string | null;
        /**
         * An error encountered when trying to authorize a user.
         */
        authorizationError?: string | null;
        /**
         * The reasons for the conversion custom variable error
         */
        conversionCustomVariableError?: string | null;
        /**
         * The reasons for the custom column error
         */
        customColumnError?: string | null;
        /**
         * The reasons for the date error
         */
        dateError?: string | null;
        /**
         * The reasons for the date range error
         */
        dateRangeError?: string | null;
        /**
         * The reasons for the distinct error
         */
        distinctError?: string | null;
        /**
         * The reasons for the header error.
         */
        headerError?: string | null;
        /**
         * An unexpected server-side error.
         */
        internalError?: string | null;
        /**
         * The reasons for invalid parameter errors.
         */
        invalidParameterError?: string | null;
        /**
         * An error with the query
         */
        queryError?: string | null;
        /**
         * An error with the amount of quota remaining.
         */
        quotaError?: string | null;
        /**
         * An error caused by the request
         */
        requestError?: string | null;
        /**
         * The reasons for the size limit error
         */
        sizeLimitError?: string | null;
    }
    /**
     * Additional error details.
     */
    export interface Schema$GoogleAdsSearchads360V0Errors__ErrorDetails {
        /**
         * Details on the quota error, including the scope (account or developer), the rate bucket name and the retry delay.
         */
        quotaErrorDetails?: Schema$GoogleAdsSearchads360V0Errors__QuotaErrorDetails;
        /**
         * The error code that should have been returned, but wasn't. This is used when the error code is not published in the client specified version.
         */
        unpublishedErrorCode?: string | null;
    }
    /**
     * Describes the part of the request proto that caused the error.
     */
    export interface Schema$GoogleAdsSearchads360V0Errors__ErrorLocation {
        /**
         * A field path that indicates which field was invalid in the request.
         */
        fieldPathElements?: Schema$GoogleAdsSearchads360V0Errors_ErrorLocation_FieldPathElement[];
    }
    /**
     * Additional quota error details when there is QuotaError.
     */
    export interface Schema$GoogleAdsSearchads360V0Errors__QuotaErrorDetails {
        /**
         * The high level description of the quota bucket. Examples are "Get requests for standard access" or "Requests per account".
         */
        rateName?: string | null;
        /**
         * The rate scope of the quota limit.
         */
        rateScope?: string | null;
        /**
         * Backoff period that customers should wait before sending next request.
         */
        retryDelay?: string | null;
    }
    /**
     * Search Ads 360-specific error.
     */
    export interface Schema$GoogleAdsSearchads360V0Errors__SearchAds360Error {
        /**
         * Additional error details, which are returned by certain error codes. Most error codes do not include details.
         */
        details?: Schema$GoogleAdsSearchads360V0Errors__ErrorDetails;
        /**
         * An enum value that indicates which error occurred.
         */
        errorCode?: Schema$GoogleAdsSearchads360V0Errors__ErrorCode;
        /**
         * Describes the part of the request proto that caused the error.
         */
        location?: Schema$GoogleAdsSearchads360V0Errors__ErrorLocation;
        /**
         * A human-readable description of the error.
         */
        message?: string | null;
        /**
         * The value that triggered the error.
         */
        trigger?: Schema$GoogleAdsSearchads360V0Common__Value;
    }
    /**
     * Describes how a Search Ads 360 API call failed. It's returned inside google.rpc.Status.details when a call fails.
     */
    export interface Schema$GoogleAdsSearchads360V0Errors__SearchAds360Failure {
        /**
         * The list of errors that occurred.
         */
        errors?: Schema$GoogleAdsSearchads360V0Errors__SearchAds360Error[];
        /**
         * The unique ID of the request that is used for debugging purposes.
         */
        requestId?: string | null;
    }
    /**
     * Retention campaign goal settings.
     */
    export interface Schema$GoogleAdsSearchads360V23Common_CampaignGoalSettings_CampaignRetentionGoalSettings {
        /**
         * Retention goal optimization mode for this campaign. Defaults to TARGET_ALL. Only customers on the allowlist can set target_option.
         */
        targetOption?: string | null;
        /**
         * Retention goal campaign specific value settings.
         */
        valueSettingsOverride?: Schema$GoogleAdsSearchads360V23Common__CustomerLifecycleOptimizationValueSettings;
    }
    /**
     * Retention goal settings.
     */
    export interface Schema$GoogleAdsSearchads360V23Common_GoalSetting_RetentionGoal {
        /**
         * Retention goal value settings.
         */
        valueSettings?: Schema$GoogleAdsSearchads360V23Common__CustomerLifecycleOptimizationValueSettings;
    }
    /**
     * A YouTube channel returned as an example of the content in a lineup.
     */
    export interface Schema$GoogleAdsSearchads360V23Common_LineupAttributeMetadata_SampleChannel {
        /**
         * The name of the sample channel.
         */
        displayName?: string | null;
        /**
         * A YouTube channel.
         */
        youtubeChannel?: Schema$GoogleAdsSearchads360V23Common__YouTubeChannelInfo;
        /**
         * Metadata for the sample channel.
         */
        youtubeChannelMetadata?: Schema$GoogleAdsSearchads360V23Common__YouTubeChannelAttributeMetadata;
    }
    /**
     * Indicates that a resource's ability to serve in a particular country is constrained.
     */
    export interface Schema$GoogleAdsSearchads360V23Common_PolicyTopicConstraint_CountryConstraint {
        /**
         * Geo target constant resource name of the country in which serving is constrained.
         */
        countryCriterion?: string | null;
    }
    /**
     * A list of countries where a resource's serving is constrained.
     */
    export interface Schema$GoogleAdsSearchads360V23Common_PolicyTopicConstraint_CountryConstraintList {
        /**
         * Countries in which serving is restricted.
         */
        countries?: Schema$GoogleAdsSearchads360V23Common_PolicyTopicConstraint_CountryConstraint[];
        /**
         * Total number of countries targeted by the resource.
         */
        totalTargetedCountries?: number | null;
    }
    /**
     * Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes.
     */
    export interface Schema$GoogleAdsSearchads360V23Common_PolicyTopicConstraint_ResellerConstraint {
    }
    /**
     * Evidence of mismatches between the URLs of a resource.
     */
    export interface Schema$GoogleAdsSearchads360V23Common_PolicyTopicEvidence_DestinationMismatch {
        /**
         * The set of URLs that did not match each other.
         */
        urlTypes?: string[] | null;
    }
    /**
     * Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
     */
    export interface Schema$GoogleAdsSearchads360V23Common_PolicyTopicEvidence_DestinationNotWorking {
        /**
         * The type of device that failed to load the URL.
         */
        device?: string | null;
        /**
         * The type of DNS error.
         */
        dnsErrorType?: string | null;
        /**
         * The full URL that didn't work.
         */
        expandedUrl?: string | null;
        /**
         * The HTTP error code.
         */
        httpErrorCode?: string | null;
        /**
         * The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
         */
        lastCheckedDateTime?: string | null;
    }
    /**
     * A list of strings found in a destination page that caused a policy finding.
     */
    export interface Schema$GoogleAdsSearchads360V23Common_PolicyTopicEvidence_DestinationTextList {
        /**
         * List of text found in the resource's destination page.
         */
        destinationTexts?: string[] | null;
    }
    /**
     * A list of fragments of text that violated a policy.
     */
    export interface Schema$GoogleAdsSearchads360V23Common_PolicyTopicEvidence_TextList {
        /**
         * The fragments of text from the resource that caused the policy finding.
         */
        texts?: string[] | null;
    }
    /**
     * A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here.
     */
    export interface Schema$GoogleAdsSearchads360V23Common_PolicyTopicEvidence_WebsiteList {
        /**
         * Websites that caused the policy finding.
         */
        websites?: string[] | null;
    }
    /**
     * The city where the travel activity is available.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__ActivityCityInfo {
        /**
         * String value of the activity city. The Geo Target Constant resource name.
         */
        value?: string | null;
    }
    /**
     * The country where the travel activity is available.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__ActivityCountryInfo {
        /**
         * String value of the activity country. The Geo Target Constant resource name.
         */
        value?: string | null;
    }
    /**
     * Advertiser-specific activity ID.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__ActivityIdInfo {
        /**
         * String value of the activity ID.
         */
        value?: string | null;
    }
    /**
     * Rating of the activity as a number 1 to 5, where 5 is the best.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__ActivityRatingInfo {
        /**
         * Long value of the activity rating.
         */
        value?: string | null;
    }
    /**
     * The state where the travel activity is available.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__ActivityStateInfo {
        /**
         * String value of the activity state. The Geo Target Constant resource name.
         */
        value?: string | null;
    }
    /**
     * An app deep link used inside an ad.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__AdAppDeepLinkAsset {
        /**
         * The Asset resource name of this app deep link asset.
         */
        asset?: string | null;
    }
    /**
     * Contains policy information for an asset inside an ad.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__AdAssetPolicySummary {
        /**
         * The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
         */
        approvalStatus?: string | null;
        /**
         * The list of policy findings for this asset.
         */
        policyTopicEntries?: Schema$GoogleAdsSearchads360V23Common__PolicyTopicEntry[];
        /**
         * Where in the review process this asset.
         */
        reviewStatus?: string | null;
    }
    /**
     * A call to action asset used inside an ad.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__AdCallToActionAsset {
        /**
         * The Asset resource name of this call to action asset.
         */
        asset?: string | null;
    }
    /**
     * A Demand Gen carousel card asset used inside an ad.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__AdDemandGenCarouselCardAsset {
        /**
         * The Asset resource name of this discovery carousel card.
         */
        asset?: string | null;
    }
    /**
     * Additional information about the application/tool issuing the request. This field is only used by ContentCreatorInsightsService, AudienceInsightsService, and ReachPlanService APIs.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__AdditionalApplicationInfo {
        /**
         * The unique identifier of the agency proprietary application. This identifier is generated by Google. Reach out to your Google representative to request an application_id for each new application being integrated.
         */
        applicationId?: string | null;
        /**
         * The instance type of the application sending the request.
         */
        applicationInstance?: string | null;
    }
    /**
     * Address for proximity criterion.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__AddressInfo {
        /**
         * Name of the city.
         */
        cityName?: string | null;
        /**
         * Country code.
         */
        countryCode?: string | null;
        /**
         * Postal code.
         */
        postalCode?: string | null;
        /**
         * Province or state code.
         */
        provinceCode?: string | null;
        /**
         * Province or state name.
         */
        provinceName?: string | null;
        /**
         * Street address line 1.
         */
        streetAddress?: string | null;
        /**
         * Street address line 2. This field is write-only. It is only used for calculating the longitude and latitude of an address when geo_point is empty.
         */
        streetAddress2?: string | null;
    }
    /**
     * An image asset used inside an ad.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__AdImageAsset {
        /**
         * The Asset resource name of this image.
         */
        asset?: string | null;
    }
    /**
     * A media bundle asset used inside an ad.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__AdMediaBundleAsset {
        /**
         * The Asset resource name of this media bundle.
         */
        asset?: string | null;
    }
    /**
     * Represents an AdSchedule criterion. AdSchedule is specified as the day of the week and a time interval within which ads will be shown. No more than six AdSchedules can be added for the same day.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__AdScheduleInfo {
        /**
         * Day of the week the schedule applies to. This field is required for CREATE operations and is prohibited on UPDATE operations.
         */
        dayOfWeek?: string | null;
        /**
         * Ending hour in 24 hour time; 24 signifies end of the day. This field must be between 0 and 24, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
         */
        endHour?: number | null;
        /**
         * Minutes after the end hour at which this schedule ends. The schedule is exclusive of the end minute. This field is required for CREATE operations and is prohibited on UPDATE operations.
         */
        endMinute?: string | null;
        /**
         * Starting hour in 24 hour time. This field must be between 0 and 23, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
         */
        startHour?: number | null;
        /**
         * Minutes after the start hour at which this schedule starts. This field is required for CREATE operations and is prohibited on UPDATE operations.
         */
        startMinute?: string | null;
    }
    /**
     * A text asset used inside an ad.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__AdTextAsset {
        /**
         * The performance label of this text asset.
         */
        assetPerformanceLabel?: string | null;
        /**
         * The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
         */
        pinnedField?: string | null;
        /**
         * The policy summary of this text asset.
         */
        policySummaryInfo?: Schema$GoogleAdsSearchads360V23Common__AdAssetPolicySummary;
        /**
         * Asset text.
         */
        text?: string | null;
    }
    /**
     * A video asset used inside an ad.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__AdVideoAsset {
        /**
         * Contains info fields for this AdVideoAsset.
         */
        adVideoAssetInfo?: Schema$GoogleAdsSearchads360V23Common__AdVideoAssetInfo;
        /**
         * The Asset resource name of this video.
         */
        asset?: string | null;
    }
    /**
     * Contains info fields for AdVideoAssets.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__AdVideoAssetInfo {
        /**
         * Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
         */
        adVideoAssetFeatureControl?: Schema$GoogleAdsSearchads360V23Common__AdVideoAssetLinkFeatureControl;
    }
    /**
     * YouTube Video Asset feature controls.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__AdVideoAssetLinkFeatureControl {
        /**
         * Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
         */
        allowYoutubeComments?: boolean | null;
    }
    /**
     * Dimension specifying users by their age.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__AgeDimension {
        /**
         * Contiguous age range to be included in the dimension.
         */
        ageRanges?: Schema$GoogleAdsSearchads360V23Common__AgeSegment[];
        /**
         * Include users whose age is not determined.
         */
        includeUndetermined?: boolean | null;
    }
    /**
     * An age range criterion.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__AgeRangeInfo {
        /**
         * Type of the age range.
         */
        type?: string | null;
    }
    /**
     * Contiguous age range.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__AgeSegment {
        /**
         * Maximum age to include. A maximum age need not be specified. If specified, max_age must be greater than min_age, and allowed values are 24, 34, 44, 54, and 64.
         */
        maxAge?: number | null;
        /**
         * Minimum age to include. A minimum age must be specified and must be at least 18. Allowed values are 18, 25, 35, 45, 55, and 65.
         */
        minAge?: number | null;
    }
    /**
     * An app ad.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__AppAdInfo {
        /**
         * An app deep link asset that may be used with the ad.
         */
        appDeepLink?: Schema$GoogleAdsSearchads360V23Common__AdAppDeepLinkAsset;
        /**
         * List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.
         */
        descriptions?: Schema$GoogleAdsSearchads360V23Common__AdTextAsset[];
        /**
         * List of text assets for headlines. When the ad serves the headlines will be selected from this list.
         */
        headlines?: Schema$GoogleAdsSearchads360V23Common__AdTextAsset[];
        /**
         * List of media bundle assets that may be used with the ad.
         */
        html5MediaBundles?: Schema$GoogleAdsSearchads360V23Common__AdMediaBundleAsset[];
        /**
         * List of image assets that may be displayed with the ad.
         */
        images?: Schema$GoogleAdsSearchads360V23Common__AdImageAsset[];
        /**
         * Mandatory ad text.
         */
        mandatoryAdText?: Schema$GoogleAdsSearchads360V23Common__AdTextAsset;
        /**
         * List of YouTube video assets that may be displayed with the ad.
         */
        youtubeVideos?: Schema$GoogleAdsSearchads360V23Common__AdVideoAsset[];
    }
    /**
     * An app deep link asset
     */
    export interface Schema$GoogleAdsSearchads360V23Common__AppDeepLinkAsset {
        /**
         * The uri for the app deep link, The uri can be either a custom scheme uri (e.g. mystore://shoes) or universal uri (e.g. http://www.mystore.com/shoes).
         */
        appDeepLinkUri?: string | null;
    }
    /**
     * App engagement ads allow you to write text encouraging a specific action in the app, like checking in, making a purchase, or booking a flight. They allow you to send users to a specific part of your app where they can find what they're looking for easier and faster.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__AppEngagementAdInfo {
        /**
         * List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.
         */
        descriptions?: Schema$GoogleAdsSearchads360V23Common__AdTextAsset[];
        /**
         * List of text assets for headlines. When the ad serves the headlines will be selected from this list.
         */
        headlines?: Schema$GoogleAdsSearchads360V23Common__AdTextAsset[];
        /**
         * List of image assets that may be displayed with the ad.
         */
        images?: Schema$GoogleAdsSearchads360V23Common__AdImageAsset[];
        /**
         * List of video assets that may be displayed with the ad.
         */
        videos?: Schema$GoogleAdsSearchads360V23Common__AdVideoAsset[];
    }
    /**
     * An app payment model criterion.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__AppPaymentModelInfo {
        /**
         * Type of the app payment model.
         */
        type?: string | null;
    }
    /**
     * App pre-registration ads link to your app or game listing on Google Play, and can run on Google Play, on YouTube (in-stream only), and within other apps and mobile websites on the Display Network. It will help capture people's interest in your app or game and generate an early install base for your app or game before a launch.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__AppPreRegistrationAdInfo {
        /**
         * List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.
         */
        descriptions?: Schema$GoogleAdsSearchads360V23Common__AdTextAsset[];
        /**
         * List of text assets for headlines. When the ad serves the headlines will be selected from this list.
         */
        headlines?: Schema$GoogleAdsSearchads360V23Common__AdTextAsset[];
        /**
         * List of image asset IDs whose images may be displayed with the ad.
         */
        images?: Schema$GoogleAdsSearchads360V23Common__AdImageAsset[];
        /**
         * List of YouTube video asset IDs whose videos may be displayed with the ad.
         */
        youtubeVideos?: Schema$GoogleAdsSearchads360V23Common__AdVideoAsset[];
    }
    /**
     * Details related to AssetLinkPrimaryStatusReasonPB.ASSET_DISAPPROVED
     */
    export interface Schema$GoogleAdsSearchads360V23Common__AssetDisapproved {
        /**
         * Provides the quality evaluation disapproval reason of an asset.
         */
        offlineEvaluationErrorReasons?: string[] | null;
    }
    /**
     * An AssetInteractionTarget segment.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__AssetInteractionTarget {
        /**
         * The asset resource name.
         */
        asset?: string | null;
        /**
         * Only used with CustomerAsset, CampaignAsset and AdGroupAsset metrics. Indicates whether the interaction metrics occurred on the asset itself or a different asset or ad unit.
         */
        interactionOnThisAsset?: boolean | null;
    }
    /**
     * Provides the detail of a PrimaryStatus. Each asset link has a PrimaryStatus value (e.g. NOT_ELIGIBLE, meaning not serving), and list of corroborating PrimaryStatusReasons (e.g. [ASSET_DISAPPROVED]). Each reason may have some additional details annotated with it. For instance, when the reason is ASSET_DISAPPROVED, the details field will contain additional information about the offline evaluation errors which led to the asset being disapproved.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__AssetLinkPrimaryStatusDetails {
        /**
         * Provides the details for AssetLinkPrimaryStatusReason.ASSET_DISAPPROVED
         */
        assetDisapproved?: Schema$GoogleAdsSearchads360V23Common__AssetDisapproved;
        /**
         * Provides the reason of this PrimaryStatus.
         */
        reason?: string | null;
        /**
         * Provides the PrimaryStatus of this status detail.
         */
        status?: string | null;
    }
    /**
     * Contains the usage information of the asset.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__AssetUsage {
        /**
         * Resource name of the asset.
         */
        asset?: string | null;
        /**
         * The served field type of the asset.
         */
        servedAssetFieldType?: string | null;
    }
    /**
     * Positive dimension specifying user's audience.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__AudienceDimension {
        /**
         * Dimension specifying users by their age.
         */
        age?: Schema$GoogleAdsSearchads360V23Common__AgeDimension;
        /**
         * Dimension specifying users by their membership in other audience segments.
         */
        audienceSegments?: Schema$GoogleAdsSearchads360V23Common__AudienceSegmentDimension;
        /**
         * Dimension specifying users by their gender.
         */
        gender?: Schema$GoogleAdsSearchads360V23Common__GenderDimension;
        /**
         * Dimension specifying users by their household income.
         */
        householdIncome?: Schema$GoogleAdsSearchads360V23Common__HouseholdIncomeDimension;
        /**
         * Dimension specifying users by their parental status.
         */
        parentalStatus?: Schema$GoogleAdsSearchads360V23Common__ParentalStatusDimension;
    }
    /**
     * Negative dimension specifying users to exclude from the audience.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__AudienceExclusionDimension {
        /**
         * Audience segment to be excluded.
         */
        exclusions?: Schema$GoogleAdsSearchads360V23Common__ExclusionSegment[];
    }
    /**
     * An audience criterion.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__AudienceInfo {
        /**
         * The Audience resource name.
         */
        audience?: string | null;
    }
    /**
     * An audience attribute that can be used to request insights about the audience.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__AudienceInsightsAttribute {
        /**
         * An audience attribute defined by an age range.
         */
        ageRange?: Schema$GoogleAdsSearchads360V23Common__AgeRangeInfo;
        /**
         * An audience attribute defined by interest in a Product & Service category.
         */
        category?: Schema$GoogleAdsSearchads360V23Common__AudienceInsightsCategory;
        /**
         * A device type. (Mobile, Desktop, Tablet)
         */
        device?: Schema$GoogleAdsSearchads360V23Common__DeviceInfo;
        /**
         * An audience attribute defined by interest in a topic represented by a Knowledge Graph entity.
         */
        entity?: Schema$GoogleAdsSearchads360V23Common__AudienceInsightsEntity;
        /**
         * An audience attribute defined by a gender.
         */
        gender?: Schema$GoogleAdsSearchads360V23Common__GenderInfo;
        /**
         * A household income percentile range.
         */
        incomeRange?: Schema$GoogleAdsSearchads360V23Common__IncomeRangeInfo;
        /**
         * A YouTube Lineup.
         */
        lineup?: Schema$GoogleAdsSearchads360V23Common__AudienceInsightsLineup;
        /**
         * An audience attribute defined by a geographic location.
         */
        location?: Schema$GoogleAdsSearchads360V23Common__LocationInfo;
        /**
         * A Parental Status value (parent, or not a parent).
         */
        parentalStatus?: Schema$GoogleAdsSearchads360V23Common__ParentalStatusInfo;
        /**
         * An Affinity or In-Market audience.
         */
        userInterest?: Schema$GoogleAdsSearchads360V23Common__UserInterestInfo;
        /**
         * A User List.
         */
        userList?: Schema$GoogleAdsSearchads360V23Common__UserListInfo;
        /**
         * A YouTube channel.
         */
        youtubeChannel?: Schema$GoogleAdsSearchads360V23Common__YouTubeChannelInfo;
        /**
         * A YouTube video.
         */
        youtubeVideo?: Schema$GoogleAdsSearchads360V23Common__YouTubeVideoInfo;
    }
    /**
     * An audience attribute, with metadata about it, returned in response to a search.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__AudienceInsightsAttributeMetadata {
        /**
         * The attribute itself.
         */
        attribute?: Schema$GoogleAdsSearchads360V23Common__AudienceInsightsAttribute;
        /**
         * The type of the attribute.
         */
        dimension?: string | null;
        /**
         * A string that supplements the display_name to identify the attribute. If the dimension is TOPIC, this is a brief description of the Knowledge Graph entity, such as "American singer-songwriter". If the dimension is CATEGORY, this is the complete path to the category in The Product & Service taxonomy, for example "/Apparel/Clothing/Outerwear".
         */
        displayInfo?: string | null;
        /**
         * The human-readable name of the attribute.
         */
        displayName?: string | null;
        /**
         * Special metadata for a Knowledge Graph Entity.
         */
        knowledgeGraphAttributeMetadata?: Schema$GoogleAdsSearchads360V23Common__KnowledgeGraphAttributeMetadata;
        /**
         * Special metadata for a YouTube Lineup.
         */
        lineupAttributeMetadata?: Schema$GoogleAdsSearchads360V23Common__LineupAttributeMetadata;
        /**
         * Special metadata for a Location.
         */
        locationAttributeMetadata?: Schema$GoogleAdsSearchads360V23Common__LocationAttributeMetadata;
        /**
         * An estimate of the number of reachable YouTube users matching this attribute in the requested location, or zero if that information is not available for this attribute. This field is not populated in every response.
         */
        potentialYoutubeReach?: string | null;
        /**
         * The share of subscribers within this attribute, between and including 0 and 1. This field is not populated in every response.
         */
        subscriberShare?: number | null;
        /**
         * Special metadata for a User Interest.
         */
        userInterestAttributeMetadata?: Schema$GoogleAdsSearchads360V23Common__UserInterestAttributeMetadata;
        /**
         * Special metadata for a User List.
         */
        userListAttributeMetadata?: Schema$GoogleAdsSearchads360V23Common__UserListAttributeMetadata;
        /**
         * The share of viewers within this attribute, between and including 0 and 1. This field is not populated in every response.
         */
        viewerShare?: number | null;
        /**
         * Special metadata for a YouTube channel.
         */
        youtubeChannelMetadata?: Schema$GoogleAdsSearchads360V23Common__YouTubeChannelAttributeMetadata;
        /**
         * Special metadata for a YouTube video.
         */
        youtubeVideoMetadata?: Schema$GoogleAdsSearchads360V23Common__YouTubeVideoAttributeMetadata;
    }
    /**
     * A group of audience attributes with metadata, returned in response to a search.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__AudienceInsightsAttributeMetadataGroup {
        /**
         * Attributes with metadata returned in response to a search.
         */
        attributes?: Schema$GoogleAdsSearchads360V23Common__AudienceInsightsAttributeMetadata[];
    }
    /**
     * A Product and Service category.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__AudienceInsightsCategory {
        /**
         * Required. The criterion ID of the category.
         */
        categoryId?: string | null;
    }
    /**
     * A Knowledge Graph entity, represented by its machine id.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__AudienceInsightsEntity {
        /**
         * Required. The machine ID (mid) of the Knowledge Graph entity.
         */
        knowledgeGraphMachineId?: string | null;
    }
    /**
     * A YouTube Lineup.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__AudienceInsightsLineup {
        /**
         * Required. The numeric ID of the lineup.
         */
        lineupId?: string | null;
    }
    /**
     * Positive audience segment.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__AudienceSegment {
        /**
         * Custom audience segment.
         */
        customAudience?: Schema$GoogleAdsSearchads360V23Common__CustomAudienceSegment;
        /**
         * Detailed demographic segment.
         */
        detailedDemographic?: Schema$GoogleAdsSearchads360V23Common__DetailedDemographicSegment;
        /**
         * Live-event audience segment.
         */
        lifeEvent?: Schema$GoogleAdsSearchads360V23Common__LifeEventSegment;
        /**
         * Affinity or In-market segment.
         */
        userInterest?: Schema$GoogleAdsSearchads360V23Common__UserInterestSegment;
        /**
         * User list segment.
         */
        userList?: Schema$GoogleAdsSearchads360V23Common__UserListSegment;
    }
    /**
     * Dimension specifying users by their membership in other audience segments.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__AudienceSegmentDimension {
        /**
         * Included audience segments. Users are included if they belong to at least one segment.
         */
        segments?: Schema$GoogleAdsSearchads360V23Common__AudienceSegment[];
    }
    export interface Schema$GoogleAdsSearchads360V23Common__BasicUserListInfo {
        /**
         * Actions associated with this user list.
         */
        actions?: Schema$GoogleAdsSearchads360V23Common__UserListActionInfo[];
    }
    /**
     * A Book on Google asset. Used to redirect user to book through Google. Book on Google will change the redirect url to book directly through Google.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__BookOnGoogleAsset {
    }
    /**
     * Represents a Brand Criterion used for targeting based on commercial knowledge graph.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__BrandInfo {
        /**
         * Output only. A text representation of a brand.
         */
        displayName?: string | null;
        /**
         * The Commercial KG MID for the brand.
         */
        entityId?: string | null;
        /**
         * Output only. The primary url of a brand.
         */
        primaryUrl?: string | null;
        /**
         * Output only. The rejection reason when a brand status is REJECTED.
         */
        rejectionReason?: string | null;
        /**
         * Output only. The status of a brand.
         */
        status?: string | null;
    }
    /**
     * A Brand List Criterion is used to specify a list of brands. The list is represented as a SharedSet id type BRAND_HINT. A criterion of this type can be either targeted or excluded.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__BrandListInfo {
        /**
         * Shared set resource name of the brand list.
         */
        sharedSet?: string | null;
    }
    /**
     * Projected metrics for a specific budget amount.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__BudgetSimulationPoint {
        /**
         * Projected number of biddable conversions.
         */
        biddableConversions?: number | null;
        /**
         * Projected total value of biddable conversions.
         */
        biddableConversionsValue?: number | null;
        /**
         * The simulated budget upon which projected metrics are based.
         */
        budgetAmountMicros?: string | null;
        /**
         * Projected number of clicks.
         */
        clicks?: string | null;
        /**
         * Projected cost in micros.
         */
        costMicros?: string | null;
        /**
         * Projected number of impressions.
         */
        impressions?: string | null;
        /**
         * Projected number of interactions. Only discovery advertising channel type supports this field.
         */
        interactions?: string | null;
        /**
         * Projected required daily cpc bid ceiling that the advertiser must set to realize this simulation, in micros of the advertiser currency. Only campaigns with the Target Spend bidding strategy support this field.
         */
        requiredCpcBidCeilingMicros?: string | null;
        /**
         * Projected number of top slot impressions. Only search advertising channel type supports this field.
         */
        topSlotImpressions?: string | null;
    }
    /**
     * A container for simulation points for simulations of type BUDGET.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__BudgetSimulationPointList {
        /**
         * Projected metrics for a series of budget amounts.
         */
        points?: Schema$GoogleAdsSearchads360V23Common__BudgetSimulationPoint[];
    }
    /**
     * A business message asset.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__BusinessMessageAsset {
        /**
         * A call to action for the business message asset.
         */
        callToAction?: Schema$GoogleAdsSearchads360V23Common__BusinessMessageCallToActionInfo;
        /**
         * Facebook Messenger.
         */
        facebookMessengerInfo?: Schema$GoogleAdsSearchads360V23Common__FacebookMessengerBusinessMessageInfo;
        /**
         * Required. Message provider of the business message asset.
         */
        messageProvider?: string | null;
        /**
         * Required. A welcome message to prompt the user to initiate a conversation.
         */
        starterMessage?: string | null;
        /**
         * Whatsapp.
         */
        whatsappInfo?: Schema$GoogleAdsSearchads360V23Common__WhatsappBusinessMessageInfo;
        /**
         * Zalo.
         */
        zaloInfo?: Schema$GoogleAdsSearchads360V23Common__ZaloBusinessMessageInfo;
    }
    /**
     * Display information that encourages the user to take action.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__BusinessMessageCallToActionInfo {
        /**
         * Required. Text providing a clear value proposition of what users expect once they take the action. Examples: 'Message us for a quote', 'Ask our expert team'.
         */
        callToActionDescription?: string | null;
        /**
         * Required. Pre-defined call to action text.
         */
        callToActionSelection?: string | null;
    }
    /**
     * Business Profile location group business name filter.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__BusinessProfileBusinessNameFilter {
        /**
         * Business name string to use for filtering.
         */
        businessName?: string | null;
        /**
         * The type of string matching to use when filtering with business_name.
         */
        filterType?: string | null;
    }
    /**
     * Business Profile location data synced from the linked Business Profile account.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__BusinessProfileLocation {
        /**
         * Advertiser specified label for the location on the Business Profile account. This is synced from the Business Profile account.
         */
        labels?: string[] | null;
        /**
         * Listing ID of this Business Profile location. This is synced from the linked Business Profile account.
         */
        listingId?: string | null;
        /**
         * Business Profile store code of this location. This is synced from the Business Profile account.
         */
        storeCode?: string | null;
    }
    /**
     * Information about a Business Profile dynamic location group. Only applicable if the sync level AssetSet's type is LOCATION_SYNC and sync source is Business Profile.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__BusinessProfileLocationGroup {
        /**
         * Filter for dynamic Business Profile location sets.
         */
        dynamicBusinessProfileLocationGroupFilter?: Schema$GoogleAdsSearchads360V23Common__DynamicBusinessProfileLocationGroupFilter;
    }
    /**
     * Data used to configure a location set populated from Google Business Profile locations. Different types of filters are AND'ed together, if they are specified.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__BusinessProfileLocationSet {
        /**
         * Immutable. The account ID of the managed business whose locations are to be used. If this field is not set, then all businesses accessible by the user (specified by the emailAddress) are used.
         */
        businessAccountId?: string | null;
        /**
         * Used to filter Google Business Profile listings by business name. If businessNameFilter is set, only listings with a matching business name are candidates to be sync'd into Assets.
         */
        businessNameFilter?: string | null;
        /**
         * Required. Immutable. Email address of a Google Business Profile account or email address of a manager of the Google Business Profile account.
         */
        emailAddress?: string | null;
        /**
         * Required. Immutable. The HTTP authorization token used to obtain authorization.
         */
        httpAuthorizationToken?: string | null;
        /**
         * Used to filter Google Business Profile listings by labels. If entries exist in labelFilters, only listings that have any of the labels set are candidates to be synchronized into Assets. If no entries exist in labelFilters, then all listings are candidates for syncing. Label filters are OR'ed together.
         */
        labelFilters?: string[] | null;
        /**
         * Used to filter Google Business Profile listings by listing id. If entries exist in listingIdFilters, only listings specified by the filters are candidates to be synchronized into Assets. If no entries exist in listingIdFilters, then all listings are candidates for syncing. Listing ID filters are OR'ed together.
         */
        listingIdFilters?: string[] | null;
    }
    /**
     * A Call asset.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__CallAsset {
        /**
         * List of non-overlapping schedules specifying all time intervals for which the asset may serve. There can be a maximum of 6 schedules per day, 42 in total.
         */
        adScheduleTargets?: Schema$GoogleAdsSearchads360V23Common__AdScheduleInfo[];
        /**
         * The conversion action to attribute a call conversion to. If not set, the default conversion action is used. This field only has effect if call_conversion_reporting_state is set to USE_RESOURCE_LEVEL_CALL_CONVERSION_ACTION.
         */
        callConversionAction?: string | null;
        /**
         * Indicates whether this CallAsset should use its own call conversion setting, follow the account level setting, or disable call conversion.
         */
        callConversionReportingState?: string | null;
        /**
         * Required. Two-letter country code of the phone number. Examples: 'US', 'us'.
         */
        countryCode?: string | null;
        /**
         * Required. The advertiser's raw phone number. Examples: '1234567890', '(123)456-7890'
         */
        phoneNumber?: string | null;
    }
    /**
     * Represents a Call extension.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__CallFeedItem {
        /**
         * The conversion action to attribute a call conversion to. If not set a default conversion action is used. This field only has effect if call_tracking_enabled is set to true. Otherwise this field is ignored.
         */
        callConversionAction?: string | null;
        /**
         * Enum value that indicates whether this call extension uses its own call conversion setting (or just have call conversion disabled), or following the account level setting.
         */
        callConversionReportingState?: string | null;
        /**
         * If true, disable call conversion tracking. call_conversion_action should not be set if this is true. Optional.
         */
        callConversionTrackingDisabled?: boolean | null;
        /**
         * Indicates whether call tracking is enabled. By default, call tracking is not enabled.
         */
        callTrackingEnabled?: boolean | null;
        /**
         * Uppercase two-letter country code of the advertiser's phone number. This string must not be empty.
         */
        countryCode?: string | null;
        /**
         * The advertiser's phone number to append to the ad. This string must not be empty.
         */
        phoneNumber?: string | null;
    }
    /**
     * A Callout asset.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__CalloutAsset {
        /**
         * List of non-overlapping schedules specifying all time intervals for which the asset may serve. There can be a maximum of 6 schedules per day, 42 in total.
         */
        adScheduleTargets?: Schema$GoogleAdsSearchads360V23Common__AdScheduleInfo[];
        /**
         * Required. The callout text. The length of this string should be between 1 and 25, inclusive.
         */
        calloutText?: string | null;
        /**
         * Last date of when this asset is effective and still serving, in yyyy-MM-dd format.
         */
        endDate?: string | null;
        /**
         * Start date of when this asset is effective and can begin serving, in yyyy-MM-dd format.
         */
        startDate?: string | null;
    }
    /**
     * Represents a callout extension.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__CalloutFeedItem {
        /**
         * The callout text. The length of this string should be between 1 and 25, inclusive.
         */
        calloutText?: string | null;
    }
    /**
     * A call to action asset.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__CallToActionAsset {
        /**
         * Call to action.
         */
        callToAction?: string | null;
    }
    /**
     * Container for third party Brand Lift integration data for Campaign.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__CampaignThirdPartyBrandLiftIntegrationPartner {
        /**
         * Allowed third party integration partners for Brand Lift verification.
         */
        brandLiftIntegrationPartner?: string | null;
        /**
         * Third party partner data for YouTube Brand Lift verification. This is optional metadata for partners to join or attach data to Ads campaigns.
         */
        brandLiftIntegrationPartnerData?: Schema$GoogleAdsSearchads360V23Common__ThirdPartyIntegrationPartnerData;
        /**
         * If true, then cost data will be shared with this vendor.
         */
        shareCost?: boolean | null;
    }
    /**
     * Container for third party brand safety integration data for Campaign.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__CampaignThirdPartyBrandSafetyIntegrationPartner {
        /**
         * Allowed third party integration partners for brand safety verification.
         */
        brandSafetyIntegrationPartner?: string | null;
        /**
         * Third party partner data for YouTube brand safety verification. This is optional metadata for partners to join or attach data to Ads campaigns.
         */
        brandSafetyIntegrationPartnerData?: Schema$GoogleAdsSearchads360V23Common__ThirdPartyIntegrationPartnerData;
    }
    /**
     * Container for Campaign level third party integration partners.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__CampaignThirdPartyIntegrationPartners {
        /**
         * Third party integration partners for Brand Lift verification for this Campaign.
         */
        brandLiftIntegrationPartners?: Schema$GoogleAdsSearchads360V23Common__CampaignThirdPartyBrandLiftIntegrationPartner[];
        /**
         * Third party integration partners for brand safety verification for this Campaign.
         */
        brandSafetyIntegrationPartners?: Schema$GoogleAdsSearchads360V23Common__CampaignThirdPartyBrandSafetyIntegrationPartner[];
        /**
         * Third party integration partners for reach verification for this Campaign.
         */
        reachIntegrationPartners?: Schema$GoogleAdsSearchads360V23Common__CampaignThirdPartyReachIntegrationPartner[];
        /**
         * Third party integration partners for YouTube viewability verification for this Campaign.
         */
        viewabilityIntegrationPartners?: Schema$GoogleAdsSearchads360V23Common__CampaignThirdPartyViewabilityIntegrationPartner[];
    }
    /**
     * Container for third party reach integration data for Campaign.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__CampaignThirdPartyReachIntegrationPartner {
        /**
         * Allowed third party integration partners for reach verification.
         */
        reachIntegrationPartner?: string | null;
        /**
         * Third party partner data for YouTube Reach verification. This is optional metadata for partners to join or attach data to Ads campaigns.
         */
        reachIntegrationPartnerData?: Schema$GoogleAdsSearchads360V23Common__ThirdPartyIntegrationPartnerData;
        /**
         * If true, then cost data will be shared with this vendor.
         */
        shareCost?: boolean | null;
    }
    /**
     * Container for third party viewability integration data for Campaign.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__CampaignThirdPartyViewabilityIntegrationPartner {
        /**
         * If true, then cost data will be shared with this vendor.
         */
        shareCost?: boolean | null;
        /**
         * Allowed third party integration partners for YouTube viewability verification.
         */
        viewabilityIntegrationPartner?: string | null;
        /**
         * Third party partner data for YouTube viewability verification. This is optional metadata for partners to join or attach data to Ads campaigns.
         */
        viewabilityIntegrationPartnerData?: Schema$GoogleAdsSearchads360V23Common__ThirdPartyIntegrationPartnerData;
    }
    /**
     * Represents a Carrier Criterion.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__CarrierInfo {
        /**
         * The Carrier constant resource name.
         */
        carrierConstant?: string | null;
    }
    /**
     * One chain level filter on location in a feed item set. The filtering logic among all the fields is AND.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__ChainFilter {
        /**
         * Required. Used to filter chain locations by chain id. Only chain locations that belong to the specified chain will be in the asset set.
         */
        chainId?: string | null;
        /**
         * Used to filter chain locations by location attributes. Only chain locations that belong to all of the specified attribute(s) will be in the asset set. If this field is empty, it means no filtering on this field.
         */
        locationAttributes?: string[] | null;
    }
    /**
     * Represents information about a Chain dynamic location group. Only applicable if the sync level AssetSet's type is LOCATION_SYNC and sync source is chain.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__ChainLocationGroup {
        /**
         * Used to filter chain locations by chain ids. Only Locations that belong to the specified chain(s) will be in the asset set.
         */
        dynamicChainLocationGroupFilters?: Schema$GoogleAdsSearchads360V23Common__ChainFilter[];
    }
    /**
     * Data used to configure a location set populated with the specified chains.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__ChainSet {
        /**
         * Required. A list of chain level filters, all filters are OR'ed together.
         */
        chains?: Schema$GoogleAdsSearchads360V23Common__ChainFilter[];
        /**
         * Required. Immutable. Relationship type the specified chains have with this advertiser.
         */
        relationshipType?: string | null;
    }
    /**
     * Location criteria associated with a click.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__ClickLocation {
        /**
         * The city location criterion associated with the impression.
         */
        city?: string | null;
        /**
         * The country location criterion associated with the impression.
         */
        country?: string | null;
        /**
         * The metro location criterion associated with the impression.
         */
        metro?: string | null;
        /**
         * The most specific location criterion associated with the impression.
         */
        mostSpecific?: string | null;
        /**
         * The region location criterion associated with the impression.
         */
        region?: string | null;
    }
    /**
     * A combined audience criterion.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__CombinedAudienceInfo {
        /**
         * The CombinedAudience resource name.
         */
        combinedAudience?: string | null;
    }
    /**
     * Commission is an automatic bidding strategy in which the advertiser pays a certain portion of the conversion value.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__Commission {
        /**
         * Commission rate defines the portion of the conversion value that the advertiser will be billed. A commission rate of x should be passed into this field as (x * 1,000,000). For example, 106,000 represents a commission rate of 0.106 (10.6%).
         */
        commissionRateMicros?: string | null;
    }
    /**
     * The concept group for the keyword concept.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__ConceptGroup {
        /**
         * The concept group name.
         */
        name?: string | null;
        /**
         * The concept group type.
         */
        type?: string | null;
    }
    /**
     * Consent
     */
    export interface Schema$GoogleAdsSearchads360V23Common__Consent {
        /**
         * This represents consent for ad personalization. This can only be set for OfflineUserDataJobService and UserDataService.
         */
        adPersonalization?: string | null;
        /**
         * This represents consent for ad user data.
         */
        adUserData?: string | null;
    }
    /**
     * Content Label for category exclusion.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__ContentLabelInfo {
        /**
         * Content label type, required for CREATE operations.
         */
        type?: string | null;
    }
    /**
     * Projected metrics for a specific CPC bid amount.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__CpcBidSimulationPoint {
        /**
         * Projected number of biddable conversions.
         */
        biddableConversions?: number | null;
        /**
         * Projected total value of biddable conversions.
         */
        biddableConversionsValue?: number | null;
        /**
         * Projected number of clicks.
         */
        clicks?: string | null;
        /**
         * Projected cost in micros.
         */
        costMicros?: string | null;
        /**
         * The simulated CPC bid upon which projected metrics are based.
         */
        cpcBidMicros?: string | null;
        /**
         * The simulated scaling modifier upon which projected metrics are based. All CPC bids relevant to the simulated entity are scaled by this modifier.
         */
        cpcBidScalingModifier?: number | null;
        /**
         * Projected number of impressions.
         */
        impressions?: string | null;
        /**
         * Projected required daily budget that the advertiser must set in order to receive the estimated traffic, in micros of advertiser currency.
         */
        requiredBudgetAmountMicros?: string | null;
        /**
         * Projected number of top slot impressions. Only search advertising channel type supports this field.
         */
        topSlotImpressions?: string | null;
    }
    /**
     * A container for simulation points for simulations of type CPC_BID.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__CpcBidSimulationPointList {
        /**
         * Projected metrics for a series of CPC bid amounts.
         */
        points?: Schema$GoogleAdsSearchads360V23Common__CpcBidSimulationPoint[];
    }
    /**
     * Projected metrics for a specific CPV bid amount.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__CpvBidSimulationPoint {
        /**
         * Projected cost in micros.
         */
        costMicros?: string | null;
        /**
         * The simulated CPV bid upon which projected metrics are based.
         */
        cpvBidMicros?: string | null;
        /**
         * Projected number of impressions.
         */
        impressions?: string | null;
        /**
         * Projected number of views.
         */
        views?: string | null;
    }
    /**
     * A container for simulation points for simulations of type CPV_BID.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__CpvBidSimulationPointList {
        /**
         * Projected metrics for a series of CPV bid amounts.
         */
        points?: Schema$GoogleAdsSearchads360V23Common__CpvBidSimulationPoint[];
    }
    /**
     * Information of category availability, per advertising channel.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__CriterionCategoryAvailability {
        /**
         * Channel types and subtypes that are available to the category.
         */
        channel?: Schema$GoogleAdsSearchads360V23Common__CriterionCategoryChannelAvailability;
        /**
         * Locales that are available to the category for the channel.
         */
        locale?: Schema$GoogleAdsSearchads360V23Common__CriterionCategoryLocaleAvailability[];
    }
    /**
     * Information of advertising channel type and subtypes a category is available in.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__CriterionCategoryChannelAvailability {
        /**
         * Channel subtypes under the channel type the category is available to.
         */
        advertisingChannelSubType?: string[] | null;
        /**
         * Channel type the category is available to.
         */
        advertisingChannelType?: string | null;
        /**
         * Format of the channel availability. Can be ALL_CHANNELS (the rest of the fields will not be set), CHANNEL_TYPE (only advertising_channel_type type will be set, the category is available to all sub types under it) or CHANNEL_TYPE_AND_SUBTYPES (advertising_channel_type, advertising_channel_sub_type, and include_default_channel_sub_type will all be set).
         */
        availabilityMode?: string | null;
        /**
         * Whether default channel sub type is included. For example, advertising_channel_type being DISPLAY and include_default_channel_sub_type being false means that the default display campaign where channel sub type is not set is not included in this availability configuration.
         */
        includeDefaultChannelSubType?: boolean | null;
    }
    /**
     * Information about which locales a category is available in.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__CriterionCategoryLocaleAvailability {
        /**
         * Format of the locale availability. Can be LAUNCHED_TO_ALL (both country and language will be empty), COUNTRY (only country will be set), LANGUAGE (only language wil be set), COUNTRY_AND_LANGUAGE (both country and language will be set).
         */
        availabilityMode?: string | null;
        /**
         * The ISO-3166-1 alpha-2 country code associated with the category.
         */
        countryCode?: string | null;
        /**
         * ISO 639-1 code of the language associated with the category.
         */
        languageCode?: string | null;
    }
    /**
     * UserList of CRM users provided by the advertiser.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__CrmBasedUserListInfo {
        /**
         * A string that uniquely identifies a mobile application from which the data was collected. For iOS, the ID string is the 9 digit string that appears at the end of an App Store URL (for example, "476943146" for "Flood-It! 2" whose App Store link is http://itunes.apple.com/us/app/flood-it!-2/id476943146). For Android, the ID string is the application's package name (for example, "com.labpixies.colordrips" for "Color Drips" given Google Play link https://play.google.com/store/apps/details?id=com.labpixies.colordrips). Required when creating CrmBasedUserList for uploading mobile advertising IDs.
         */
        appId?: string | null;
        /**
         * Data source of the list. Default value is FIRST_PARTY. Only customers on the allow-list can create third-party sourced CRM lists.
         */
        dataSourceType?: string | null;
        /**
         * Matching key type of the list. Mixed data types are not allowed on the same list. This field is required for an ADD operation.
         */
        uploadKeyType?: string | null;
    }
    /**
     * A custom affinity criterion. A criterion of this type is only targetable.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__CustomAffinityInfo {
        /**
         * The CustomInterest resource name.
         */
        customAffinity?: string | null;
    }
    /**
     * A custom audience criterion.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__CustomAudienceInfo {
        /**
         * The CustomAudience resource name.
         */
        customAudience?: string | null;
    }
    /**
     * Custom audience segment.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__CustomAudienceSegment {
        /**
         * The custom audience resource.
         */
        customAudience?: string | null;
    }
    /**
     * Lifecycle goal optimization value settings.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__CustomerLifecycleOptimizationValueSettings {
        /**
         * High lifetime value of the lifecycle goal. For example, for customer acquisition goals, high lifetime value is the incremental conversion value for lapsed customers who are of high value. High lifetime value should be greater than value, if set.
         */
        additionalHighLifetimeValue?: number | null;
        /**
         * Value of the lifecycle goal. For example, for retention goals, value is the incremental conversion value for lapsed customers who are not of high value.
         */
        additionalValue?: number | null;
    }
    /**
     * Metadata for customer match user list.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__CustomerMatchUserListMetadata {
        /**
         * The consent setting for all the users in this job.
         */
        consent?: Schema$GoogleAdsSearchads360V23Common__Consent;
        /**
         * The resource name of remarketing list to update data. Required for job of CUSTOMER_MATCH_USER_LIST type.
         */
        userList?: string | null;
    }
    /**
     * Container for third party Brand Lift integration data for Customer.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__CustomerThirdPartyBrandLiftIntegrationPartner {
        /**
         * If true, cost data can be shared with this vendor.
         */
        allowShareCost?: boolean | null;
        /**
         * Allowed Third Party integration partners for Brand Lift verification.
         */
        brandLiftIntegrationPartner?: string | null;
    }
    /**
     * Container for third party brand safety integration data for Customer.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__CustomerThirdPartyBrandSafetyIntegrationPartner {
        /**
         * Allowed third party integration partners for brand safety verification.
         */
        brandSafetyIntegrationPartner?: string | null;
    }
    /**
     * Container for Customer level third party integration partners.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__CustomerThirdPartyIntegrationPartners {
        /**
         * Allowed third party integration partners for Brand Lift verification.
         */
        brandLiftIntegrationPartners?: Schema$GoogleAdsSearchads360V23Common__CustomerThirdPartyBrandLiftIntegrationPartner[];
        /**
         * Allowed third party integration partners for brand safety verification.
         */
        brandSafetyIntegrationPartners?: Schema$GoogleAdsSearchads360V23Common__CustomerThirdPartyBrandSafetyIntegrationPartner[];
        /**
         * Allowed third party integration partners for reach verification.
         */
        reachIntegrationPartners?: Schema$GoogleAdsSearchads360V23Common__CustomerThirdPartyReachIntegrationPartner[];
        /**
         * Allowed third party integration partners for YouTube viewability verification.
         */
        viewabilityIntegrationPartners?: Schema$GoogleAdsSearchads360V23Common__CustomerThirdPartyViewabilityIntegrationPartner[];
    }
    /**
     * Container for third party reach integration data for Customer.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__CustomerThirdPartyReachIntegrationPartner {
        /**
         * If true, cost data can be shared with this vendor.
         */
        allowShareCost?: boolean | null;
        /**
         * Allowed Third Party integration partners for reach verification.
         */
        reachIntegrationPartner?: string | null;
    }
    /**
     * Container for third party viewability integration data for Customer.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__CustomerThirdPartyViewabilityIntegrationPartner {
        /**
         * If true, cost data can be shared with this vendor.
         */
        allowShareCost?: boolean | null;
        /**
         * Allowed third party integration partners for YouTube viewability verification.
         */
        viewabilityIntegrationPartner?: string | null;
    }
    /**
     * A custom intent criterion. A criterion of this type is only targetable.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__CustomIntentInfo {
        /**
         * The CustomInterest resource name.
         */
        customIntent?: string | null;
    }
    /**
     * A customizer value that is referenced in customizer linkage entities like CustomerCustomizer, CampaignCustomizer, etc.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__CustomizerValue {
        /**
         * Required. Value to insert in creative text. Customizer values of all types are stored as string to make formatting unambiguous.
         */
        stringValue?: string | null;
        /**
         * Required. The data type for the customizer value. It must match the attribute type. The string_value content must match the constraints associated with the type.
         */
        type?: string | null;
    }
    /**
     * A mapping that can be used by custom parameter tags in a `tracking_url_template`, `final_urls`, or `mobile_final_urls`.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__CustomParameter {
        /**
         * The key matching the parameter tag name.
         */
        key?: string | null;
        /**
         * The value to be substituted.
         */
        value?: string | null;
    }
    /**
     * A date range.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__DateRange {
        /**
         * The end date, in yyyy-mm-dd format. This date is inclusive.
         */
        endDate?: string | null;
        /**
         * The start date, in yyyy-mm-dd format. This date is inclusive.
         */
        startDate?: string | null;
    }
    /**
     * A Demand Gen carousel ad.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__DemandGenCarouselAdInfo {
        /**
         * Required. The Advertiser/brand name.
         */
        businessName?: string | null;
        /**
         * Call to action text.
         */
        callToActionText?: string | null;
        /**
         * Required. Carousel cards that will display with the ad. Min 2 max 10.
         */
        carouselCards?: Schema$GoogleAdsSearchads360V23Common__AdDemandGenCarouselCardAsset[];
        /**
         * Required. The descriptive text of the ad.
         */
        description?: Schema$GoogleAdsSearchads360V23Common__AdTextAsset;
        /**
         * Required. Headline of the ad.
         */
        headline?: Schema$GoogleAdsSearchads360V23Common__AdTextAsset;
        /**
         * Required. Logo image to be used in the ad. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%).
         */
        logoImage?: Schema$GoogleAdsSearchads360V23Common__AdImageAsset;
    }
    /**
     * A Demand Gen Carousel Card asset.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__DemandGenCarouselCardAsset {
        /**
         * Call to action text.
         */
        callToActionText?: string | null;
        /**
         * Required. Headline of the carousel card.
         */
        headline?: string | null;
        /**
         * Asset resource name of the associated 1.91:1 marketing image. This and/or square marketing image asset is required.
         */
        marketingImageAsset?: string | null;
        /**
         * Asset resource name of the associated 4:5 portrait marketing image.
         */
        portraitMarketingImageAsset?: string | null;
        /**
         * Asset resource name of the associated square marketing image. This and/or a marketing image asset is required.
         */
        squareMarketingImageAsset?: string | null;
    }
    /**
     * A Demand Gen multi asset ad.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__DemandGenMultiAssetAdInfo {
        /**
         * The Advertiser/brand name. Maximum display width is 25. Required.
         */
        businessName?: string | null;
        /**
         * Call to action text.
         */
        callToActionText?: string | null;
        /**
         * The descriptive text of the ad. Maximum display width is 90. At least 1 and max 5 descriptions can be specified.
         */
        descriptions?: Schema$GoogleAdsSearchads360V23Common__AdTextAsset[];
        /**
         * Headline text asset of the ad. Maximum display width is 30. At least 1 and max 5 headlines can be specified.
         */
        headlines?: Schema$GoogleAdsSearchads360V23Common__AdTextAsset[];
        /**
         * Logo image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%). At least 1 and max 5 logo images can be specified.
         */
        logoImages?: Schema$GoogleAdsSearchads360V23Common__AdImageAsset[];
        /**
         * Marketing image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 600x314 and the aspect ratio must be 1.91:1 (+-1%). Required if square_marketing_images is not present.
         */
        marketingImages?: Schema$GoogleAdsSearchads360V23Common__AdImageAsset[];
        /**
         * Portrait marketing image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 480x600 and the aspect ratio must be 4:5 (+-1%).
         */
        portraitMarketingImages?: Schema$GoogleAdsSearchads360V23Common__AdImageAsset[];
        /**
         * Square marketing image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 300x300 and the aspect ratio must be 1:1 (+-1%). Required if marketing_images is not present.
         */
        squareMarketingImages?: Schema$GoogleAdsSearchads360V23Common__AdImageAsset[];
        /**
         * Tall portrait marketing image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 600x1067 and the aspect ratio must be 9:16 (+-1%). Combined with `marketing_images`, `square_marketing_images`, and `portrait_marketing_images`, the maximum is 20.
         */
        tallPortraitMarketingImages?: Schema$GoogleAdsSearchads360V23Common__AdImageAsset[];
    }
    /**
     * A Demand Gen product ad.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__DemandGenProductAdInfo {
        /**
         * First part of text that appears in the ad with the displayed URL.
         */
        breadcrumb1?: string | null;
        /**
         * Second part of text that appears in the ad with the displayed URL.
         */
        breadcrumb2?: string | null;
        /**
         * Required. The advertiser/brand name.
         */
        businessName?: Schema$GoogleAdsSearchads360V23Common__AdTextAsset;
        /**
         * Asset of type CallToActionAsset used for the "Call To Action" button.
         */
        callToAction?: Schema$GoogleAdsSearchads360V23Common__AdCallToActionAsset;
        /**
         * Required. Text asset used for the description.
         */
        description?: Schema$GoogleAdsSearchads360V23Common__AdTextAsset;
        /**
         * Required. Text asset used for the short headline.
         */
        headline?: Schema$GoogleAdsSearchads360V23Common__AdTextAsset;
        /**
         * Required. Logo image to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%).
         */
        logoImage?: Schema$GoogleAdsSearchads360V23Common__AdImageAsset;
    }
    /**
     * A Demand Gen video responsive ad.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__DemandGenVideoResponsiveAdInfo {
        /**
         * First part of text that appears in the ad with the displayed URL.
         */
        breadcrumb1?: string | null;
        /**
         * Second part of text that appears in the ad with the displayed URL.
         */
        breadcrumb2?: string | null;
        /**
         * Required. The advertiser/brand name.
         */
        businessName?: Schema$GoogleAdsSearchads360V23Common__AdTextAsset;
        /**
         * Assets of type CallToActionAsset used for the "Call To Action" button.
         */
        callToActions?: Schema$GoogleAdsSearchads360V23Common__AdCallToActionAsset[];
        /**
         * List of image assets used for the companion banner. Currently, only a single value for the companion banner asset is supported.
         */
        companionBanners?: Schema$GoogleAdsSearchads360V23Common__AdImageAsset[];
        /**
         * List of text assets used for the description.
         */
        descriptions?: Schema$GoogleAdsSearchads360V23Common__AdTextAsset[];
        /**
         * List of text assets used for the short headline.
         */
        headlines?: Schema$GoogleAdsSearchads360V23Common__AdTextAsset[];
        /**
         * Logo image to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%).
         */
        logoImages?: Schema$GoogleAdsSearchads360V23Common__AdImageAsset[];
        /**
         * List of text assets used for the long headline.
         */
        longHeadlines?: Schema$GoogleAdsSearchads360V23Common__AdTextAsset[];
        /**
         * List of YouTube video assets used for the ad.
         */
        videos?: Schema$GoogleAdsSearchads360V23Common__AdVideoAsset[];
    }
    /**
     * Detailed demographic segment.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__DetailedDemographicSegment {
        /**
         * The detailed demographic resource.
         */
        detailedDemographic?: string | null;
    }
    /**
     * A device criterion.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__DeviceInfo {
        /**
         * Type of the device.
         */
        type?: string | null;
    }
    /**
     * A generic type of display ad. The exact ad format is controlled by the `display_upload_product_type` field, which determines what kinds of data need to be included with the ad.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__DisplayUploadAdInfo {
        /**
         * The product type of this ad. See comments on the enum for details.
         */
        displayUploadProductType?: string | null;
        /**
         * A media bundle asset to be used in the ad. For information about the media bundle for HTML5_UPLOAD_AD, see https://support.google.com/google-ads/answer/1722096 Media bundles that are part of dynamic product types use a special format that needs to be created through the Google Web Designer. See https://support.google.com/webdesigner/answer/7543898 for more information.
         */
        mediaBundle?: Schema$GoogleAdsSearchads360V23Common__AdMediaBundleAsset;
    }
    /**
     * Represents a filter on Business Profile locations in an asset set. If multiple filters are provided, they are AND'ed together.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__DynamicBusinessProfileLocationGroupFilter {
        /**
         * Used to filter Business Profile locations by business name.
         */
        businessNameFilter?: Schema$GoogleAdsSearchads360V23Common__BusinessProfileBusinessNameFilter;
        /**
         * Used to filter Business Profile locations by label. Only locations that have any of the listed labels will be in the asset set. Label filters are OR'ed together.
         */
        labelFilters?: string[] | null;
        /**
         * Used to filter Business Profile locations by listing ids.
         */
        listingIdFilters?: string[] | null;
    }
    /**
     * A dynamic custom asset.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__DynamicCustomAsset {
        /**
         * Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.
         */
        androidAppLink?: string | null;
        /**
         * Contextual keywords, for example, Sedans, 4 door sedans.
         */
        contextualKeywords?: string[] | null;
        /**
         * Formatted price which can be any characters. If set, this attribute will be used instead of 'price', for example, Starting at $20,000.00.
         */
        formattedPrice?: string | null;
        /**
         * Formatted sale price which can be any characters. If set, this attribute will be used instead of 'sale price', for example, On sale for $15,000.00.
         */
        formattedSalePrice?: string | null;
        /**
         * Required. ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag, for example, sedan. Required.
         */
        id?: string | null;
        /**
         * ID2 which can be any sequence of letters and digits, for example, red. ID sequence (ID + ID2) must be unique.
         */
        id2?: string | null;
        /**
         * Image URL, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.
         */
        imageUrl?: string | null;
        /**
         * iOS deep link, for example, exampleApp://content/page.
         */
        iosAppLink?: string | null;
        /**
         * iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.
         */
        iosAppStoreId?: string | null;
        /**
         * Item address which can be specified in one of the following formats. (1) City, state, code, country, for example, Mountain View, CA, USA. (2) Full address, for example, 123 Boulevard St, Mountain View, CA 94043. (3) Latitude-longitude in the DDD format, for example, 41.40338, 2.17403
         */
        itemAddress?: string | null;
        /**
         * Item category, for example, Sedans.
         */
        itemCategory?: string | null;
        /**
         * Item description, for example, Best selling mid-size car.
         */
        itemDescription?: string | null;
        /**
         * Item subtitle, for example, At your Mountain View dealership.
         */
        itemSubtitle?: string | null;
        /**
         * Required. Item title, for example, Mid-size sedan. Required.
         */
        itemTitle?: string | null;
        /**
         * Price which can be number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 20,000.00 USD.
         */
        price?: string | null;
        /**
         * Sale price which can be number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 15,000.00 USD. Must be less than the 'price' field.
         */
        salePrice?: string | null;
        /**
         * Similar IDs.
         */
        similarIds?: string[] | null;
    }
    /**
     * A Dynamic Education asset.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__DynamicEducationAsset {
        /**
         * School address which can be specified in one of the following formats. (1) City, state, code, country, for example, Mountain View, CA, USA. (2) Full address, for example, 123 Boulevard St, Mountain View, CA 94043. (3) Latitude-longitude in the DDD format, for example, 41.40338, 2.17403
         */
        address?: string | null;
        /**
         * Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.
         */
        androidAppLink?: string | null;
        /**
         * Contextual keywords, for example, Nursing certification, Health, Mountain View.
         */
        contextualKeywords?: string[] | null;
        /**
         * Image url, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.
         */
        imageUrl?: string | null;
        /**
         * iOS deep link, for example, exampleApp://content/page.
         */
        iosAppLink?: string | null;
        /**
         * iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.
         */
        iosAppStoreId?: string | null;
        /**
         * Location ID which can be any sequence of letters and digits and must be unique.
         */
        locationId?: string | null;
        /**
         * Program description, for example, Nursing Certification.
         */
        programDescription?: string | null;
        /**
         * Required. Program ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag. Required.
         */
        programId?: string | null;
        /**
         * Required. Program name, for example, Nursing. Required.
         */
        programName?: string | null;
        /**
         * School name, for example, Mountain View School of Nursing.
         */
        schoolName?: string | null;
        /**
         * Similar program IDs.
         */
        similarProgramIds?: string[] | null;
        /**
         * Subject of study, for example, Health.
         */
        subject?: string | null;
        /**
         * Thumbnail image url, for example, http://www.example.com/thumbnail.png. The thumbnail image will not be uploaded as image asset.
         */
        thumbnailImageUrl?: string | null;
    }
    /**
     * A dynamic flights asset.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__DynamicFlightsAsset {
        /**
         * Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.
         */
        androidAppLink?: string | null;
        /**
         * A custom field which can be multiple key to values mapping separated by delimiters (",", "|" and ":"), in the forms of ": , , ... , | : , ... , | ... | : , ... ," for example, wifi: most | aircraft: 320, 77W | flights: 42 | legroom: 32".
         */
        customMapping?: string | null;
        /**
         * Required. Destination ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag. Required.
         */
        destinationId?: string | null;
        /**
         * Destination name, for example, Paris.
         */
        destinationName?: string | null;
        /**
         * Required. Flight description, for example, Book your ticket. Required.
         */
        flightDescription?: string | null;
        /**
         * Flight price which can be number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 100.00 USD.
         */
        flightPrice?: string | null;
        /**
         * Flight sale price which can be number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 80.00 USD. Must be less than the 'flight_price' field.
         */
        flightSalePrice?: string | null;
        /**
         * Formatted price which can be any characters. If set, this attribute will be used instead of 'price', for example, Starting at $100.00.
         */
        formattedPrice?: string | null;
        /**
         * Formatted sale price which can be any characters. If set, this attribute will be used instead of 'sale price', for example, On sale for $80.00.
         */
        formattedSalePrice?: string | null;
        /**
         * Image URL, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.
         */
        imageUrl?: string | null;
        /**
         * iOS deep link, for example, exampleApp://content/page.
         */
        iosAppLink?: string | null;
        /**
         * iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.
         */
        iosAppStoreId?: string | null;
        /**
         * Origin ID which can be any sequence of letters and digits. The ID sequence (destination ID + origin ID) must be unique.
         */
        originId?: string | null;
        /**
         * Origin name, for example, London.
         */
        originName?: string | null;
        /**
         * Similar destination IDs, for example, PAR,LON.
         */
        similarDestinationIds?: string[] | null;
    }
    /**
     * A dynamic hotels and rentals asset.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__DynamicHotelsAndRentalsAsset {
        /**
         * Address which can be specified in one of the following formats. (1) City, state, code, country, for example, Mountain View, CA, USA. (2) Full address, for example, 123 Boulevard St, Mountain View, CA 94043. (3) Latitude-longitude in the DDD format, for example, 41.40338, 2.17403
         */
        address?: string | null;
        /**
         * Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.
         */
        androidAppLink?: string | null;
        /**
         * Category, for example, Hotel suite.
         */
        category?: string | null;
        /**
         * Contextual keywords, for example, Mountain View "Hotels", South Bay hotels.
         */
        contextualKeywords?: string[] | null;
        /**
         * Description, for example, Close to SJC Airport.
         */
        description?: string | null;
        /**
         * Destination name, for example, Downtown Mountain View.
         */
        destinationName?: string | null;
        /**
         * Formatted price which can be any characters. If set, this attribute will be used instead of 'price', for example, Starting at $100.00.
         */
        formattedPrice?: string | null;
        /**
         * Formatted sale price which can be any characters. If set, this attribute will be used instead of 'sale price', for example, On sale for $80.00.
         */
        formattedSalePrice?: string | null;
        /**
         * Image URL, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.
         */
        imageUrl?: string | null;
        /**
         * iOS deep link, for example, exampleApp://content/page.
         */
        iosAppLink?: string | null;
        /**
         * iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.
         */
        iosAppStoreId?: string | null;
        /**
         * Price which can be number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 100.00 USD.
         */
        price?: string | null;
        /**
         * Required. Property ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag. Required.
         */
        propertyId?: string | null;
        /**
         * Required. Property name, for example, Mountain View Hotel. Required.
         */
        propertyName?: string | null;
        /**
         * ISO 4217 standard. Use '.' as the decimal mark, for example, 80.00 USD. Must be less than the 'price' field.
         */
        salePrice?: string | null;
        /**
         * Similar property IDs.
         */
        similarPropertyIds?: string[] | null;
        /**
         * Star rating. Must be a number between 1 to 5, inclusive.
         */
        starRating?: string | null;
    }
    /**
     * A dynamic jobs asset.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__DynamicJobsAsset {
        /**
         * Address which can be specified in one of the following formats. (1) City, state, code, country, for example, Mountain View, CA, USA. (2) Full address, for example, 123 Boulevard St, Mountain View, CA 94043. (3) Latitude-longitude in the DDD format, for example, 41.40338, 2.17403.
         */
        address?: string | null;
        /**
         * Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.
         */
        androidAppLink?: string | null;
        /**
         * Contextual keywords, for example, Software engineering job.
         */
        contextualKeywords?: string[] | null;
        /**
         * Description, for example, Apply your technical skills.
         */
        description?: string | null;
        /**
         * Image URL, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.
         */
        imageUrl?: string | null;
        /**
         * iOS deep link, for example, exampleApp://content/page.
         */
        iosAppLink?: string | null;
        /**
         * iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.
         */
        iosAppStoreId?: string | null;
        /**
         * Job category, for example, Technical.
         */
        jobCategory?: string | null;
        /**
         * Required. Job ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag. Required.
         */
        jobId?: string | null;
        /**
         * Job subtitle, for example, Level II.
         */
        jobSubtitle?: string | null;
        /**
         * Required. Job title, for example, Software engineer. Required.
         */
        jobTitle?: string | null;
        /**
         * Location ID which can be any sequence of letters and digits. The ID sequence (job ID + location ID) must be unique.
         */
        locationId?: string | null;
        /**
         * Salary, for example, $100,000.
         */
        salary?: string | null;
        /**
         * Similar job IDs, for example, 1275.
         */
        similarJobIds?: string[] | null;
    }
    /**
     * A dynamic local asset.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__DynamicLocalAsset {
        /**
         * Address which can be specified in one of the following formats. (1) City, state, code, country, for example, Mountain View, CA, USA. (2) Full address, for example, 123 Boulevard St, Mountain View, CA 94043. (3) Latitude-longitude in the DDD format, for example, 41.40338, 2.17403.
         */
        address?: string | null;
        /**
         * Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.
         */
        androidAppLink?: string | null;
        /**
         * Category, for example, Food.
         */
        category?: string | null;
        /**
         * Contextual keywords, for example, Save groceries coupons.
         */
        contextualKeywords?: string[] | null;
        /**
         * Required. Deal ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag. Required.
         */
        dealId?: string | null;
        /**
         * Required. Deal name, for example, 50% off at Mountain View Grocers. Required.
         */
        dealName?: string | null;
        /**
         * Description, for example, Save on your weekly bill.
         */
        description?: string | null;
        /**
         * Formatted price which can be any characters. If set, this attribute will be used instead of 'price', for example, Starting at $100.00.
         */
        formattedPrice?: string | null;
        /**
         * Formatted sale price which can be any characters. If set, this attribute will be used instead of 'sale price', for example, On sale for $80.00.
         */
        formattedSalePrice?: string | null;
        /**
         * Image URL, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.
         */
        imageUrl?: string | null;
        /**
         * iOS deep link, for example, exampleApp://content/page.
         */
        iosAppLink?: string | null;
        /**
         * iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.
         */
        iosAppStoreId?: string | null;
        /**
         * Price which can be a number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 100.00 USD.
         */
        price?: string | null;
        /**
         * Sale price which can be number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 80.00 USD. Must be less than the 'price' field.
         */
        salePrice?: string | null;
        /**
         * Similar deal IDs, for example, 1275.
         */
        similarDealIds?: string[] | null;
        /**
         * Subtitle, for example, Groceries.
         */
        subtitle?: string | null;
    }
    /**
     * A dynamic real estate asset.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__DynamicRealEstateAsset {
        /**
         * Address which can be specified in one of the following formats. (1) City, state, code, country, for example, Mountain View, CA, USA. (2) Full address, for example, 123 Boulevard St, Mountain View, CA 94043. (3) Latitude-longitude in the DDD format, for example, 41.40338, 2.17403
         */
        address?: string | null;
        /**
         * Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.
         */
        androidAppLink?: string | null;
        /**
         * City name, for example, Mountain View, California.
         */
        cityName?: string | null;
        /**
         * Contextual keywords, for example, For sale; Houses for sale.
         */
        contextualKeywords?: string[] | null;
        /**
         * Description, for example, 3 beds, 2 baths, 1568 sq. ft.
         */
        description?: string | null;
        /**
         * Formatted price which can be any characters. If set, this attribute will be used instead of 'price', for example, Starting at $200,000.00.
         */
        formattedPrice?: string | null;
        /**
         * Image URL, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.
         */
        imageUrl?: string | null;
        /**
         * iOS deep link, for example, exampleApp://content/page.
         */
        iosAppLink?: string | null;
        /**
         * iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.
         */
        iosAppStoreId?: string | null;
        /**
         * Required. Listing ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag. Required.
         */
        listingId?: string | null;
        /**
         * Required. Listing name, for example, Boulevard Bungalow. Required.
         */
        listingName?: string | null;
        /**
         * Listing type, for example, For sale.
         */
        listingType?: string | null;
        /**
         * Price which can be number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 200,000.00 USD.
         */
        price?: string | null;
        /**
         * Property type, for example, House.
         */
        propertyType?: string | null;
        /**
         * Similar listing IDs.
         */
        similarListingIds?: string[] | null;
    }
    /**
     * A dynamic travel asset.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__DynamicTravelAsset {
        /**
         * Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.
         */
        androidAppLink?: string | null;
        /**
         * Category, for example, Express.
         */
        category?: string | null;
        /**
         * Contextual keywords, for example, Paris trains.
         */
        contextualKeywords?: string[] | null;
        /**
         * Destination address which can be specified in one of the following formats. (1) City, state, code, country, for example, Mountain View, CA, USA. (2) Full address, for example, 123 Boulevard St, Mountain View, CA 94043. (3) Latitude-longitude in the DDD format, for example, 41.40338, 2.17403.
         */
        destinationAddress?: string | null;
        /**
         * Required. Destination ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag. Required.
         */
        destinationId?: string | null;
        /**
         * Destination name, for example, Paris.
         */
        destinationName?: string | null;
        /**
         * Formatted price which can be any characters. If set, this attribute will be used instead of 'price', for example, Starting at $100.00.
         */
        formattedPrice?: string | null;
        /**
         * Formatted sale price which can be any characters. If set, this attribute will be used instead of 'sale price', for example, On sale for $80.00.
         */
        formattedSalePrice?: string | null;
        /**
         * Image URL, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.
         */
        imageUrl?: string | null;
        /**
         * iOS deep link, for example, exampleApp://content/page.
         */
        iosAppLink?: string | null;
        /**
         * iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.
         */
        iosAppStoreId?: string | null;
        /**
         * Origin ID which can be any sequence of letters and digits. The ID sequence (destination ID + origin ID) must be unique.
         */
        originId?: string | null;
        /**
         * Origin name, for example, London.
         */
        originName?: string | null;
        /**
         * Price which can be a number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 100.00 USD.
         */
        price?: string | null;
        /**
         * Sale price which can be a number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 80.00 USD. Must be less than the 'price' field.
         */
        salePrice?: string | null;
        /**
         * Similar destination IDs, for example, NYC.
         */
        similarDestinationIds?: string[] | null;
        /**
         * Required. Title, for example, Book your train ticket. Required.
         */
        title?: string | null;
    }
    /**
     * An automated bidding strategy that raises bids for clicks that seem more likely to lead to a conversion and lowers them for clicks where they seem less likely. This bidding strategy is deprecated and cannot be created anymore. Use ManualCpc with enhanced_cpc_enabled set to true for equivalent functionality.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__EnhancedCpc {
    }
    /**
     * Advertiser defined events and their attributes. All the values in the nested fields are required.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__EventAttribute {
        /**
         * Required. Advertiser defined event to be used for remarketing. The accepted values are "Viewed", "Cart", "Purchased" and "Recommended".
         */
        event?: string | null;
        /**
         * Required. Timestamp at which the event happened. The format is YYYY-MM-DD HH:MM:SS[+/-HH:MM], where [+/-HH:MM] is an optional timezone offset from UTC. If the offset is absent, the API will use the account's timezone as default.
         */
        eventDateTime?: string | null;
        /**
         * Required. Item attributes of the event.
         */
        itemAttribute?: Schema$GoogleAdsSearchads360V23Common__EventItemAttribute[];
    }
    /**
     * Event Item attributes of the Customer Match.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__EventItemAttribute {
        /**
         * Optional. A unique identifier of a product. It can be either the Merchant Center Item ID or GTIN (Global Trade Item Number).
         */
        itemId?: string | null;
    }
    /**
     * An audience segment to be excluded from an audience.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__ExclusionSegment {
        /**
         * User list segment to be excluded.
         */
        userList?: Schema$GoogleAdsSearchads360V23Common__UserListSegment;
    }
    /**
     * An expanded dynamic search ad.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__ExpandedDynamicSearchAdInfo {
        /**
         * The description of the ad.
         */
        description?: string | null;
        /**
         * The second description of the ad.
         */
        description2?: string | null;
    }
    /**
     * An expanded text ad. Expanded text ads are deprecated.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__ExpandedTextAdInfo {
        /**
         * The description of the ad.
         */
        description?: string | null;
        /**
         * The second description of the ad.
         */
        description2?: string | null;
        /**
         * The first part of the ad's headline.
         */
        headlinePart1?: string | null;
        /**
         * The second part of the ad's headline.
         */
        headlinePart2?: string | null;
        /**
         * The third part of the ad's headline.
         */
        headlinePart3?: string | null;
        /**
         * The text that can appear alongside the ad's displayed URL.
         */
        path1?: string | null;
        /**
         * Additional text that can appear alongside the ad's displayed URL.
         */
        path2?: string | null;
    }
    /**
     * Represents an extended demographic criterion.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__ExtendedDemographicInfo {
        /**
         * Taxonomy id of the extended demographic group.
         */
        extendedDemographicId?: string | null;
    }
    /**
     * Facebook Messenger information to use for messaging.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__FacebookMessengerBusinessMessageInfo {
        /**
         * Required. Facebook page name used for starting a chat on Facebook Messenger.
         */
        pageName?: string | null;
    }
    /**
     * A URL for deep linking into an app for the given operating system.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__FinalAppUrl {
        /**
         * The operating system targeted by this URL. Required.
         */
        osType?: string | null;
        /**
         * The app deep link URL. Deep links specify a location in an app that corresponds to the content you'd like to show, and should be of the form {scheme\}://{host_path\} The scheme identifies which app to open. For your app, you can use a custom scheme that starts with the app's name. The host and path specify the unique location in the app where your content exists. Example: "exampleapp://productid_1234". Required.
         */
        url?: string | null;
    }
    /**
     * Flexible rule that wraps the common rule and a lookback window.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__FlexibleRuleOperandInfo {
        /**
         * Lookback window for this rule in days. From now until X days ago.
         */
        lookbackWindowDays?: string | null;
        /**
         * List of rule item groups that defines this rule. Rule item groups are grouped together.
         */
        rule?: Schema$GoogleAdsSearchads360V23Common__UserListRuleInfo;
    }
    /**
     * Flexible rule representation of visitors with one or multiple actions. The flexible user list is defined by two lists of operands – inclusive_operands and exclusive_operands; each operand represents a set of users based on actions they took in a given timeframe. These lists of operands are combined with the AND_NOT operator, so that users represented by the inclusive operands are included in the user list, minus the users represented by the exclusive operands.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__FlexibleRuleUserListInfo {
        /**
         * Rules representing users that should be excluded from the user list. These are located on the right side of the AND_NOT operator, and joined together by OR.
         */
        exclusiveOperands?: Schema$GoogleAdsSearchads360V23Common__FlexibleRuleOperandInfo[];
        /**
         * Rules representing users that should be included in the user list. These are located on the left side of the AND_NOT operator, and joined together by either AND/OR as specified by the inclusive_rule_operator.
         */
        inclusiveOperands?: Schema$GoogleAdsSearchads360V23Common__FlexibleRuleOperandInfo[];
        /**
         * Operator that defines how the inclusive operands are combined.
         */
        inclusiveRuleOperator?: string | null;
    }
    /**
     * A rule specifying the maximum number of times an ad (or some set of ads) can be shown to a user over a particular time period.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__FrequencyCapEntry {
        /**
         * Maximum number of events allowed during the time range by this cap.
         */
        cap?: number | null;
        /**
         * The key of a particular frequency cap. There can be no more than one frequency cap with the same key.
         */
        key?: Schema$GoogleAdsSearchads360V23Common__FrequencyCapKey;
    }
    /**
     * A group of fields used as keys for a frequency cap. There can be no more than one frequency cap with the same key.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__FrequencyCapKey {
        /**
         * The type of event that the cap applies to (for example, impression).
         */
        eventType?: string | null;
        /**
         * The level on which the cap is to be applied (for example, ad group ad, ad group). The cap is applied to all the entities of this level.
         */
        level?: string | null;
        /**
         * Number of time units the cap lasts.
         */
        timeLength?: number | null;
        /**
         * Unit of time the cap is defined at (for example, day, week).
         */
        timeUnit?: string | null;
    }
    /**
     * Dimension specifying users by their gender.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__GenderDimension {
        /**
         * Included gender demographic segments.
         */
        genders?: string[] | null;
        /**
         * Include users whose gender is not determined.
         */
        includeUndetermined?: boolean | null;
    }
    /**
     * A gender criterion.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__GenderInfo {
        /**
         * Type of the gender.
         */
        type?: string | null;
    }
    /**
     * Geo point for proximity criterion.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__GeoPointInfo {
        /**
         * Micro degrees for the latitude.
         */
        latitudeInMicroDegrees?: number | null;
        /**
         * Micro degrees for the longitude.
         */
        longitudeInMicroDegrees?: number | null;
    }
    /**
     * Historical metrics options.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__HistoricalMetricsOptions {
        /**
         * Indicates whether to include average cost per click value. Average CPC is provided only for legacy support.
         */
        includeAverageCpc?: boolean | null;
        /**
         * The year month range for historical metrics. If not specified, metrics for the past 12 months are returned. Search metrics are available for the past 4 years. If the search volume is not available for the entire year_month_range provided, the subset of the year month range for which search volume is available are returned.
         */
        yearMonthRange?: Schema$GoogleAdsSearchads360V23Common__YearMonthRange;
    }
    /**
     * A hotel ad.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__HotelAdInfo {
    }
    /**
     * Criterion for number of days prior to the stay the booking is being made.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__HotelAdvanceBookingWindowInfo {
        /**
         * High end of the number of days prior to the stay.
         */
        maxDays?: string | null;
        /**
         * Low end of the number of days prior to the stay.
         */
        minDays?: string | null;
    }
    /**
     * An asset representing a hotel callout.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__HotelCalloutAsset {
        /**
         * Required. The language of the hotel callout. Represented as BCP 47 language tag.
         */
        languageCode?: string | null;
        /**
         * Required. The text of the hotel callout asset. The length of this string should be between 1 and 25, inclusive.
         */
        text?: string | null;
    }
    /**
     * Criterion for a check-in date range.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__HotelCheckInDateRangeInfo {
        /**
         * End date in the YYYY-MM-DD format.
         */
        endDate?: string | null;
        /**
         * Start date in the YYYY-MM-DD format.
         */
        startDate?: string | null;
    }
    /**
     * Criterion for day of the week the booking is for.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__HotelCheckInDayInfo {
        /**
         * The day of the week.
         */
        dayOfWeek?: string | null;
    }
    /**
     * City the hotel is located in.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__HotelCityInfo {
        /**
         * The Geo Target Constant resource name.
         */
        cityCriterion?: string | null;
    }
    /**
     * Class of the hotel as a number of stars 1 to 5.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__HotelClassInfo {
        /**
         * Long value of the hotel class.
         */
        value?: string | null;
    }
    /**
     * Country or Region the hotel is located in.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__HotelCountryRegionInfo {
        /**
         * The Geo Target Constant resource name.
         */
        countryRegionCriterion?: string | null;
    }
    /**
     * Criterion for hotel date selection (default dates versus user selected).
     */
    export interface Schema$GoogleAdsSearchads360V23Common__HotelDateSelectionTypeInfo {
        /**
         * Type of the hotel date selection
         */
        type?: string | null;
    }
    /**
     * Advertiser-specific hotel ID.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__HotelIdInfo {
        /**
         * String value of the hotel ID.
         */
        value?: string | null;
    }
    /**
     * Criterion for length of hotel stay in nights.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__HotelLengthOfStayInfo {
        /**
         * High end of the number of nights in the stay.
         */
        maxNights?: string | null;
        /**
         * Low end of the number of nights in the stay.
         */
        minNights?: string | null;
    }
    /**
     * A hotel property asset.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__HotelPropertyAsset {
        /**
         * Address of the hotel. Read-only.
         */
        hotelAddress?: string | null;
        /**
         * Name of the hotel. Read-only.
         */
        hotelName?: string | null;
        /**
         * Place IDs uniquely identify a place in the Google Places database and on Google Maps. See https://developers.google.com/places/web-service/place-id to learn more.
         */
        placeId?: string | null;
    }
    /**
     * State the hotel is located in.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__HotelStateInfo {
        /**
         * The Geo Target Constant resource name.
         */
        stateCriterion?: string | null;
    }
    /**
     * Dimension specifying users by their household income.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__HouseholdIncomeDimension {
        /**
         * Include users whose household income is not determined.
         */
        includeUndetermined?: boolean | null;
        /**
         * Included household income demographic segments.
         */
        incomeRanges?: string[] | null;
    }
    /**
     * An image ad.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__ImageAdInfo {
        /**
         * An ad ID to copy the image from.
         */
        adIdToCopyImageFrom?: string | null;
        /**
         * Raw image data as bytes.
         */
        data?: string | null;
        /**
         * The image assets used for the ad.
         */
        imageAsset?: Schema$GoogleAdsSearchads360V23Common__AdImageAsset;
        /**
         * URL of the full size image.
         */
        imageUrl?: string | null;
        /**
         * The mime type of the image.
         */
        mimeType?: string | null;
        /**
         * The name of the image. If the image was created from a MediaFile, this is the MediaFile's name. If the image was created from bytes, this is empty.
         */
        name?: string | null;
        /**
         * Height in pixels of the full size image.
         */
        pixelHeight?: string | null;
        /**
         * Width in pixels of the full size image.
         */
        pixelWidth?: string | null;
        /**
         * URL of the preview size image.
         */
        previewImageUrl?: string | null;
        /**
         * Height in pixels of the preview size image.
         */
        previewPixelHeight?: string | null;
        /**
         * Width in pixels of the preview size image.
         */
        previewPixelWidth?: string | null;
    }
    /**
     * An Image asset.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__ImageAsset {
        /**
         * The raw bytes data of an image. This field is mutate only.
         */
        data?: string | null;
        /**
         * File size of the image asset in bytes.
         */
        fileSize?: string | null;
        /**
         * Metadata for this image at its original size.
         */
        fullSize?: Schema$GoogleAdsSearchads360V23Common__ImageDimension;
        /**
         * MIME type of the image asset.
         */
        mimeType?: string | null;
    }
    /**
     * Metadata for an image at a certain size, either original or resized.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__ImageDimension {
        /**
         * Height of the image.
         */
        heightPixels?: string | null;
        /**
         * A URL that returns the image with this height and width.
         */
        url?: string | null;
        /**
         * Width of the image.
         */
        widthPixels?: string | null;
    }
    /**
     * An income range criterion.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__IncomeRangeInfo {
        /**
         * Type of the income range.
         */
        type?: string | null;
    }
    /**
     * Criterion for Interaction Type.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__InteractionTypeInfo {
        /**
         * The interaction type.
         */
        type?: string | null;
    }
    /**
     * An IpBlock criterion used for excluding IP addresses. We support excluding individual IP addresses or CIDR blocks. Create one IpBlockInfo criterion for each individual IP address or CIDR block you want to exclude. You can exclude up to 500 IP addresses per campaign. For more details, see [Exclude IP addresses](//support.google.com/google-ads/answer/2456098). IPv4 examples: * Individual address: 192.168.0.1 * Individual address as CIDR block: 192.168.0.1/32 * CIDR block: 192.168.0.0/24 IPv6 examples: * Individual address: 2001:db8:a0b:12f0::1 * Individual address as CIDR block: 2001:db8:a0b:12f0::1/128 * CIDR block: 2001:db8::/48
     */
    export interface Schema$GoogleAdsSearchads360V23Common__IpBlockInfo {
        /**
         * The IP address or the CIDR block to be excluded.
         */
        ipAddress?: string | null;
    }
    /**
     * Item attributes of the transaction.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__ItemAttribute {
        /**
         * Common Locale Data Repository (CLDR) territory code of the country associated with the feed where your items are uploaded. See https://developers.google.com/google-ads/api/reference/data/codes-formats#country-codes for more information. This information is useful to differentiate product information in cases where a product (identified by item_id) is associated with multiple countries.
         */
        countryCode?: string | null;
        /**
         * A unique identifier of a product. It must be the exact same Merchant Center Item ID you use in your Google Merchant Center for this product. Required.
         */
        itemId?: string | null;
        /**
         * ISO 639-1 code of the language associated with the feed where your items are uploaded. This information is useful to differentiate product information in cases where a product (identified by item_id) is associated with multiple languages.
         */
        languageCode?: string | null;
        /**
         * ID of the Merchant Center Account. Required.
         */
        merchantId?: string | null;
        /**
         * The number of items sold. Defaults to 1 if not set.
         */
        quantity?: string | null;
    }
    /**
     * A Keyword criterion segment.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__Keyword {
        /**
         * The AdGroupCriterion resource name.
         */
        adGroupCriterion?: string | null;
        /**
         * Keyword info.
         */
        info?: Schema$GoogleAdsSearchads360V23Common__KeywordInfo;
    }
    /**
     * The annotations for the keyword plan keywords.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__KeywordAnnotations {
        /**
         * The list of concepts for the keyword.
         */
        concepts?: Schema$GoogleAdsSearchads360V23Common__KeywordConcept[];
    }
    /**
     * The concept for the keyword.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__KeywordConcept {
        /**
         * The concept group of the concept details.
         */
        conceptGroup?: Schema$GoogleAdsSearchads360V23Common__ConceptGroup;
        /**
         * The concept name for the keyword in the concept_group.
         */
        name?: string | null;
    }
    /**
     * A keyword criterion.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__KeywordInfo {
        /**
         * The match type of the keyword.
         */
        matchType?: string | null;
        /**
         * The text of the keyword (at most 80 characters and 10 words).
         */
        text?: string | null;
    }
    /**
     * The aggregated historical metrics for keyword plan keywords.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__KeywordPlanAggregateMetricResults {
        /**
         * The aggregate searches for all the keywords segmented by device for the specified time. Supports the following device types: MOBILE, TABLET, DESKTOP. This is only set when KeywordPlanAggregateMetricTypeEnum.DEVICE is set in the KeywordPlanAggregateMetrics field in the request.
         */
        deviceSearches?: Schema$GoogleAdsSearchads360V23Common__KeywordPlanDeviceSearches[];
    }
    /**
     * The aggregate metrics specification of the request.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__KeywordPlanAggregateMetrics {
        /**
         * The list of aggregate metrics to fetch data.
         */
        aggregateMetricTypes?: string[] | null;
    }
    /**
     * The total searches for the device type during the specified time period.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__KeywordPlanDeviceSearches {
        /**
         * The device type.
         */
        device?: string | null;
        /**
         * The total searches for the device.
         */
        searchCount?: string | null;
    }
    /**
     * Historical metrics specific to the targeting options selected. Targeting options include geographies, network, and so on. Refer to https://support.google.com/google-ads/answer/3022575 for more details.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__KeywordPlanHistoricalMetrics {
        /**
         * Average Cost Per Click in micros for the keyword.
         */
        averageCpcMicros?: string | null;
        /**
         * Approximate number of monthly searches on this query, averaged for the past 12 months.
         */
        avgMonthlySearches?: string | null;
        /**
         * The competition level for the query.
         */
        competition?: string | null;
        /**
         * The competition index for the query in the range [0, 100]. Shows how competitive ad placement is for a keyword. The level of competition from 0-100 is determined by the number of ad slots filled divided by the total number of ad slots available. If not enough data is available, null is returned.
         */
        competitionIndex?: string | null;
        /**
         * Top of page bid high range (80th percentile) in micros for the keyword.
         */
        highTopOfPageBidMicros?: string | null;
        /**
         * Top of page bid low range (20th percentile) in micros for the keyword.
         */
        lowTopOfPageBidMicros?: string | null;
        /**
         * Approximate number of searches on this query for the past twelve months.
         */
        monthlySearchVolumes?: Schema$GoogleAdsSearchads360V23Common__MonthlySearchVolume[];
    }
    /**
     * A Smart Campaign keyword theme.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__KeywordThemeInfo {
        /**
         * Free-form text to be matched to a Smart Campaign keyword theme constant on a best-effort basis.
         */
        freeFormKeywordTheme?: string | null;
        /**
         * The resource name of a Smart Campaign keyword theme constant. `keywordThemeConstants/{keyword_theme_id\}~{sub_keyword_theme_id\}`
         */
        keywordThemeConstant?: string | null;
    }
    /**
     * Metadata associated with a Knowledge Graph Entity attribute.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__KnowledgeGraphAttributeMetadata {
        /**
         * The capabilities of the entity used in ContentCreatorInsightsService.
         */
        entityCapabilities?: string[] | null;
        /**
         * A list of CATEGORY attributes related to this entity.
         */
        relatedCategories?: Schema$GoogleAdsSearchads360V23Common__AudienceInsightsAttributeMetadata[];
    }
    /**
     * A language criterion.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__LanguageInfo {
        /**
         * The language constant resource name.
         */
        languageConstant?: string | null;
    }
    /**
     * A Lead Form asset.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__LeadFormAsset {
        /**
         * Asset resource name of the background image. The image dimensions must be exactly 1200x628.
         */
        backgroundImageAsset?: string | null;
        /**
         * Required. The name of the business being advertised.
         */
        businessName?: string | null;
        /**
         * Required. Text giving a clear value proposition of what users expect once they expand the form.
         */
        callToActionDescription?: string | null;
        /**
         * Required. Pre-defined display text that encourages user to expand the form.
         */
        callToActionType?: string | null;
        /**
         * Custom disclosure shown along with Google disclaimer on the lead form. Accessible to allowed customers only.
         */
        customDisclosure?: string | null;
        /**
         * Ordered list of custom question fields. This field is subject to a limit of 5 qualifying questions per form.
         */
        customQuestionFields?: Schema$GoogleAdsSearchads360V23Common__LeadFormCustomQuestionField[];
        /**
         * Configured methods for collected lead data to be delivered to advertiser. Only one method typed as WebhookDelivery can be configured.
         */
        deliveryMethods?: Schema$GoogleAdsSearchads360V23Common__LeadFormDeliveryMethod[];
        /**
         * Required. Detailed description of the expanded form to describe what the form is asking for or facilitating.
         */
        description?: string | null;
        /**
         * Chosen intent for the lead form, for example, more volume or more qualified.
         */
        desiredIntent?: string | null;
        /**
         * Ordered list of input fields. This field can be updated by reordering questions, but not by adding or removing questions.
         */
        fields?: Schema$GoogleAdsSearchads360V23Common__LeadFormField[];
        /**
         * Required. Headline of the expanded form to describe what the form is asking for or facilitating.
         */
        headline?: string | null;
        /**
         * Pre-defined display text that encourages user action after the form is submitted.
         */
        postSubmitCallToActionType?: string | null;
        /**
         * Detailed description shown after form submission that describes how the advertiser will follow up with the user.
         */
        postSubmitDescription?: string | null;
        /**
         * Headline of text shown after form submission that describes how the advertiser will follow up with the user.
         */
        postSubmitHeadline?: string | null;
        /**
         * Required. Link to a page describing the policy on how the collected data is handled by the advertiser/business.
         */
        privacyPolicyUrl?: string | null;
    }
    /**
     * One custom question input field instance within a form.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__LeadFormCustomQuestionField {
        /**
         * The exact custom question field text (for example, "What kind of vehicle do you have?").
         */
        customQuestionText?: string | null;
        /**
         * Answer configuration for location question. If true, campaign/account level location data (state, city, business name etc) will be rendered on the Lead Form. Starting V13.1, has_location_answer can only be set for "What is your preferred dealership?" question, for advertisers with Location Assets setup at campaign/account level.
         */
        hasLocationAnswer?: boolean | null;
        /**
         * Answer configuration for a single choice question. Minimum of 2 answers and maximum of 12 allowed.
         */
        singleChoiceAnswers?: Schema$GoogleAdsSearchads360V23Common__LeadFormSingleChoiceAnswers;
    }
    /**
     * A configuration of how leads are delivered to the advertiser.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__LeadFormDeliveryMethod {
        /**
         * Webhook method of delivery.
         */
        webhook?: Schema$GoogleAdsSearchads360V23Common__WebhookDelivery;
    }
    /**
     * One input field instance within a form.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__LeadFormField {
        /**
         * Answer configuration for location question. If true, campaign/account level location data (state, city, business name etc) will be rendered on the Lead Form. Starting V13.1, has_location_answer can only be set for "What is your preferred dealership?" question, for advertisers with Location Assets setup at campaign/account level.
         */
        hasLocationAnswer?: boolean | null;
        /**
         * Describes the input type, which may be a predefined type such as "full name" or a pre-vetted question like "What kind of vehicle do you have?".
         */
        inputType?: string | null;
        /**
         * Answer configuration for a single choice question. Can be set only for pre-vetted question fields. Minimum of 2 answers required and maximum of 12 allowed.
         */
        singleChoiceAnswers?: Schema$GoogleAdsSearchads360V23Common__LeadFormSingleChoiceAnswers;
    }
    /**
     * Defines possible answers for a single choice question, usually presented as a single-choice drop-down list.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__LeadFormSingleChoiceAnswers {
        /**
         * List of choices for a single question field. The order of entries defines UI order. Minimum of 2 answers required and maximum of 12 allowed.
         */
        answers?: string[] | null;
    }
    /**
     * A legacy app install ad that only can be used by a few select customers.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__LegacyAppInstallAdInfo {
        /**
         * The ID of the mobile app.
         */
        appId?: string | null;
        /**
         * The app store the mobile app is available in.
         */
        appStore?: string | null;
        /**
         * The first description line of the ad.
         */
        description1?: string | null;
        /**
         * The second description line of the ad.
         */
        description2?: string | null;
        /**
         * The headline of the ad.
         */
        headline?: string | null;
    }
    /**
     * A legacy responsive display ad. Ads of this type are labeled 'Responsive ads' in the Google Ads UI.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__LegacyResponsiveDisplayAdInfo {
        /**
         * The accent color of the ad in hexadecimal, for example, #ffffff for white. If one of `main_color` and `accent_color` is set, the other is required as well.
         */
        accentColor?: string | null;
        /**
         * Advertiser's consent to allow flexible color. When true, the ad may be served with different color if necessary. When false, the ad will be served with the specified colors or a neutral color. The default value is `true`. Must be true if `main_color` and `accent_color` are not set.
         */
        allowFlexibleColor?: boolean | null;
        /**
         * The business name in the ad.
         */
        businessName?: string | null;
        /**
         * The call-to-action text for the ad.
         */
        callToActionText?: string | null;
        /**
         * The description of the ad.
         */
        description?: string | null;
        /**
         * Specifies which format the ad will be served in. Default is ALL_FORMATS.
         */
        formatSetting?: string | null;
        /**
         * The MediaFile resource name of the logo image used in the ad.
         */
        logoImage?: string | null;
        /**
         * The long version of the ad's headline.
         */
        longHeadline?: string | null;
        /**
         * The main color of the ad in hexadecimal, for example, #ffffff for white. If one of `main_color` and `accent_color` is set, the other is required as well.
         */
        mainColor?: string | null;
        /**
         * The MediaFile resource name of the marketing image used in the ad.
         */
        marketingImage?: string | null;
        /**
         * Prefix before price. For example, 'as low as'.
         */
        pricePrefix?: string | null;
        /**
         * Promotion text used for dynamic formats of responsive ads. For example 'Free two-day shipping'.
         */
        promoText?: string | null;
        /**
         * The short version of the ad's headline.
         */
        shortHeadline?: string | null;
        /**
         * The MediaFile resource name of the square logo image used in the ad.
         */
        squareLogoImage?: string | null;
        /**
         * The MediaFile resource name of the square marketing image used in the ad.
         */
        squareMarketingImage?: string | null;
    }
    /**
     * Lifecycle goal value settings.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__LifecycleGoalValueSettings {
        /**
         * High lifetime value of the lifecycle goal. For example, for customer acquisition goal, high lifetime value is the incremental conversion value for new customers who are of high value. High lifetime value should be greater than value, if set.
         */
        highLifetimeValue?: number | null;
        /**
         * Value of the lifecycle goal. For example, for customer acquisition goal, value is the incremental conversion value for new customers who are not of high value.
         */
        value?: number | null;
    }
    /**
     * Represents a life event criterion.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__LifeEventInfo {
        /**
         * Taxonomy id of the life event.
         */
        lifeEventId?: string | null;
    }
    /**
     * Live event segment.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__LifeEventSegment {
        /**
         * The life event resource.
         */
        lifeEvent?: string | null;
    }
    /**
     * Metadata associated with a Lineup attribute.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__LineupAttributeMetadata {
        /**
         * The lower end of a range containing the number of channels in the lineup.
         */
        channelCountLowerBound?: string | null;
        /**
         * The upper end of a range containing the number of channels in the lineup.
         */
        channelCountUpperBound?: string | null;
        /**
         * The national market associated with the lineup.
         */
        inventoryCountry?: Schema$GoogleAdsSearchads360V23Common__LocationInfo;
        /**
         * The median number of impressions per month on this lineup.
         */
        medianMonthlyInventory?: string | null;
        /**
         * Examples of channels that are included in the lineup.
         */
        sampleChannels?: Schema$GoogleAdsSearchads360V23Common_LineupAttributeMetadata_SampleChannel[];
    }
    /**
     * Listing dimensions for listing group criterion.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__ListingDimensionInfo {
        /**
         * The city where the travel activity is available.
         */
        activityCity?: Schema$GoogleAdsSearchads360V23Common__ActivityCityInfo;
        /**
         * The country where the travel activity is available.
         */
        activityCountry?: Schema$GoogleAdsSearchads360V23Common__ActivityCountryInfo;
        /**
         * Advertiser-specific activity ID.
         */
        activityId?: Schema$GoogleAdsSearchads360V23Common__ActivityIdInfo;
        /**
         * Rating of the activity as a number 1 to 5, where 5 is the best.
         */
        activityRating?: Schema$GoogleAdsSearchads360V23Common__ActivityRatingInfo;
        /**
         * The state where the travel activity is available.
         */
        activityState?: Schema$GoogleAdsSearchads360V23Common__ActivityStateInfo;
        /**
         * City the hotel is located in.
         */
        hotelCity?: Schema$GoogleAdsSearchads360V23Common__HotelCityInfo;
        /**
         * Class of the hotel as a number of stars 1 to 5.
         */
        hotelClass?: Schema$GoogleAdsSearchads360V23Common__HotelClassInfo;
        /**
         * Country or Region the hotel is located in.
         */
        hotelCountryRegion?: Schema$GoogleAdsSearchads360V23Common__HotelCountryRegionInfo;
        /**
         * Advertiser-specific hotel ID.
         */
        hotelId?: Schema$GoogleAdsSearchads360V23Common__HotelIdInfo;
        /**
         * State the hotel is located in.
         */
        hotelState?: Schema$GoogleAdsSearchads360V23Common__HotelStateInfo;
        /**
         * Brand of a product offer.
         */
        productBrand?: Schema$GoogleAdsSearchads360V23Common__ProductBrandInfo;
        /**
         * Category of a product offer.
         */
        productCategory?: Schema$GoogleAdsSearchads360V23Common__ProductCategoryInfo;
        /**
         * Locality of a product offer.
         */
        productChannel?: Schema$GoogleAdsSearchads360V23Common__ProductChannelInfo;
        /**
         * Availability of a product offer.
         */
        productChannelExclusivity?: Schema$GoogleAdsSearchads360V23Common__ProductChannelExclusivityInfo;
        /**
         * Condition of a product offer.
         */
        productCondition?: Schema$GoogleAdsSearchads360V23Common__ProductConditionInfo;
        /**
         * Custom attribute of a product offer.
         */
        productCustomAttribute?: Schema$GoogleAdsSearchads360V23Common__ProductCustomAttributeInfo;
        /**
         * Grouping of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns.
         */
        productGrouping?: Schema$GoogleAdsSearchads360V23Common__ProductGroupingInfo;
        /**
         * Item id of a product offer.
         */
        productItemId?: Schema$GoogleAdsSearchads360V23Common__ProductItemIdInfo;
        /**
         * Labels of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns.
         */
        productLabels?: Schema$GoogleAdsSearchads360V23Common__ProductLabelsInfo;
        /**
         * Legacy condition of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns.
         */
        productLegacyCondition?: Schema$GoogleAdsSearchads360V23Common__ProductLegacyConditionInfo;
        /**
         * Type of a product offer.
         */
        productType?: Schema$GoogleAdsSearchads360V23Common__ProductTypeInfo;
        /**
         * Full type of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns.
         */
        productTypeFull?: Schema$GoogleAdsSearchads360V23Common__ProductTypeFullInfo;
        /**
         * Unknown dimension. Set when no other listing dimension is set.
         */
        unknownListingDimension?: Schema$GoogleAdsSearchads360V23Common__UnknownListingDimensionInfo;
    }
    /**
     * The path of dimensions defining a listing group.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__ListingDimensionPath {
        /**
         * The complete path of dimensions through the listing group hierarchy, from the root (excluding the root itself) to this listing group.
         */
        dimensions?: Schema$GoogleAdsSearchads360V23Common__ListingDimensionInfo[];
    }
    /**
     * A listing group criterion.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__ListingGroupInfo {
        /**
         * Dimension value with which this listing group is refining its parent. Undefined for the root group.
         */
        caseValue?: Schema$GoogleAdsSearchads360V23Common__ListingDimensionInfo;
        /**
         * Resource name of ad group criterion which is the parent listing group subdivision. Null for the root group.
         */
        parentAdGroupCriterion?: string | null;
        /**
         * The path of dimensions defining this listing group.
         */
        path?: Schema$GoogleAdsSearchads360V23Common__ListingDimensionPath;
        /**
         * Type of the listing group.
         */
        type?: string | null;
    }
    /**
     * A listing scope criterion.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__ListingScopeInfo {
        /**
         * Scope of the campaign criterion.
         */
        dimensions?: Schema$GoogleAdsSearchads360V23Common__ListingDimensionInfo[];
    }
    /**
     * A local ad.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__LocalAdInfo {
        /**
         * List of text assets for call-to-actions. When the ad serves the call-to-actions will be selected from this list. At least 1 and at most 5 call-to-actions must be specified.
         */
        callToActions?: Schema$GoogleAdsSearchads360V23Common__AdTextAsset[];
        /**
         * List of text assets for descriptions. When the ad serves the descriptions will be selected from this list. At least 1 and at most 5 descriptions must be specified.
         */
        descriptions?: Schema$GoogleAdsSearchads360V23Common__AdTextAsset[];
        /**
         * List of text assets for headlines. When the ad serves the headlines will be selected from this list. At least 1 and at most 5 headlines must be specified.
         */
        headlines?: Schema$GoogleAdsSearchads360V23Common__AdTextAsset[];
        /**
         * List of logo image assets that may be displayed with the ad. The images must be 128x128 pixels and not larger than 120KB. At least 1 and at most 5 image assets must be specified.
         */
        logoImages?: Schema$GoogleAdsSearchads360V23Common__AdImageAsset[];
        /**
         * List of marketing image assets that may be displayed with the ad. The images must be 314x600 pixels or 320x320 pixels. At least 1 and at most 20 image assets must be specified.
         */
        marketingImages?: Schema$GoogleAdsSearchads360V23Common__AdImageAsset[];
        /**
         * First part of optional text that can be appended to the URL in the ad.
         */
        path1?: string | null;
        /**
         * Second part of optional text that can be appended to the URL in the ad. This field can only be set when `path1` is also set.
         */
        path2?: string | null;
        /**
         * List of YouTube video assets that may be displayed with the ad. At least 1 and at most 20 video assets must be specified.
         */
        videos?: Schema$GoogleAdsSearchads360V23Common__AdVideoAsset[];
    }
    /**
     * A Local Services Ads service ID. Represents a service type (such as install_faucet) that a Local Services Campaign can target.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__LocalServiceIdInfo {
        /**
         * The criterion resource name.
         */
        serviceId?: string | null;
    }
    /**
     * A Local Services Document with read only accessible data.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__LocalServicesDocumentReadOnly {
        /**
         * URL to access an already uploaded Local Services document.
         */
        documentUrl?: string | null;
    }
    /**
     * A location asset.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__LocationAsset {
        /**
         * The list of business locations for the customer. This will only be returned if the Location Asset is syncing from the Business Profile account. It is possible to have multiple Business Profile listings under the same account that point to the same Place ID.
         */
        businessProfileLocations?: Schema$GoogleAdsSearchads360V23Common__BusinessProfileLocation[];
        /**
         * The type of location ownership. If the type is BUSINESS_OWNER, it will be served as a location extension. If the type is AFFILIATE, it will be served as an affiliate location.
         */
        locationOwnershipType?: string | null;
        /**
         * Place IDs uniquely identify a place in the Google Places database and on Google Maps. This field is unique for a given customer ID and asset type. See https://developers.google.com/places/web-service/place-id to learn more about Place ID.
         */
        placeId?: string | null;
    }
    /**
     * Metadata associated with a Location attribute.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__LocationAttributeMetadata {
        /**
         * The country location that this attribute’s sub country location is located in.
         */
        countryLocation?: Schema$GoogleAdsSearchads360V23Common__LocationInfo;
    }
    /**
     * A radius around a list of locations specified through a feed.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__LocationGroupInfo {
        /**
         * Denotes that the latest customer level asset set is used for targeting. Used with radius and radius_units. Cannot be used with feed, geo target constants or feed item sets. When using asset sets, either this field or location_group_asset_sets should be specified. Both cannot be used at the same time. This can only be set in CREATE operations.
         */
        enableCustomerLevelLocationAssetSet?: boolean | null;
        /**
         * FeedItemSets whose FeedItems are targeted. If multiple IDs are specified, then all items that appear in at least one set are targeted. This field cannot be used with geo_target_constants. This is optional and can only be set in CREATE operations.
         */
        feedItemSets?: string[] | null;
        /**
         * Geo target constant(s) restricting the scope of the geographic area within the feed. Currently only one geo target constant is allowed.
         */
        geoTargetConstants?: string[] | null;
        /**
         * AssetSets whose Assets are targeted. If multiple IDs are specified, then all items that appear in at least one set are targeted. This field cannot be used with feed, geo target constants or feed item sets. When using asset sets, either this field or enable_customer_level_location_asset_set should be specified. Both cannot be used at the same time. This can only be set in CREATE operations.
         */
        locationGroupAssetSets?: string[] | null;
        /**
         * Distance in units specifying the radius around targeted locations. This is required and must be set in CREATE operations.
         */
        radius?: string | null;
        /**
         * Unit of the radius. Miles and meters are supported for geo target constants. Milli miles and meters are supported for feed item sets. This is required and must be set in CREATE operations.
         */
        radiusUnits?: string | null;
    }
    /**
     * A location criterion.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__LocationInfo {
        /**
         * The geo target constant resource name.
         */
        geoTargetConstant?: string | null;
    }
    /**
     * Data related to location set. One of the Google Business Profile (previously known as Google My Business) data, Chain data, and map location data need to be specified.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__LocationSet {
        /**
         * Data used to configure a location set populated from Google Business Profile locations.
         */
        businessProfileLocationSet?: Schema$GoogleAdsSearchads360V23Common__BusinessProfileLocationSet;
        /**
         * Data used to configure a location on chain set populated with the specified chains.
         */
        chainLocationSet?: Schema$GoogleAdsSearchads360V23Common__ChainSet;
        /**
         * Required. Immutable. Location Ownership Type (owned location or affiliate location).
         */
        locationOwnershipType?: string | null;
        /**
         * Only set if locations are synced based on selected maps locations
         */
        mapsLocationSet?: Schema$GoogleAdsSearchads360V23Common__MapsLocationSet;
    }
    /**
     * Represents a user list that is a custom combination of user lists.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__LogicalUserListInfo {
        /**
         * Logical list rules that define this user list. The rules are defined as a logical operator (ALL/ANY/NONE) and a list of user lists. All the rules are ANDed when they are evaluated. Required for creating a logical user list.
         */
        rules?: Schema$GoogleAdsSearchads360V23Common__UserListLogicalRuleInfo[];
    }
    /**
     * Operand of logical user list that consists of a user list.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__LogicalUserListOperandInfo {
        /**
         * Resource name of a user list as an operand.
         */
        userList?: string | null;
    }
    /**
     * LookalikeUserlist, composed of users similar to those of a configurable seed (set of UserLists)
     */
    export interface Schema$GoogleAdsSearchads360V23Common__LookalikeUserListInfo {
        /**
         * Countries targeted by the Lookalike. Two-letter country code as defined by ISO-3166
         */
        countryCodes?: string[] | null;
        /**
         * Expansion level, reflecting the size of the lookalike audience
         */
        expansionLevel?: string | null;
        /**
         * Seed UserList ID from which this list is derived, provided by user.
         */
        seedUserListIds?: string[] | null;
    }
    /**
     * Manual bidding strategy that allows advertiser to set the bid per advertiser-specified action.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__ManualCpa {
    }
    /**
     * Manual click-based bidding where user pays per click.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__ManualCpc {
        /**
         * Whether bids are to be enhanced based on conversion optimizer data.
         */
        enhancedCpcEnabled?: boolean | null;
    }
    /**
     * Manual impression-based bidding where user pays per thousand impressions.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__ManualCpm {
    }
    /**
     * View based bidding where user pays per video view.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__ManualCpv {
    }
    /**
     * Wrapper for place ids
     */
    export interface Schema$GoogleAdsSearchads360V23Common__MapsLocationInfo {
        /**
         * Place ID of the Maps location.
         */
        placeId?: string | null;
    }
    /**
     * Wrapper for multiple maps location sync data
     */
    export interface Schema$GoogleAdsSearchads360V23Common__MapsLocationSet {
        /**
         * Required. A list of maps location info that user manually synced in.
         */
        mapsLocations?: Schema$GoogleAdsSearchads360V23Common__MapsLocationInfo[];
    }
    /**
     * An automated bidding strategy to help get the most conversions for your campaigns while spending your budget.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__MaximizeConversions {
        /**
         * Maximum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. Mutable for portfolio bidding strategies only.
         */
        cpcBidCeilingMicros?: string | null;
        /**
         * Minimum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. Mutable for portfolio bidding strategies only.
         */
        cpcBidFloorMicros?: string | null;
        /**
         * The target cost-per-action (CPA) option. This is the average amount that you would like to spend per conversion action specified in micro units of the bidding strategy's currency. If set, the bid strategy will get as many conversions as possible at or below the target cost-per-action. If the target CPA is not set, the bid strategy will aim to achieve the lowest possible CPA given the budget.
         */
        targetCpaMicros?: string | null;
    }
    /**
     * An automated bidding strategy to help get the most conversion value for your campaigns while spending your budget.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__MaximizeConversionValue {
        /**
         * Maximum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. Mutable for portfolio bidding strategies only.
         */
        cpcBidCeilingMicros?: string | null;
        /**
         * Minimum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. Mutable for portfolio bidding strategies only.
         */
        cpcBidFloorMicros?: string | null;
        /**
         * The target return on ad spend (ROAS) option. If set, the bid strategy will maximize revenue while averaging the target return on ad spend. If the target ROAS is high, the bid strategy may not be able to spend the full budget. If the target ROAS is not set, the bid strategy will aim to achieve the highest possible ROAS for the budget.
         */
        targetRoas?: number | null;
        /**
         * The percent of ROAS(return on advertising spend) degradation tolerance allowed to increase traffic diversity and conversion volume, specified in millis (for example, 10,000 = 10%). A value of 10,000 means that the advertiser can expect ROAS degradation of up to 10% of the specified target ROAS.
         */
        targetRoasTolerancePercentMillis?: string | null;
    }
    /**
     * A MediaBundle asset.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__MediaBundleAsset {
        /**
         * Media bundle (ZIP file) asset data. The format of the uploaded ZIP file depends on the ad field where it will be used. For more information on the format, see the documentation of the ad field where you plan on using the MediaBundleAsset. This field is mutate only.
         */
        data?: string | null;
    }
    /**
     * A metric goal for an experiment.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__MetricGoal {
        /**
         * The metric direction of the goal. For example, increase, decrease, no change.
         */
        direction?: string | null;
        /**
         * The metric of the goal. For example, clicks, impressions, cost, conversions, etc.
         */
        metric?: string | null;
    }
    /**
     * Metrics data.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__Metrics {
        /**
         * Search absolute top impression share is the percentage of your Search ad impressions that are shown in the most prominent Search position.
         */
        absoluteTopImpressionPercentage?: number | null;
        /**
         * The total number of conversions. This includes all conversions regardless of the value of include_in_conversions_metric.
         */
        allConversions?: number | null;
        /**
         * The total number of conversions. This includes all conversions regardless of the value of include_in_conversions_metric. When this column is selected with date, the values in date column means the conversion date. Details for the `by_conversion_date` columns are available at [About the "All conversions" column](https://support.google.com/sa360/answer/9250611).
         */
        allConversionsByConversionDate?: number | null;
        /**
         * The number of times people clicked the "Call" button to call a business during or after clicking an ad. This number doesn't include whether or not calls were connected, or the duration of any calls. This metric applies to feed items only.
         */
        allConversionsFromClickToCall?: number | null;
        /**
         * The number of times people clicked a "Get directions" button to navigate to a business after clicking an ad. This metric applies to feed items only.
         */
        allConversionsFromDirections?: number | null;
        /**
         * All conversions from interactions (as oppose to view through conversions) divided by the number of ad interactions.
         */
        allConversionsFromInteractionsRate?: number | null;
        /**
         * The value of all conversions from interactions divided by the total number of interactions.
         */
        allConversionsFromInteractionsValuePerInteraction?: number | null;
        /**
         * The number of times people clicked a link to view a business's menu after clicking an ad. This metric applies to feed items only.
         */
        allConversionsFromMenu?: number | null;
        /**
         * The number of times people placed an order at a business after clicking an ad. This metric applies to feed items only.
         */
        allConversionsFromOrder?: number | null;
        /**
         * The number of other conversions (for example, posting a review or saving a location for a business) that occurred after people clicked an ad. This metric applies to feed items only.
         */
        allConversionsFromOtherEngagement?: number | null;
        /**
         * Estimated number of times people visited a business after clicking an ad. This metric applies to feed items only.
         */
        allConversionsFromStoreVisit?: number | null;
        /**
         * The number of times that people were taken to a business's URL after clicking an ad. This metric applies to feed items only.
         */
        allConversionsFromStoreWebsite?: number | null;
        /**
         * The value of all conversions.
         */
        allConversionsValue?: number | null;
        /**
         * The value of all conversions. When this column is selected with date, the values in date column means the conversion date. Details for the `by_conversion_date` columns are available at [About the "All conversions" column](https://support.google.com/sa360/answer/9250611).
         */
        allConversionsValueByConversionDate?: number | null;
        /**
         * The value of all conversions divided by the total cost of ad interactions (such as clicks for text ads or views for video ads).
         */
        allConversionsValuePerCost?: number | null;
        /**
         * Average cart size is the average number of products in each order attributed to your ads. How it works: You report conversions with cart data for completed purchases on your website. Average cart size is the total number of products sold divided by the total number of orders you received. Example: You received 2 orders, the first included 3 products and the second included 2. The average cart size is 2.5 products = (3+2)/2. This metric is only available if you report conversions with cart data.
         */
        averageCartSize?: number | null;
        /**
         * The average amount you pay per interaction. This amount is the total cost of your ads divided by the total number of interactions.
         */
        averageCost?: number | null;
        /**
         * The total cost of all clicks divided by the total number of clicks received. This metric is a monetary value and returned in the customer's currency by default. See the `metrics_currency` parameter at [PARAMETERS clause](https://developers.google.com/search-ads/reporting/query/query-structure#parameters_clause).
         */
        averageCpc?: number | null;
        /**
         * Average cost-per-thousand impressions (CPM). This metric is a monetary value and returned in the customer's currency by default. See the `metrics_currency` parameter at [PARAMETERS clause](https://developers.google.com/search-ads/reporting/query/query-structure#parameters_clause).
         */
        averageCpm?: number | null;
        /**
         * The average number of times a unique user saw your ad during the requested time period. This metric cannot be aggregated, and can only be requested for date ranges of 92 days or less. This metric is available for following campaign types - Display, Video, Discovery and App.
         */
        averageImpressionFrequencyPerUser?: number | null;
        /**
         * Average order value is the average revenue you made per order attributed to your ads. How it works: You report conversions with cart data for completed purchases on your website. Average order value is the total revenue from your orders divided by the total number of orders. Example: You received 3 orders which made $10, $15 and $20 worth of revenue. The average order value is $15 = ($10 + $15 + $20)/3. This metric is only available if you report conversions with cart data.
         */
        averageOrderValueMicros?: string | null;
        /**
         * The average quality score.
         */
        averageQualityScore?: number | null;
        /**
         * The number of clicks.
         */
        clicks?: string | null;
        /**
         * The number of client account conversions. This only includes conversion actions which `include_in_client_account_conversions_metric` attribute is set to `true`. If you use conversion-based bidding, your bid strategies will optimize for these conversions.
         */
        clientAccountConversions?: number | null;
        /**
         * The value of client account conversions. This only includes conversion actions which `include_in_client_account_conversions_metric` attribute is set to `true`. If you use conversion-based bidding, your bid strategies will optimize for these conversions.
         */
        clientAccountConversionsValue?: number | null;
        /**
         * Client account cross-sell cost of goods sold (COGS) is the total cost of products sold as a result of advertising a different product. How it works: You report conversions with cart data for completed purchases on your website. If the ad that was interacted with before the purchase has an associated product (see Shopping Ads) then this product is considered the advertised product. Any product included in the order the customer places is a sold product. If these products don't match then this is considered cross-sell. Cross-sell cost of goods sold is the total cost of the products sold that weren't advertised. Example: Someone clicked on a Shopping ad for a hat then bought the same hat and a shirt. The hat has a cost of goods sold value of $3, the shirt has a cost of goods sold value of $5. The cross-sell cost of goods sold for this order is $5. This metric is only available if you report conversions with cart data. This metric is a monetary value and returned in the customer's currency by default. See the `metrics_currency` parameter at [PARAMETERS clause](https://developers.google.com/search-ads/reporting/query/query-structure#parameters_clause).
         */
        clientAccountCrossSellCostOfGoodsSoldMicros?: string | null;
        /**
         * Client account cross-sell gross profit is the profit you made from products sold as a result of advertising a different product, minus cost of goods sold (COGS). How it works: You report conversions with cart data for completed purchases on your website. If the ad that was interacted with before the purchase has an associated product (see Shopping Ads) then this product is considered the advertised product. Any product included in the purchase is a sold product. If these products don't match then this is considered cross-sell. Cross-sell gross profit is the revenue you made from cross-sell attributed to your ads minus the cost of the goods sold. Example: Someone clicked on a Shopping ad for a hat then bought the same hat and a shirt. The shirt is priced $20 and has a cost of goods sold value of $5. The cross-sell gross profit of this order is $15 = $20 - $5. This metric is only available if you report conversions with cart data. This metric is a monetary value and returned in the customer's currency by default. See the `metrics_currency` parameter at [PARAMETERS clause](https://developers.google.com/search-ads/reporting/query/query-structure#parameters_clause).
         */
        clientAccountCrossSellGrossProfitMicros?: string | null;
        /**
         * Client account cross-sell revenue is the total amount you made from products sold as a result of advertising a different product. How it works: You report conversions with cart data for completed purchases on your website. If the ad that was interacted with before the purchase has an associated product (see Shopping Ads) then this product is considered the advertised product. Any product included in the order the customer places is a sold product. If these products don't match then this is considered cross-sell. Cross-sell revenue is the total value you made from cross-sell attributed to your ads. Example: Someone clicked on a Shopping ad for a hat then bought the same hat and a shirt. The hat is priced $10 and the shirt is priced $20. The cross-sell revenue of this order is $20. This metric is only available if you report conversions with cart data. This metric is a monetary value and returned in the customer's currency by default. See the `metrics_currency` parameter at [PARAMETERS clause](https://developers.google.com/search-ads/reporting/query/query-structure#parameters_clause).
         */
        clientAccountCrossSellRevenueMicros?: string | null;
        /**
         * Client account cross-sell units sold is the total number of products sold as a result of advertising a different product. How it works: You report conversions with cart data for completed purchases on your website. If the ad that was interacted with before the purchase has an associated product (see Shopping Ads) then this product is considered the advertised product. Any product included in the order the customer places is a sold product. If these products don't match then this is considered cross-sell. Cross-sell units sold is the total number of cross-sold products from all orders attributed to your ads. Example: Someone clicked on a Shopping ad for a hat then bought the same hat, a shirt and a jacket. The cross-sell units sold in this order is 2. This metric is only available if you report conversions with cart data.
         */
        clientAccountCrossSellUnitsSold?: number | null;
        /**
         * Client account lead cost of goods sold (COGS) is the total cost of products sold as a result of advertising the same product. How it works: You report conversions with cart data for completed purchases on your website. If the ad that was interacted with has an associated product (see Shopping Ads) then this product is considered the advertised product. Any product included in the order the customer places is a sold product. If the advertised and sold products match, then the cost of these goods is counted under lead cost of goods sold. Example: Someone clicked on a Shopping ad for a hat then bought the same hat and a shirt. The hat has a cost of goods sold value of $3, the shirt has a cost of goods sold value of $5. The lead cost of goods sold for this order is $3. This metric is only available if you report conversions with cart data. This metric is a monetary value and returned in the customer's currency by default. See the `metrics_currency` parameter at [PARAMETERS clause](https://developers.google.com/search-ads/reporting/query/query-structure#parameters_clause).
         */
        clientAccountLeadCostOfGoodsSoldMicros?: string | null;
        /**
         * Client account lead gross profit is the profit you made from products sold as a result of advertising the same product, minus cost of goods sold (COGS). How it works: You report conversions with cart data for completed purchases on your website. If the ad that was interacted with before the purchase has an associated product (see Shopping Ads) then this product is considered the advertised product. Any product included in the order the customer places is a sold product. If the advertised and sold products match, then the revenue you made from these sales minus the cost of goods sold is your lead gross profit. Example: Someone clicked on a Shopping ad for a hat then bought the same hat and a shirt. The hat is priced $10 and has a cost of goods sold value of $3. The lead gross profit of this order is $7 = $10 - $3. This metric is only available if you report conversions with cart data. This metric is a monetary value and returned in the customer's currency by default. See the `metrics_currency` parameter at [PARAMETERS clause](https://developers.google.com/search-ads/reporting/query/query-structure#parameters_clause).
         */
        clientAccountLeadGrossProfitMicros?: string | null;
        /**
         * Client account lead revenue is the total amount you made from products sold as a result of advertising the same product. How it works: You report conversions with cart data for completed purchases on your website. If the ad that was interacted with before the purchase has an associated product (see Shopping Ads) then this product is considered the advertised product. Any product included in the order the customer places is a sold product. If the advertised and sold products match, then the total value you made from the sales of these products is shown under lead revenue. Example: Someone clicked on a Shopping ad for a hat then bought the same hat and a shirt. The hat is priced $10 and the shirt is priced $20. The lead revenue of this order is $10. This metric is only available if you report conversions with cart data. This metric is a monetary value and returned in the customer's currency by default. See the `metrics_currency` parameter at [PARAMETERS clause](https://developers.google.com/search-ads/reporting/query/query-structure#parameters_clause).
         */
        clientAccountLeadRevenueMicros?: string | null;
        /**
         * Client account lead units sold is the total number of products sold as a result of advertising the same product. How it works: You report conversions with cart data for completed purchases on your website. If the ad that was interacted with before the purchase has an associated product (see Shopping Ads) then this product is considered the advertised product. Any product included in the order the customer places is a sold product. If the advertised and sold products match, then the total number of these products sold is shown under lead units sold. Example: Someone clicked on a Shopping ad for a hat then bought the same hat, a shirt and a jacket. The lead units sold in this order is 1. This metric is only available if you report conversions with cart data.
         */
        clientAccountLeadUnitsSold?: number | null;
        /**
         * The total number of view-through conversions. These happen when a customer sees an image or rich media ad, then later completes a conversion on your site without interacting with (for example, clicking on) another ad.
         */
        clientAccountViewThroughConversions?: string | null;
        /**
         * The estimated percent of times that your ad was eligible to show on the Display Network but didn't because your budget was too low. Note: Content budget lost impression share is reported in the range of 0 to 0.9. Any value above 0.9 is reported as 0.9001.
         */
        contentBudgetLostImpressionShare?: number | null;
        /**
         * The impressions you've received on the Display Network divided by the estimated number of impressions you were eligible to receive. Note: Content impression share is reported in the range of 0.1 to 1. Any value below 0.1 is reported as 0.0999.
         */
        contentImpressionShare?: number | null;
        /**
         * The estimated percentage of impressions on the Display Network that your ads didn't receive due to poor Ad Rank. Note: Content rank lost impression share is reported in the range of 0 to 0.9. Any value above 0.9 is reported as 0.9001.
         */
        contentRankLostImpressionShare?: number | null;
        /**
         * The conversion custom metrics.
         */
        conversionCustomMetrics?: Schema$GoogleAdsSearchads360V23Common__Value[];
        /**
         * The number of conversions. This only includes conversion actions which include_in_conversions_metric attribute is set to true. If you use conversion-based bidding, your bid strategies will optimize for these conversions.
         */
        conversions?: number | null;
        /**
         * The sum of conversions by conversion date for biddable conversion types. Can be fractional due to attribution modeling. When this column is selected with date, the values in the date column mean the conversion date.
         */
        conversionsByConversionDate?: number | null;
        /**
         * Average biddable conversions (from interaction) per conversion eligible interaction. Shows how often, on average, an ad interaction leads to a biddable conversion.
         */
        conversionsFromInteractionsRate?: number | null;
        /**
         * The value of conversions from interactions divided by the number of ad interactions. This only includes conversion actions which `include_in_conversions_metric` attribute is set to `true`. If you use conversion-based bidding, your bid strategies will optimize for these conversions.
         */
        conversionsFromInteractionsValuePerInteraction?: number | null;
        /**
         * The sum of conversion values for the conversions included in the "conversions" field. This metric is useful only if you entered a value for your conversion actions.
         */
        conversionsValue?: number | null;
        /**
         * The sum of biddable conversions value by conversion date. When this column is selected with date, the values in date column means the conversion date.
         */
        conversionsValueByConversionDate?: number | null;
        /**
         * The value of biddable conversion divided by the total cost of conversion eligible interactions.
         */
        conversionsValuePerCost?: number | null;
        /**
         * The sum of your cost-per-click (CPC) and cost-per-thousand impressions (CPM) costs during this period. This metric is a monetary value and returned in the customer's currency by default. See the `metrics_currency` parameter at [PARAMETERS clause](https://developers.google.com/search-ads/reporting/query/query-structure#parameters_clause) for more details.
         */
        costMicros?: string | null;
        /**
         * Cost of goods sold (COGS) is the total cost of the products you sold in orders attributed to your ads. How it works: You can add a cost of goods sold value to every product in Merchant Center. If you report conversions with cart data, the products you sold are matched with their cost of goods sold value and this can be used to calculate the gross profit you made on each order. Example: Someone clicked on a Shopping ad for a hat then bought the same hat and a shirt. The hat has a cost of goods sold value of $3, the shirt has a cost of goods sold value of $5. The cost of goods sold for this order is $8 = $3 + $5. This metric is only available if you report conversions with cart data.
         */
        costOfGoodsSoldMicros?: string | null;
        /**
         * The cost of ad interactions divided by all conversions.
         */
        costPerAllConversions?: number | null;
        /**
         * Average conversion eligible cost per biddable conversion.
         */
        costPerConversion?: number | null;
        /**
         * The cost of ad interactions divided by current model attributed conversions. This only includes conversion actions which `include_in_conversions_metric` attribute is set to `true`. If you use conversion-based bidding, your bid strategies will optimize for these conversions.
         */
        costPerCurrentModelAttributedConversion?: number | null;
        /**
         * Conversions from when a customer clicks on an ad on one device, then converts on a different device or browser. Cross-device conversions are already included in `all_conversions`.
         */
        crossDeviceConversions?: number | null;
        /**
         * The number of cross-device conversions by conversion date. Details for the `by_conversion_date` columns are available at [About the "All conversions" column](https://support.google.com/sa360/answer/9250611)
         */
        crossDeviceConversionsByConversionDate?: number | null;
        /**
         * The sum of the value of cross-device conversions.
         */
        crossDeviceConversionsValue?: number | null;
        /**
         * The sum of cross-device conversions value by conversion date. Details for the `by_conversion_date` columns are available at [About the "All conversions" column](https://support.google.com/sa360/answer/9250611)
         */
        crossDeviceConversionsValueByConversionDate?: number | null;
        /**
         * Cross-sell cost of goods sold (COGS) is the total cost of products sold as a result of advertising a different product. How it works: You report conversions with cart data for completed purchases on your website. If the ad that was interacted with before the purchase has an associated product (see Shopping Ads) then this product is considered the advertised product. Any product included in the order the customer places is a sold product. If these products don't match then this is considered cross-sell. Cross-sell cost of goods sold is the total cost of the products sold that weren't advertised. Example: Someone clicked on a Shopping ad for a hat then bought the same hat and a shirt. The hat has a cost of goods sold value of $3, the shirt has a cost of goods sold value of $5. The cross-sell cost of goods sold for this order is $5. This metric is only available if you report conversions with cart data. This metric is a monetary value and returned in the customer's currency by default. See the `metrics_currency` parameter at [PARAMETERS clause](https://developers.google.com/search-ads/reporting/query/query-structure#parameters_clause).
         */
        crossSellCostOfGoodsSoldMicros?: string | null;
        /**
         * Cross-sell gross profit is the profit you made from products sold as a result of advertising a different product, minus cost of goods sold (COGS). How it works: You report conversions with cart data for completed purchases on your website. If the ad that was interacted with before the purchase has an associated product (see Shopping Ads) then this product is considered the advertised product. Any product included in the purchase is a sold product. If these products don't match then this is considered cross-sell. Cross-sell gross profit is the revenue you made from cross-sell attributed to your ads minus the cost of the goods sold. Example: Someone clicked on a Shopping ad for a hat then bought the same hat and a shirt. The shirt is priced $20 and has a cost of goods sold value of $5. The cross-sell gross profit of this order is $15 = $20 - $5. This metric is only available if you report conversions with cart data. This metric is a monetary value and returned in the customer's currency by default. See the `metrics_currency` parameter at [PARAMETERS clause](https://developers.google.com/search-ads/reporting/query/query-structure#parameters_clause).
         */
        crossSellGrossProfitMicros?: string | null;
        /**
         * Cross-sell revenue is the total amount you made from products sold as a result of advertising a different product. How it works: You report conversions with cart data for completed purchases on your website. If the ad that was interacted with before the purchase has an associated product (see Shopping Ads) then this product is considered the advertised product. Any product included in the order the customer places is a sold product. If these products don't match then this is considered cross-sell. Cross-sell revenue is the total value you made from cross-sell attributed to your ads. Example: Someone clicked on a Shopping ad for a hat then bought the same hat and a shirt. The hat is priced $10 and the shirt is priced $20. The cross-sell revenue of this order is $20. This metric is only available if you report conversions with cart data. This metric is a monetary value and returned in the customer's currency by default. See the `metrics_currency` parameter at [PARAMETERS clause](https://developers.google.com/search-ads/reporting/query/query-structure#parameters_clause).
         */
        crossSellRevenueMicros?: string | null;
        /**
         * Cross-sell units sold is the total number of products sold as a result of advertising a different product. How it works: You report conversions with cart data for completed purchases on your website. If the ad that was interacted with before the purchase has an associated product (see Shopping Ads) then this product is considered the advertised product. Any product included in the order the customer places is a sold product. If these products don't match then this is considered cross-sell. Cross-sell units sold is the total number of cross-sold products from all orders attributed to your ads. Example: Someone clicked on a Shopping ad for a hat then bought the same hat, a shirt and a jacket. The cross-sell units sold in this order is 2. This metric is only available if you report conversions with cart data.
         */
        crossSellUnitsSold?: number | null;
        /**
         * The number of clicks your ad receives (Clicks) divided by the number of times your ad is shown (Impressions).
         */
        ctr?: number | null;
        /**
         * The percentage of clicks that have been filtered out of your total number of clicks (filtered + non-filtered clicks) due to being general invalid clicks. These are clicks Google considers illegitimate that are detected through routine means of filtration (that is, known invalid data-center traffic, bots and spiders or other crawlers, irregular patterns, etc). You're not charged for them, and they don't affect your account statistics. See [Filtering invalid traffic to ensure quality](https://support.google.com/campaignmanager/answer/6076504).
         */
        generalInvalidClickRate?: number | null;
        /**
         * Number of general invalid clicks. These are a subset of your invalid clicks that are detected through routine means of filtration (such as known invalid data-center traffic, bots and spiders or other crawlers, irregular patterns, etc.). You're not charged for them, and they don't affect your account statistics. See [Filtering invalid traffic to ensure quality](https://support.google.com/campaignmanager/answer/6076504).
         */
        generalInvalidClicks?: string | null;
        /**
         * Gross profit margin is the percentage gross profit you made from orders attributed to your ads, after taking out the cost of goods sold (COGS). How it works: You report conversions with cart data for completed purchases on your website. Gross profit margin is the gross profit you made divided by your total revenue and multiplied by 100%. Gross profit margin calculations only include products that have a cost of goods sold value in Merchant Center. Example: Someone bought a hat and a shirt in an order on your website. The hat is priced $10 and has a cost of goods sold value of $3. The shirt is priced $20 but has no cost of goods sold value. Gross profit margin for this order will only take into account the hat because it has a cost of goods sold value, so it's 70% = ($10 - $3)/$10 x 100%. This metric is only available if you report conversions with cart data.
         */
        grossProfitMargin?: number | null;
        /**
         * Gross profit is the profit you made from orders attributed to your ads minus the cost of goods sold (COGS). How it works: Gross profit is the revenue you made from sales attributed to your ads minus cost of goods sold. Gross profit calculations only include products that have a cost of goods sold value in Merchant Center. Example: Someone clicked on a Shopping ad for a hat then bought the same hat and a shirt in an order from your website. The hat is priced $10 and the shirt is priced $20. The hat has a cost of goods sold value of $3, but the shirt has no cost of goods sold value. Gross profit for this order will only take into account the hat, so it's $7 = $10 - $3. This metric is only available if you report conversions with cart data.
         */
        grossProfitMicros?: string | null;
        /**
         * The creative historical quality score.
         */
        historicalCreativeQualityScore?: string | null;
        /**
         * The quality of historical landing page experience.
         */
        historicalLandingPageQualityScore?: string | null;
        /**
         * The historical quality score.
         */
        historicalQualityScore?: string | null;
        /**
         * The historical search predicted click through rate (CTR).
         */
        historicalSearchPredictedCtr?: string | null;
        /**
         * Count of how often your ad has appeared on a search results page or website on the Google Network.
         */
        impressions?: string | null;
        /**
         * The types of payable and free interactions.
         */
        interactionEventTypes?: string[] | null;
        /**
         * How often people interact with your ad after it is shown to them. This is the number of interactions divided by the number of times your ad is shown.
         */
        interactionRate?: number | null;
        /**
         * The number of interactions. An interaction is the main user action associated with an ad format-clicks for text and shopping ads, views for video ads, and so on.
         */
        interactions?: string | null;
        /**
         * The percentage of clicks filtered out of your total number of clicks (filtered + non-filtered clicks) during the reporting period.
         */
        invalidClickRate?: number | null;
        /**
         * Number of clicks Google considers illegitimate and doesn't charge you for.
         */
        invalidClicks?: string | null;
        /**
         * Lead cost of goods sold (COGS) is the total cost of products sold as a result of advertising the same product. How it works: You report conversions with cart data for completed purchases on your website. If the ad that was interacted with has an associated product (see Shopping Ads) then this product is considered the advertised product. Any product included in the order the customer places is a sold product. If the advertised and sold products match, then the cost of these goods is counted under lead cost of goods sold. Example: Someone clicked on a Shopping ad for a hat then bought the same hat and a shirt. The hat has a cost of goods sold value of $3, the shirt has a cost of goods sold value of $5. The lead cost of goods sold for this order is $3. This metric is only available if you report conversions with cart data. This metric is a monetary value and returned in the customer's currency by default. See the `metrics_currency` parameter at [PARAMETERS clause](https://developers.google.com/search-ads/reporting/query/query-structure#parameters_clause).
         */
        leadCostOfGoodsSoldMicros?: string | null;
        /**
         * Lead gross profit is the profit you made from products sold as a result of advertising the same product, minus cost of goods sold (COGS). How it works: You report conversions with cart data for completed purchases on your website. If the ad that was interacted with before the purchase has an associated product (see Shopping Ads) then this product is considered the advertised product. Any product included in the order the customer places is a sold product. If the advertised and sold products match, then the revenue you made from these sales minus the cost of goods sold is your lead gross profit. Example: Someone clicked on a Shopping ad for a hat then bought the same hat and a shirt. The hat is priced $10 and has a cost of goods sold value of $3. The lead gross profit of this order is $7 = $10 - $3. This metric is only available if you report conversions with cart data. This metric is a monetary value and returned in the customer's currency by default. See the `metrics_currency` parameter at [PARAMETERS clause](https://developers.google.com/search-ads/reporting/query/query-structure#parameters_clause).
         */
        leadGrossProfitMicros?: string | null;
        /**
         * Lead revenue is the total amount you made from products sold as a result of advertising the same product. How it works: You report conversions with cart data for completed purchases on your website. If the ad that was interacted with before the purchase has an associated product (see Shopping Ads) then this product is considered the advertised product. Any product included in the order the customer places is a sold product. If the advertised and sold products match, then the total value you made from the sales of these products is shown under lead revenue. Example: Someone clicked on a Shopping ad for a hat then bought the same hat and a shirt. The hat is priced $10 and the shirt is priced $20. The lead revenue of this order is $10. This metric is only available if you report conversions with cart data. This metric is a monetary value and returned in the customer's currency by default. See the `metrics_currency` parameter at [PARAMETERS clause](https://developers.google.com/search-ads/reporting/query/query-structure#parameters_clause).
         */
        leadRevenueMicros?: string | null;
        /**
         * Lead units sold is the total number of products sold as a result of advertising the same product. How it works: You report conversions with cart data for completed purchases on your website. If the ad that was interacted with before the purchase has an associated product (see Shopping Ads) then this product is considered the advertised product. Any product included in the order the customer places is a sold product. If the advertised and sold products match, then the total number of these products sold is shown under lead units sold. Example: Someone clicked on a Shopping ad for a hat then bought the same hat, a shirt and a jacket. The lead units sold in this order is 1. This metric is only available if you report conversions with cart data.
         */
        leadUnitsSold?: number | null;
        /**
         * The percentage of mobile clicks that go to a mobile-friendly page.
         */
        mobileFriendlyClicksPercentage?: number | null;
        /**
         * Orders is the total number of purchase conversions you received attributed to your ads. How it works: You report conversions with cart data for completed purchases on your website. If a conversion is attributed to previous interactions with your ads (clicks for text or Shopping ads, views for video ads etc.) it's counted as an order. Example: Someone clicked on a Shopping ad for a hat then bought the same hat and a shirt in an order on your website. Even though they bought 2 products, this would count as 1 order. This metric is only available if you report conversions with cart data.
         */
        orders?: number | null;
        /**
         * The raw event conversion metrics.
         */
        rawEventConversionMetrics?: Schema$GoogleAdsSearchads360V23Common__Value[];
        /**
         * Revenue is the total amount you made from orders attributed to your ads. How it works: You report conversions with cart data for completed purchases on your website. Revenue is the total value of all the orders you received attributed to your ads, minus any discount. Example: Someone clicked on a Shopping ad for a hat then bought the same hat and a shirt in an order from your website. The hat is priced $10 and the shirt is priced $20. The entire order has a $5 discount. The revenue from this order is $25 = ($10 + $20) - $5. This metric is only available if you report conversions with cart data.
         */
        revenueMicros?: string | null;
        /**
         * The percentage of the customer's Shopping or Search ad impressions that are shown in the most prominent Shopping position. See [About top and absolute top metrics](https://support.google.com/sa360/answer/9566729) for details. Any value below 0.1 is reported as 0.0999.
         */
        searchAbsoluteTopImpressionShare?: number | null;
        /**
         * The number estimating how often your ad wasn't the very first ad among the top ads in the search results due to a low budget. Note: Search budget lost absolute top impression share is reported in the range of 0 to 0.9. Any value above 0.9 is reported as 0.9001.
         */
        searchBudgetLostAbsoluteTopImpressionShare?: number | null;
        /**
         * The estimated percent of times that your ad was eligible to show on the Search Network but didn't because your budget was too low. Note: Search budget lost impression share is reported in the range of 0 to 0.9. Any value above 0.9 is reported as 0.9001.
         */
        searchBudgetLostImpressionShare?: number | null;
        /**
         * The estimated percent of times that your ad didn't show adjacent to the top organic search results due to a low budget. Note: Search budget lost top impression share is reported in the range of 0 to 0.9. Any value above 0.9 is reported as 0.9001.
         */
        searchBudgetLostTopImpressionShare?: number | null;
        /**
         * The number of clicks you've received on the Search Network divided by the estimated number of clicks you were eligible to receive. Note: Search click share is reported in the range of 0.1 to 1. Any value below 0.1 is reported as 0.0999.
         */
        searchClickShare?: number | null;
        /**
         * The impressions you've received divided by the estimated number of impressions you were eligible to receive on the Search Network for search terms that matched your keywords exactly (or were close variants of your keyword), regardless of your keyword match types. Note: Search exact match impression share is reported in the range of 0.1 to 1. Any value below 0.1 is reported as 0.0999.
         */
        searchExactMatchImpressionShare?: number | null;
        /**
         * The impressions you've received on the Search Network divided by the estimated number of impressions you were eligible to receive. Note: Search impression share is reported in the range of 0.1 to 1. Any value below 0.1 is reported as 0.0999.
         */
        searchImpressionShare?: number | null;
        /**
         * The number estimating how often your ad wasn't the very first ad among the top ads in the search results due to poor Ad Rank. Note: Search rank lost absolute top impression share is reported in the range of 0 to 0.9. Any value above 0.9 is reported as 0.9001.
         */
        searchRankLostAbsoluteTopImpressionShare?: number | null;
        /**
         * The estimated percentage of impressions on the Search Network that your ads didn't receive due to poor Ad Rank. Note: Search rank lost impression share is reported in the range of 0 to 0.9. Any value above 0.9 is reported as 0.9001.
         */
        searchRankLostImpressionShare?: number | null;
        /**
         * The number estimating how often your ad didn't show adjacent to the top organic search results due to poor Ad Rank. Note: Search rank lost top impression share is reported in the range of 0 to 0.9. Any value above 0.9 is reported as 0.9001.
         */
        searchRankLostTopImpressionShare?: number | null;
        /**
         * The impressions you've received among the top ads compared to the estimated number of impressions you were eligible to receive among the top ads. Note: Search top impression share is reported in the range of 0.1 to 1. Any value below 0.1 is reported as 0.0999. Top ads are generally above the top organic results, although they may show below the top organic results on certain queries.
         */
        searchTopImpressionShare?: number | null;
        /**
         * The percent of your ad impressions that are shown adjacent to the top organic search results.
         */
        topImpressionPercentage?: number | null;
        /**
         * The number of unique users who saw your ad during the requested time period. This metric cannot be aggregated, and can only be requested for date ranges of 92 days or less. This metric is available for following campaign types - Display, Video, Discovery and App.
         */
        uniqueUsers?: string | null;
        /**
         * Units sold is the total number of products sold from orders attributed to your ads. How it works: You report conversions with cart data for completed purchases on your website. Units sold is the total number of products sold from all orders attributed to your ads. Example: Someone clicked on a Shopping ad for a hat then bought the same hat, a shirt and a jacket. The units sold in this order is 3. This metric is only available if you report conversions with cart data.
         */
        unitsSold?: number | null;
        /**
         * The value of all conversions divided by the number of all conversions.
         */
        valuePerAllConversions?: number | null;
        /**
         * The value of all conversions divided by the number of all conversions. When this column is selected with date, the values in date column means the conversion date. Details for the `by_conversion_date` columns are available at [About the "All conversions" column](https://support.google.com/sa360/answer/9250611).
         */
        valuePerAllConversionsByConversionDate?: number | null;
        /**
         * The value of biddable conversion divided by the number of biddable conversions. Shows how much, on average, each of the biddable conversions is worth.
         */
        valuePerConversion?: number | null;
        /**
         * Biddable conversions value by conversion date divided by biddable conversions by conversion date. Shows how much, on average, each of the biddable conversions is worth (by conversion date). When this column is selected with date, the values in date column means the conversion date.
         */
        valuePerConversionsByConversionDate?: number | null;
        /**
         * Clicks that Search Ads 360 has successfully recorded and forwarded to an advertiser's landing page.
         */
        visits?: number | null;
    }
    /**
     * An asset representing a mobile app.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__MobileAppAsset {
        /**
         * Required. A string that uniquely identifies a mobile application. It should just contain the platform native id, like "com.android.ebay" for Android or "12345689" for iOS.
         */
        appId?: string | null;
        /**
         * Required. The application store that distributes this specific app.
         */
        appStore?: string | null;
        /**
         * Last date of when this asset is effective and still serving, in yyyy-MM-dd format.
         */
        endDate?: string | null;
        /**
         * Required. The visible text displayed when the link is rendered in an ad. The length of this string should be between 1 and 25, inclusive.
         */
        linkText?: string | null;
        /**
         * Start date of when this asset is effective and can begin serving, in yyyy-MM-dd format.
         */
        startDate?: string | null;
    }
    /**
     * A mobile app category criterion.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__MobileAppCategoryInfo {
        /**
         * The mobile app category constant resource name.
         */
        mobileAppCategoryConstant?: string | null;
    }
    /**
     * A mobile application criterion.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__MobileApplicationInfo {
        /**
         * A string that uniquely identifies a mobile application to Google Ads API. The format of this string is "{platform\}-{platform_native_id\}", where platform is "1" for iOS apps and "2" for Android apps, and where platform_native_id is the mobile application identifier native to the corresponding platform. For iOS, this native identifier is the 9 digit string that appears at the end of an App Store URL (for example, "476943146" for "Flood-It! 2" whose App Store link is "http://itunes.apple.com/us/app/flood-it!-2/id476943146"). For Android, this native identifier is the application's package name (for example, "com.labpixies.colordrips" for "Color Drips" given Google Play link "https://play.google.com/store/apps/details?id=com.labpixies.colordrips"). A well formed app id for Google Ads API would thus be "1-476943146" for iOS and "2-com.labpixies.colordrips" for Android. This field is required and must be set in CREATE operations.
         */
        appId?: string | null;
        /**
         * Name of this mobile application.
         */
        name?: string | null;
    }
    /**
     * A mobile device criterion.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__MobileDeviceInfo {
        /**
         * The mobile device constant resource name.
         */
        mobileDeviceConstant?: string | null;
    }
    /**
     * Represents a price in a particular currency.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__Money {
        /**
         * Amount in micros. One million is equivalent to one unit.
         */
        amountMicros?: string | null;
        /**
         * Three-character ISO 4217 currency code.
         */
        currencyCode?: string | null;
    }
    /**
     * Monthly search volume.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__MonthlySearchVolume {
        /**
         * The month of the search volume.
         */
        month?: string | null;
        /**
         * Approximate number of searches for the month. A null value indicates the search volume is unavailable for that month.
         */
        monthlySearches?: string | null;
        /**
         * The year of the search volume (for example, 2020).
         */
        year?: string | null;
    }
    /**
     * A Negative Keyword List criterion. Represents a shared set of negative keywords that can be excluded at the account-level. Only one negative keyword list criterion can be attached per account.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__NegativeKeywordListInfo {
        /**
         * The NegativeKeywordListInfo shared set resource name.
         */
        sharedSet?: string | null;
    }
    /**
     * Address identifier of offline data.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__OfflineUserAddressInfo {
        /**
         * City of the address. Only accepted for Store Sales.
         */
        city?: string | null;
        /**
         * 2-letter country code in ISO-3166-1 alpha-2 of the user's address.
         */
        countryCode?: string | null;
        /**
         * First name of the user, which is hashed as SHA-256 after normalized (Lowercase all characters; Remove any extra spaces before, after, and in between).
         */
        hashedFirstName?: string | null;
        /**
         * Last name of the user, which is hashed as SHA-256 after normalized (lower case only and no punctuation).
         */
        hashedLastName?: string | null;
        /**
         * The street address of the user hashed using SHA-256 hash function after normalization (lower case only). Only accepted for ConversionAdjustmentUploadService.
         */
        hashedStreetAddress?: string | null;
        /**
         * Postal code of the user's address.
         */
        postalCode?: string | null;
        /**
         * State code of the address. Only accepted for Store Sales.
         */
        state?: string | null;
    }
    /**
     * Represents an operating system version to be targeted.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__OperatingSystemVersionInfo {
        /**
         * The operating system version constant resource name.
         */
        operatingSystemVersionConstant?: string | null;
    }
    /**
     * A Page Feed asset.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__PageFeedAsset {
        /**
         * Labels used to group the page urls.
         */
        labels?: string[] | null;
        /**
         * Required. The webpage that advertisers want to target.
         */
        pageUrl?: string | null;
    }
    /**
     * Dimension specifying users by their parental status.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__ParentalStatusDimension {
        /**
         * Include users whose parental status is undetermined.
         */
        includeUndetermined?: boolean | null;
        /**
         * Included parental status demographic segments.
         */
        parentalStatuses?: string[] | null;
    }
    /**
     * A parental status criterion.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__ParentalStatusInfo {
        /**
         * Type of the parental status.
         */
        type?: string | null;
    }
    /**
     * A bidding strategy where bids are a fraction of the advertised price for some good or service.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__PercentCpc {
        /**
         * Maximum bid limit that can be set by the bid strategy. This is an optional field entered by the advertiser and specified in local micros. Note: A zero value is interpreted in the same way as having bid_ceiling undefined.
         */
        cpcBidCeilingMicros?: string | null;
        /**
         * Adjusts the bid for each auction upward or downward, depending on the likelihood of a conversion. Individual bids may exceed cpc_bid_ceiling_micros, but the average bid amount for a campaign should not.
         */
        enhancedCpcEnabled?: boolean | null;
    }
    /**
     * Projected metrics for a specific percent CPC amount. Only Hotel advertising channel type supports this field.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__PercentCpcBidSimulationPoint {
        /**
         * Projected number of biddable conversions.
         */
        biddableConversions?: number | null;
        /**
         * Projected total value of biddable conversions in local currency.
         */
        biddableConversionsValue?: number | null;
        /**
         * Projected number of clicks.
         */
        clicks?: string | null;
        /**
         * Projected cost in micros.
         */
        costMicros?: string | null;
        /**
         * Projected number of impressions.
         */
        impressions?: string | null;
        /**
         * The simulated percent CPC upon which projected metrics are based. Percent CPC expressed as fraction of the advertised price for some good or service. The value stored here is 1,000,000 * [fraction].
         */
        percentCpcBidMicros?: string | null;
        /**
         * Projected number of top slot impressions.
         */
        topSlotImpressions?: string | null;
    }
    /**
     * A container for simulation points for simulations of type PERCENT_CPC_BID.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__PercentCpcBidSimulationPointList {
        /**
         * Projected metrics for a series of percent CPC bid amounts.
         */
        points?: Schema$GoogleAdsSearchads360V23Common__PercentCpcBidSimulationPoint[];
    }
    /**
     * A placement criterion. This can be used to modify bids for sites when targeting the content network.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__PlacementInfo {
        /**
         * URL of the placement. For example, "http://www.domain.com".
         */
        url?: string | null;
    }
    /**
     * A Placement List criterion. Represents a shared set of placements that can be excluded at the account-level.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__PlacementListInfo {
        /**
         * The PlacementListInfo shared set resource name.
         */
        sharedSet?: string | null;
    }
    /**
     * Contains policy summary information.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__PolicySummary {
        /**
         * The overall approval status, which is calculated based on the status of its individual policy topic entries.
         */
        approvalStatus?: string | null;
        /**
         * The list of policy findings.
         */
        policyTopicEntries?: Schema$GoogleAdsSearchads360V23Common__PolicyTopicEntry[];
        /**
         * Where in the review process the resource is.
         */
        reviewStatus?: string | null;
    }
    /**
     * Describes the effect on serving that a policy topic entry will have.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__PolicyTopicConstraint {
        /**
         * Countries where the resource's domain is not covered by the certificates associated with it.
         */
        certificateDomainMismatchInCountryList?: Schema$GoogleAdsSearchads360V23Common_PolicyTopicConstraint_CountryConstraintList;
        /**
         * Countries where a certificate is required for serving.
         */
        certificateMissingInCountryList?: Schema$GoogleAdsSearchads360V23Common_PolicyTopicConstraint_CountryConstraintList;
        /**
         * Countries where the resource cannot serve.
         */
        countryConstraintList?: Schema$GoogleAdsSearchads360V23Common_PolicyTopicConstraint_CountryConstraintList;
        /**
         * Reseller constraint.
         */
        resellerConstraint?: Schema$GoogleAdsSearchads360V23Common_PolicyTopicConstraint_ResellerConstraint;
    }
    /**
     * Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__PolicyTopicEntry {
        /**
         * Indicates how serving of this resource may be affected (for example, not serving in a country).
         */
        constraints?: Schema$GoogleAdsSearchads360V23Common__PolicyTopicConstraint[];
        /**
         * Additional information that explains policy finding (for example, the brand name for a trademark finding).
         */
        evidences?: Schema$GoogleAdsSearchads360V23Common__PolicyTopicEvidence[];
        /**
         * Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
         */
        topic?: string | null;
        /**
         * Describes the negative or positive effect this policy will have on serving.
         */
        type?: string | null;
    }
    /**
     * Additional information that explains a policy finding.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__PolicyTopicEvidence {
        /**
         * Mismatch between the destinations of a resource's URLs.
         */
        destinationMismatch?: Schema$GoogleAdsSearchads360V23Common_PolicyTopicEvidence_DestinationMismatch;
        /**
         * Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
         */
        destinationNotWorking?: Schema$GoogleAdsSearchads360V23Common_PolicyTopicEvidence_DestinationNotWorking;
        /**
         * The text in the destination of the resource that is causing a policy finding.
         */
        destinationTextList?: Schema$GoogleAdsSearchads360V23Common_PolicyTopicEvidence_DestinationTextList;
        /**
         * The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
         */
        languageCode?: string | null;
        /**
         * List of evidence found in the text of a resource.
         */
        textList?: Schema$GoogleAdsSearchads360V23Common_PolicyTopicEvidence_TextList;
        /**
         * List of websites linked with this resource.
         */
        websiteList?: Schema$GoogleAdsSearchads360V23Common_PolicyTopicEvidence_WebsiteList;
    }
    /**
     * Parameter for controlling how policy exemption is done.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__PolicyValidationParameter {
        /**
         * The list of policy violation keys that should not cause a `PolicyViolationError` to be reported. Not all policy violations are exemptable. Refer to the `is_exemptible` field in the returned `PolicyViolationError`. This field is used for keyword policy exemptions. If this field is populated, then `ignorable_policy_topics` must be empty. Resources that violate these policies will be saved, but will not be eligible to serve. They may begin serving at a later time due to a change in policies, re-review of the resource, or a change in advertiser certificates.
         */
        exemptPolicyViolationKeys?: Schema$GoogleAdsSearchads360V23Common__PolicyViolationKey[];
        /**
         * The list of policy topics that should not cause a `PolicyFindingError` to be reported. This field is used for ad policy exemptions. It corresponds to the `PolicyTopicEntry.topic` field. If this field is populated, then `exempt_policy_violation_keys` must be empty. Resources that violate these policies will be saved, but will not be eligible to serve. They may begin serving at a later time due to a change in policies, re-review of the resource, or a change in advertiser certificates.
         */
        ignorablePolicyTopics?: string[] | null;
    }
    /**
     * Key of the violation. The key is used for referring to a violation when filing an exemption request.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__PolicyViolationKey {
        /**
         * Unique ID of the violated policy.
         */
        policyName?: string | null;
        /**
         * The text that violates the policy if specified. Otherwise, refers to the policy in general (for example, when requesting to be exempt from the whole policy). If not specified for criterion exemptions, the whole policy is implied. Must be specified for ad exemptions.
         */
        violatingText?: string | null;
    }
    /**
     * An asset representing a list of price offers.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__PriceAsset {
        /**
         * Required. The language of the price asset. Represented as BCP 47 language tag.
         */
        languageCode?: string | null;
        /**
         * The price offerings of the price asset. The size of this collection should be between 3 and 8, inclusive.
         */
        priceOfferings?: Schema$GoogleAdsSearchads360V23Common__PriceOffering[];
        /**
         * The price qualifier of the price asset.
         */
        priceQualifier?: string | null;
        /**
         * Required. The type of the price asset.
         */
        type?: string | null;
    }
    /**
     * A single price offering within a PriceAsset.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__PriceOffering {
        /**
         * Required. The description of the price offering. The length of this string should be between 1 and 25, inclusive.
         */
        description?: string | null;
        /**
         * The final mobile URL after all cross domain redirects.
         */
        finalMobileUrl?: string | null;
        /**
         * Required. The final URL after all cross domain redirects.
         */
        finalUrl?: string | null;
        /**
         * Required. The header of the price offering. The length of this string should be between 1 and 25, inclusive.
         */
        header?: string | null;
        /**
         * Required. The price value of the price offering.
         */
        price?: Schema$GoogleAdsSearchads360V23Common__Money;
        /**
         * The price unit of the price offering.
         */
        unit?: string | null;
    }
    /**
     * Brand of the product.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__ProductBrandInfo {
        /**
         * String value of the product brand.
         */
        value?: string | null;
    }
    /**
     * Category of a product offer.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__ProductCategoryInfo {
        /**
         * ID of the product category. This ID is equivalent to the google_product_category ID as described in this article: https://support.google.com/merchants/answer/6324436
         */
        categoryId?: string | null;
        /**
         * Level of the product category.
         */
        level?: string | null;
    }
    /**
     * Availability of a product offer.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__ProductChannelExclusivityInfo {
        /**
         * Value of the availability.
         */
        channelExclusivity?: string | null;
    }
    /**
     * Locality of a product offer.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__ProductChannelInfo {
        /**
         * Value of the locality.
         */
        channel?: string | null;
    }
    /**
     * Condition of a product offer.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__ProductConditionInfo {
        /**
         * Value of the condition.
         */
        condition?: string | null;
    }
    /**
     * Custom attribute of a product offer.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__ProductCustomAttributeInfo {
        /**
         * Indicates the index of the custom attribute.
         */
        index?: string | null;
        /**
         * String value of the product custom attribute.
         */
        value?: string | null;
    }
    /**
     * Grouping of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__ProductGroupingInfo {
        /**
         * String value of the product grouping.
         */
        value?: string | null;
    }
    /**
     * Item id of a product offer.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__ProductItemIdInfo {
        /**
         * Value of the id.
         */
        value?: string | null;
    }
    /**
     * Labels of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__ProductLabelsInfo {
        /**
         * String value of the product labels.
         */
        value?: string | null;
    }
    /**
     * Legacy condition of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__ProductLegacyConditionInfo {
        /**
         * String value of the product legacy condition.
         */
        value?: string | null;
    }
    /**
     * Full type of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__ProductTypeFullInfo {
        /**
         * String value of the product full type.
         */
        value?: string | null;
    }
    /**
     * Type of a product offer.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__ProductTypeInfo {
        /**
         * Level of the type.
         */
        level?: string | null;
        /**
         * Value of the type.
         */
        value?: string | null;
    }
    /**
     * A Promotion asset.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__PromotionAsset {
        /**
         * List of non-overlapping schedules specifying all time intervals for which the asset may serve. There can be a maximum of 6 schedules per day, 42 in total.
         */
        adScheduleTargets?: Schema$GoogleAdsSearchads360V23Common__AdScheduleInfo[];
        /**
         * A modifier for qualification of the discount.
         */
        discountModifier?: string | null;
        /**
         * Last date of when this asset is effective and still serving, in yyyy-MM-dd format.
         */
        endDate?: string | null;
        /**
         * The language of the promotion. Represented as BCP 47 language tag.
         */
        languageCode?: string | null;
        /**
         * Money amount off for discount in the promotion. Either this or percent_off is required.
         */
        moneyAmountOff?: Schema$GoogleAdsSearchads360V23Common__Money;
        /**
         * The occasion the promotion was intended for. If an occasion is set, the redemption window will need to fall within the date range associated with the occasion.
         */
        occasion?: string | null;
        /**
         * The amount the total order needs to be for the user to be eligible for the promotion.
         */
        ordersOverAmount?: Schema$GoogleAdsSearchads360V23Common__Money;
        /**
         * Percentage off discount in the promotion. 1,000,000 = 100%. Either this or money_amount_off is required.
         */
        percentOff?: string | null;
        /**
         * Barcode info used to generate promotion barcode for user to be eligible for the promotion.
         */
        promotionBarcodeInfo?: Schema$GoogleAdsSearchads360V23Common__PromotionBarcodeInfo;
        /**
         * A code the user should use in order to be eligible for the promotion.
         */
        promotionCode?: string | null;
        /**
         * QR code info used to generate promotion QR code for user to be eligible for the promotion.
         */
        promotionQrCodeInfo?: Schema$GoogleAdsSearchads360V23Common__PromotionQrCodeInfo;
        /**
         * Required. A freeform description of what the promotion is targeting.
         */
        promotionTarget?: string | null;
        /**
         * Last date of when the promotion is eligible to be redeemed, in yyyy-MM-dd format.
         */
        redemptionEndDate?: string | null;
        /**
         * Start date of when the promotion is eligible to be redeemed, in yyyy-MM-dd format.
         */
        redemptionStartDate?: string | null;
        /**
         * Start date of when this asset is effective and can begin serving, in yyyy-MM-dd format.
         */
        startDate?: string | null;
        /**
         * Terms and conditions of the promotion.
         */
        termsAndConditionsText?: string | null;
        /**
         * URI to the terms and conditions of the promotion.
         */
        termsAndConditionsUri?: string | null;
    }
    /**
     * Barcode info to generate promotion barcode.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__PromotionBarcodeInfo {
        /**
         * Promotion message to be encoded in the barcode.
         */
        barcodeContent?: string | null;
        /**
         * Barcode type used to generate barcode with the correct format.
         */
        type?: string | null;
    }
    /**
     * QR code info to generate promotion QR code.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__PromotionQrCodeInfo {
        /**
         * Promotion message to be encoded in the QR code.
         */
        qrCodeContent?: string | null;
    }
    /**
     * A Proximity criterion. The geo point and radius determine what geographical area is included. The address is a description of the geo point that does not affect ad serving. There are two ways to create a proximity. First, by setting an address and radius. The geo point will be automatically computed. Second, by setting a geo point and radius. The address is an optional label that won't be validated.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__ProximityInfo {
        /**
         * Full address.
         */
        address?: Schema$GoogleAdsSearchads360V23Common__AddressInfo;
        /**
         * Latitude and longitude.
         */
        geoPoint?: Schema$GoogleAdsSearchads360V23Common__GeoPointInfo;
        /**
         * The radius of the proximity.
         */
        radius?: number | null;
        /**
         * The unit of measurement of the radius. Default is KILOMETERS.
         */
        radiusUnits?: string | null;
    }
    /**
     * Settings for Real-Time Bidding, a feature only available for campaigns targeting the Ad Exchange network.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__RealTimeBiddingSetting {
        /**
         * Whether the campaign is opted in to real-time bidding.
         */
        optIn?: boolean | null;
    }
    /**
     * Specification for various creative controls for a responsive display ad.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__ResponsiveDisplayAdControlSpec {
        /**
         * Whether the advertiser has opted into the asset enhancements feature.
         */
        enableAssetEnhancements?: boolean | null;
        /**
         * Whether the advertiser has opted into auto-gen video feature.
         */
        enableAutogenVideo?: boolean | null;
    }
    /**
     * A responsive display ad.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__ResponsiveDisplayAdInfo {
        /**
         * The accent color of the ad in hexadecimal, for example, #ffffff for white. If one of `main_color` and `accent_color` is set, the other is required as well.
         */
        accentColor?: string | null;
        /**
         * Advertiser's consent to allow flexible color. When true, the ad may be served with different color if necessary. When false, the ad will be served with the specified colors or a neutral color. The default value is `true`. Must be true if `main_color` and `accent_color` are not set.
         */
        allowFlexibleColor?: boolean | null;
        /**
         * The advertiser/brand name. Maximum display width is 25.
         */
        businessName?: string | null;
        /**
         * The call-to-action text for the ad. Maximum display width is 30.
         */
        callToActionText?: string | null;
        /**
         * Specification for various creative controls.
         */
        controlSpec?: Schema$GoogleAdsSearchads360V23Common__ResponsiveDisplayAdControlSpec;
        /**
         * Descriptive texts for the ad. The maximum length is 90 characters. At least 1 and max 5 headlines can be specified.
         */
        descriptions?: Schema$GoogleAdsSearchads360V23Common__AdTextAsset[];
        /**
         * Specifies which format the ad will be served in. Default is ALL_FORMATS.
         */
        formatSetting?: string | null;
        /**
         * Short format headlines for the ad. The maximum length is 30 characters. At least 1 and max 5 headlines can be specified.
         */
        headlines?: Schema$GoogleAdsSearchads360V23Common__AdTextAsset[];
        /**
         * Logo images to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 512x128 and the aspect ratio must be 4:1 (+-1%). Combined with `square_logo_images`, the maximum is 5.
         */
        logoImages?: Schema$GoogleAdsSearchads360V23Common__AdImageAsset[];
        /**
         * A required long format headline. The maximum length is 90 characters.
         */
        longHeadline?: Schema$GoogleAdsSearchads360V23Common__AdTextAsset;
        /**
         * The main color of the ad in hexadecimal, for example, #ffffff for white. If one of `main_color` and `accent_color` is set, the other is required as well.
         */
        mainColor?: string | null;
        /**
         * Marketing images to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 600x314 and the aspect ratio must be 1.91:1 (+-1%). At least one `marketing_image` is required. Combined with `square_marketing_images`, the maximum is 15.
         */
        marketingImages?: Schema$GoogleAdsSearchads360V23Common__AdImageAsset[];
        /**
         * Prefix before price. For example, 'as low as'.
         */
        pricePrefix?: string | null;
        /**
         * Promotion text used for dynamic formats of responsive ads. For example 'Free two-day shipping'.
         */
        promoText?: string | null;
        /**
         * Square logo images to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%). Combined with `logo_images`, the maximum is 5.
         */
        squareLogoImages?: Schema$GoogleAdsSearchads360V23Common__AdImageAsset[];
        /**
         * Square marketing images to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 300x300 and the aspect ratio must be 1:1 (+-1%). At least one square `marketing_image` is required. Combined with `marketing_images`, the maximum is 15.
         */
        squareMarketingImages?: Schema$GoogleAdsSearchads360V23Common__AdImageAsset[];
        /**
         * Optional YouTube videos for the ad. A maximum of 5 videos can be specified.
         */
        youtubeVideos?: Schema$GoogleAdsSearchads360V23Common__AdVideoAsset[];
    }
    /**
     * A responsive search ad. Responsive search ads let you create an ad that adapts to show more text, and more relevant messages, to your customers. Enter multiple headlines and descriptions when creating a responsive search ad, and over time, Google Ads will automatically test different combinations and learn which combinations perform best. By adapting your ad's content to more closely match potential customers' search terms, responsive search ads may improve your campaign's performance. More information at https://support.google.com/google-ads/answer/7684791
     */
    export interface Schema$GoogleAdsSearchads360V23Common__ResponsiveSearchAdInfo {
        /**
         * List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.
         */
        descriptions?: Schema$GoogleAdsSearchads360V23Common__AdTextAsset[];
        /**
         * List of text assets for headlines. When the ad serves the headlines will be selected from this list.
         */
        headlines?: Schema$GoogleAdsSearchads360V23Common__AdTextAsset[];
        /**
         * First part of text that can be appended to the URL in the ad.
         */
        path1?: string | null;
        /**
         * Second part of text that can be appended to the URL in the ad. This field can only be set when `path1` is also set.
         */
        path2?: string | null;
    }
    /**
     * Representation of a userlist that is generated by a rule.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__RuleBasedUserListInfo {
        /**
         * Flexible rule representation of visitors with one or multiple actions. The flexible user list is defined by two lists of operands – inclusive_operands and exclusive_operands; each operand represents a set of users based on actions they took in a given timeframe. These lists of operands are combined with the AND_NOT operator, so that users represented by the inclusive operands are included in the user list, minus the users represented by the exclusive operands.
         */
        flexibleRuleUserList?: Schema$GoogleAdsSearchads360V23Common__FlexibleRuleUserListInfo;
        /**
         * The status of pre-population. The field is default to NONE if not set which means the previous users will not be considered. If set to REQUESTED, past site visitors or app users who match the list definition will be included in the list (works on the Display Network only). This will only add past users from within the last 30 days, depending on the list's membership duration and the date when the remarketing tag is added. The status will be updated to FINISHED once request is processed, or FAILED if the request fails.
         */
        prepopulationStatus?: string | null;
    }
    /**
     * An expanded dynamic search ad.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__SearchAds360ExpandedDynamicSearchAdInfo {
        /**
         * The tracking id of the ad.
         */
        adTrackingId?: string | null;
        /**
         * The first line of the ad's description.
         */
        description1?: string | null;
        /**
         * The second line of the ad's description.
         */
        description2?: string | null;
    }
    /**
     * A Search Ads 360 expanded text ad. Expanded text ads are deprecated. Use SearchAds360ResponsiveSearchAd instead.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__SearchAds360ExpandedTextAdInfo {
        /**
         * The tracking id of the ad.
         */
        adTrackingId?: string | null;
        /**
         * The first line of the ad's description.
         */
        description1?: string | null;
        /**
         * The second line of the ad's description.
         */
        description2?: string | null;
        /**
         * The headline of the ad.
         */
        headline?: string | null;
        /**
         * The second headline of the ad.
         */
        headline2?: string | null;
        /**
         * The third headline of the ad.
         */
        headline3?: string | null;
        /**
         * Text appended to the auto-generated visible URL with a delimiter.
         */
        path1?: string | null;
        /**
         * Text appended to path1 with a delimiter.
         */
        path2?: string | null;
    }
    /**
     * A Search Ads 360 product ad.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__SearchAds360ProductAdInfo {
    }
    /**
     * A Search Ads 360 responsive search ad.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__SearchAds360ResponsiveSearchAdInfo {
        /**
         * The tracking id of the ad.
         */
        adTrackingId?: string | null;
        /**
         * List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.
         */
        descriptions?: Schema$GoogleAdsSearchads360V23Common__AdTextAsset[];
        /**
         * List of text assets for headlines. When the ad serves the headlines will be selected from this list.
         */
        headlines?: Schema$GoogleAdsSearchads360V23Common__AdTextAsset[];
        /**
         * Text appended to the auto-generated visible URL with a delimiter.
         */
        path1?: string | null;
        /**
         * Text appended to path1 with a delimiter.
         */
        path2?: string | null;
    }
    /**
     * A Search Ads 360 text ad.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__SearchAds360TextAdInfo {
        /**
         * The tracking id of the ad.
         */
        adTrackingId?: string | null;
        /**
         * The first line of the ad's description.
         */
        description1?: string | null;
        /**
         * The second line of the ad's description.
         */
        description2?: string | null;
        /**
         * The displayed mobile URL of the ad.
         */
        displayMobileUrl?: string | null;
        /**
         * The displayed URL of the ad.
         */
        displayUrl?: string | null;
        /**
         * The headline of the ad.
         */
        headline?: string | null;
    }
    /**
     * A Search Theme criterion only on Performance Max campaign. Represents a keyword-like advertiser input.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__SearchThemeInfo {
        /**
         * Each Search Theme has a value of a simple string, like keywords. There are limits on overall length, allowed characters, and number of words.
         */
        text?: string | null;
    }
    /**
     * Segment only fields.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__Segments {
        /**
         * Ad Format type.
         */
        adFormatType?: string | null;
        /**
         * Ad network type.
         */
        adNetworkType?: string | null;
        /**
         * Only used with CustomerAsset, CampaignAsset and AdGroupAsset metrics. Indicates whether the interaction metrics occurred on the asset itself or a different asset or ad unit. Interactions (for example, clicks) are counted across all the parts of the served ad (for example, Ad itself and other components like Sitelinks) when they are served together. When interaction_on_this_asset is true, it means the interactions are on this specific asset and when interaction_on_this_asset is false, it means the interactions is not on this specific asset but on other parts of the served ad this asset is served with.
         */
        assetInteractionTarget?: Schema$GoogleAdsSearchads360V23Common__AssetInteractionTarget;
        /**
         * Resource name of the conversion action.
         */
        conversionAction?: string | null;
        /**
         * Conversion action category.
         */
        conversionActionCategory?: string | null;
        /**
         * Conversion action name.
         */
        conversionActionName?: string | null;
        /**
         * The conversion custom dimensions.
         */
        conversionCustomDimensions?: Schema$GoogleAdsSearchads360V23Common__Value[];
        /**
         * Date to which metrics apply. yyyy-MM-dd format, for example, 2018-04-17.
         */
        date?: string | null;
        /**
         * Day of the week, for example, MONDAY.
         */
        dayOfWeek?: string | null;
        /**
         * Device to which metrics apply.
         */
        device?: string | null;
        /**
         * Resource name of the geo target constant that represents a city.
         */
        geoTargetCity?: string | null;
        /**
         * Resource name of the geo target constant that represents a country.
         */
        geoTargetCountry?: string | null;
        /**
         * Resource name of the geo target constant that represents a metro.
         */
        geoTargetMetro?: string | null;
        /**
         * Resource name of the geo target constant that represents a postal code.
         */
        geoTargetPostalCode?: string | null;
        /**
         * Resource name of the geo target constant that represents a region.
         */
        geoTargetRegion?: string | null;
        /**
         * Hour of day as a number between 0 and 23, inclusive.
         */
        hour?: number | null;
        /**
         * Keyword criterion.
         */
        keyword?: Schema$GoogleAdsSearchads360V23Common__Keyword;
        /**
         * Mobile device platform to which metrics apply.
         */
        mobileDevicePlatform?: string | null;
        /**
         * Month as represented by the date of the first day of a month. Formatted as yyyy-MM-dd.
         */
        month?: string | null;
        /**
         * Bidding category (level 1) of the product.
         */
        productBiddingCategoryLevel1?: string | null;
        /**
         * Bidding category (level 2) of the product.
         */
        productBiddingCategoryLevel2?: string | null;
        /**
         * Bidding category (level 3) of the product.
         */
        productBiddingCategoryLevel3?: string | null;
        /**
         * Bidding category (level 4) of the product.
         */
        productBiddingCategoryLevel4?: string | null;
        /**
         * Bidding category (level 5) of the product.
         */
        productBiddingCategoryLevel5?: string | null;
        /**
         * Brand of the product.
         */
        productBrand?: string | null;
        /**
         * Channel of the product.
         */
        productChannel?: string | null;
        /**
         * Channel exclusivity of the product.
         */
        productChannelExclusivity?: string | null;
        /**
         * Condition of the product.
         */
        productCondition?: string | null;
        /**
         * Resource name of the geo target constant for the country of sale of the product.
         */
        productCountry?: string | null;
        /**
         * Custom attribute 0 of the product.
         */
        productCustomAttribute0?: string | null;
        /**
         * Custom attribute 1 of the product.
         */
        productCustomAttribute1?: string | null;
        /**
         * Custom attribute 2 of the product.
         */
        productCustomAttribute2?: string | null;
        /**
         * Custom attribute 3 of the product.
         */
        productCustomAttribute3?: string | null;
        /**
         * Custom attribute 4 of the product.
         */
        productCustomAttribute4?: string | null;
        /**
         * Item ID of the product.
         */
        productItemId?: string | null;
        /**
         * Resource name of the language constant for the language of the product.
         */
        productLanguage?: string | null;
        /**
         * Bidding category (level 1) of the product sold.
         */
        productSoldBiddingCategoryLevel1?: string | null;
        /**
         * Bidding category (level 2) of the product sold.
         */
        productSoldBiddingCategoryLevel2?: string | null;
        /**
         * Bidding category (level 3) of the product sold.
         */
        productSoldBiddingCategoryLevel3?: string | null;
        /**
         * Bidding category (level 4) of the product sold.
         */
        productSoldBiddingCategoryLevel4?: string | null;
        /**
         * Bidding category (level 5) of the product sold.
         */
        productSoldBiddingCategoryLevel5?: string | null;
        /**
         * Brand of the product sold.
         */
        productSoldBrand?: string | null;
        /**
         * Condition of the product sold.
         */
        productSoldCondition?: string | null;
        /**
         * Custom attribute 0 of the product sold.
         */
        productSoldCustomAttribute0?: string | null;
        /**
         * Custom attribute 1 of the product sold.
         */
        productSoldCustomAttribute1?: string | null;
        /**
         * Custom attribute 2 of the product sold.
         */
        productSoldCustomAttribute2?: string | null;
        /**
         * Custom attribute 3 of the product sold.
         */
        productSoldCustomAttribute3?: string | null;
        /**
         * Custom attribute 4 of the product sold.
         */
        productSoldCustomAttribute4?: string | null;
        /**
         * Item ID of the product sold.
         */
        productSoldItemId?: string | null;
        /**
         * Title of the product sold.
         */
        productSoldTitle?: string | null;
        /**
         * Type (level 1) of the product sold.
         */
        productSoldTypeL1?: string | null;
        /**
         * Type (level 2) of the product sold.
         */
        productSoldTypeL2?: string | null;
        /**
         * Type (level 3) of the product sold.
         */
        productSoldTypeL3?: string | null;
        /**
         * Type (level 4) of the product sold.
         */
        productSoldTypeL4?: string | null;
        /**
         * Type (level 5) of the product sold.
         */
        productSoldTypeL5?: string | null;
        /**
         * Store ID of the product.
         */
        productStoreId?: string | null;
        /**
         * Title of the product.
         */
        productTitle?: string | null;
        /**
         * Type (level 1) of the product.
         */
        productTypeL1?: string | null;
        /**
         * Type (level 2) of the product.
         */
        productTypeL2?: string | null;
        /**
         * Type (level 3) of the product.
         */
        productTypeL3?: string | null;
        /**
         * Type (level 4) of the product.
         */
        productTypeL4?: string | null;
        /**
         * Type (level 5) of the product.
         */
        productTypeL5?: string | null;
        /**
         * Quarter as represented by the date of the first day of a quarter. Uses the calendar year for quarters, for example, the second quarter of 2018 starts on 2018-04-01. Formatted as yyyy-MM-dd.
         */
        quarter?: string | null;
        /**
         * The raw event conversion dimensions.
         */
        rawEventConversionDimensions?: Schema$GoogleAdsSearchads360V23Common__Value[];
        /**
         * The display names of participants in an event listing, like performers, speakers, or teams.
         */
        verticalAdsEventParticipantDisplayNames?: string | null;
        /**
         * The class of the hotel. Generally in the range of 1 to 5 stars, but fully customizable in the hotel feed.
         */
        verticalAdsHotelClass?: string | null;
        /**
         * The listing associated with a listing impression, click or conversion.
         */
        verticalAdsListing?: string | null;
        /**
         * The brand associated with a specific listing within a Vertical Ads context, for example, the brand of a car rental, a vacation home, or an event.
         */
        verticalAdsListingBrand?: string | null;
        /**
         * The city where the vertical ads listing is located.
         */
        verticalAdsListingCity?: string | null;
        /**
         * The country where the vertical ads listing is located.
         */
        verticalAdsListingCountry?: string | null;
        /**
         * The region where the vertical ads listing is located.
         */
        verticalAdsListingRegion?: string | null;
        /**
         * A specific partner account within a Partner Center (for example, Hotel Center) that supplies inventory feed data for Vertical Ads.
         */
        verticalAdsPartnerAccount?: string | null;
        /**
         * Type of vertical ad, such as Vacation Rentals, Car Rentals, or Events, used to categorize and segment data in the context of Vertical Ads.
         */
        verticalAdsVertical?: string | null;
        /**
         * Week as defined as Monday through Sunday, and represented by the date of Monday. Formatted as yyyy-MM-dd.
         */
        week?: string | null;
        /**
         * Year, formatted as yyyy.
         */
        year?: number | null;
    }
    /**
     * A Shopping Comparison Listing ad.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__ShoppingComparisonListingAdInfo {
        /**
         * Headline of the ad. This field is required. Allowed length is between 25 and 45 characters.
         */
        headline?: string | null;
    }
    /**
     * The shopping loyalty related data. Shopping utilizes this data to provide users with a better experience. Accessible only to merchants on the allow-list.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__ShoppingLoyalty {
        /**
         * The membership tier. It is a free-form string as each merchant may have their own loyalty system. For example, it could be a number from 1 to 10, or a string such as "Golden" or "Silver", or even empty string "".
         */
        loyaltyTier?: string | null;
    }
    /**
     * A standard Shopping ad.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__ShoppingProductAdInfo {
    }
    /**
     * A Smart Shopping ad.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__ShoppingSmartAdInfo {
    }
    /**
     * SimilarUserList is a list of users which are similar to users from another UserList. These lists are read-only and automatically created by Google.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__SimilarUserListInfo {
        /**
         * Seed UserList from which this list is derived.
         */
        seedUserList?: string | null;
    }
    /**
     * A Sitelink asset.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__SitelinkAsset {
        /**
         * List of non-overlapping schedules specifying all time intervals for which the asset may serve. There can be a maximum of 6 schedules per day, 42 in total.
         */
        adScheduleTargets?: Schema$GoogleAdsSearchads360V23Common__AdScheduleInfo[];
        /**
         * First line of the description for the sitelink. If set, the length should be between 1 and 35, inclusive, and description2 must also be set.
         */
        description1?: string | null;
        /**
         * Second line of the description for the sitelink. If set, the length should be between 1 and 35, inclusive, and description1 must also be set.
         */
        description2?: string | null;
        /**
         * Last date of when this asset is effective and still serving, in yyyy-MM-dd format.
         */
        endDate?: string | null;
        /**
         * Required. URL display text for the sitelink. The length of this string should be between 1 and 25, inclusive.
         */
        linkText?: string | null;
        /**
         * Start date of when this asset is effective and can begin serving, in yyyy-MM-dd format.
         */
        startDate?: string | null;
    }
    /**
     * Represents a sitelink.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__SitelinkFeedItem {
        /**
         * A list of possible final mobile URLs after all cross domain redirects.
         */
        finalMobileUrls?: string[] | null;
        /**
         * A list of possible final URLs after all cross domain redirects.
         */
        finalUrls?: string[] | null;
        /**
         * Final URL suffix to be appended to landing page URLs served with parallel tracking.
         */
        finalUrlSuffix?: string | null;
        /**
         * First line of the description for the sitelink. If this value is set, line2 must also be set. The length of this string should be between 0 and 35, inclusive.
         */
        line1?: string | null;
        /**
         * Second line of the description for the sitelink. If this value is set, line1 must also be set. The length of this string should be between 0 and 35, inclusive.
         */
        line2?: string | null;
        /**
         * URL display text for the sitelink. The length of this string should be between 1 and 25, inclusive.
         */
        linkText?: string | null;
        /**
         * URL template for constructing a tracking URL.
         */
        trackingUrlTemplate?: string | null;
        /**
         * A list of mappings to be used for substituting URL custom parameter tags in the tracking_url_template, final_urls, and/or final_mobile_urls.
         */
        urlCustomParameters?: Schema$GoogleAdsSearchads360V23Common__CustomParameter[];
    }
    /**
     * A Smart campaign ad.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__SmartCampaignAdInfo {
        /**
         * List of text assets, each of which corresponds to a description when the ad serves. This list consists of a minimum of 2 and up to 4 text assets.
         */
        descriptions?: Schema$GoogleAdsSearchads360V23Common__AdTextAsset[];
        /**
         * List of text assets, each of which corresponds to a headline when the ad serves. This list consists of a minimum of 3 and up to 15 text assets.
         */
        headlines?: Schema$GoogleAdsSearchads360V23Common__AdTextAsset[];
    }
    /**
     * Store attributes of the transaction.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__StoreAttribute {
        /**
         * Store code from https://support.google.com/business/answer/3370250#storecode
         */
        storeCode?: string | null;
    }
    /**
     * Metadata for Store Sales Direct.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__StoreSalesMetadata {
        /**
         * Name of the store sales custom variable key. A predefined key that can be applied to the transaction and then later used for custom segmentation in reporting. Accessible only to customers on the allow-list.
         */
        customKey?: string | null;
        /**
         * This is the fraction of all transactions that are identifiable (for example, associated with any form of customer information). Required. The fraction needs to be between 0 and 1 (excluding 0).
         */
        loyaltyFraction?: number | null;
        /**
         * Metadata for a third party Store Sales upload.
         */
        thirdPartyMetadata?: Schema$GoogleAdsSearchads360V23Common__StoreSalesThirdPartyMetadata;
        /**
         * This is the ratio of sales being uploaded compared to the overall sales that can be associated with a customer. Required. The fraction needs to be between 0 and 1 (excluding 0). For example, if you upload half the sales that you are able to associate with a customer, this would be 0.5.
         */
        transactionUploadFraction?: number | null;
    }
    /**
     * Metadata for a third party Store Sales. This product is only for customers on the allow-list. Contact your Google business development representative for details on the upload configuration.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__StoreSalesThirdPartyMetadata {
        /**
         * Time the advertiser uploaded the data to the partner. Required. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
         */
        advertiserUploadDateTime?: string | null;
        /**
         * Version of partner IDs to be used for uploads. Required.
         */
        bridgeMapVersionId?: string | null;
        /**
         * ID of the third party partner updating the transaction feed.
         */
        partnerId?: string | null;
        /**
         * The fraction of valid transactions that are matched to a third party assigned user ID on the partner side. Required. The fraction needs to be between 0 and 1 (excluding 0).
         */
        partnerMatchFraction?: number | null;
        /**
         * The fraction of valid transactions that are uploaded by the partner to Google. Required. The fraction needs to be between 0 and 1 (excluding 0).
         */
        partnerUploadFraction?: number | null;
        /**
         * The fraction of transactions that are valid. Invalid transactions may include invalid formats or values. Required. The fraction needs to be between 0 and 1 (excluding 0).
         */
        validTransactionFraction?: number | null;
    }
    /**
     * A Structured Snippet asset.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__StructuredSnippetAsset {
        /**
         * Required. The header of the snippet. This string should be one of the predefined values at https://developers.google.com/google-ads/api/reference/data/structured-snippet-headers
         */
        header?: string | null;
        /**
         * Required. The values in the snippet. The size of this collection should be between 3 and 10, inclusive. The length of each value should be between 1 and 25 characters, inclusive.
         */
        values?: string[] | null;
    }
    /**
     * Represents an attestation about synthetic content from a single source.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__SyntheticContentAttestation {
        /**
         * The source of the synthetic content attestation.
         */
        source?: string | null;
        /**
         * Indicates whether the content is considered synthetic by this source.
         */
        status?: string | null;
    }
    /**
     * Container for synthetic content attestations from different sources, such as the advertiser and Google systems.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__SyntheticContentInfo {
        /**
         * Input provided by the advertiser.
         */
        advertiserAttestation?: Schema$GoogleAdsSearchads360V23Common__SyntheticContentAttestation;
        /**
         * Output only. Information about synthetic content generated by Google's systems.
         */
        systemAttestation?: Schema$GoogleAdsSearchads360V23Common__SyntheticContentAttestation;
    }
    /**
     * The site tag and event snippet pair for a TrackingCodeType.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__TagSnippet {
        /**
         * The event snippet that works with the site tag to track actions that should be counted as conversions.
         */
        eventSnippet?: string | null;
        /**
         * The site tag that adds visitors to your basic remarketing lists and sets new cookies on your domain.
         */
        globalSiteTag?: string | null;
        /**
         * The format of the web page where the tracking tag and snippet will be installed, for example, HTML.
         */
        pageFormat?: string | null;
        /**
         * The type of the generated tag snippets for tracking conversions.
         */
        type?: string | null;
    }
    /**
     * An automated bid strategy that sets bids to help get as many conversions as possible at the target cost-per-acquisition (CPA) you set.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__TargetCpa {
        /**
         * Maximum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. This should only be set for portfolio bid strategies.
         */
        cpcBidCeilingMicros?: string | null;
        /**
         * Minimum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. This should only be set for portfolio bid strategies.
         */
        cpcBidFloorMicros?: string | null;
        /**
         * Average CPA target. This target should be greater than or equal to minimum billable unit based on the currency for the account.
         */
        targetCpaMicros?: string | null;
    }
    /**
     * Projected metrics for a specific target CPA amount.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__TargetCpaSimulationPoint {
        /**
         * Projected number of app installs.
         */
        appInstalls?: number | null;
        /**
         * Projected number of biddable conversions.
         */
        biddableConversions?: number | null;
        /**
         * Projected total value of biddable conversions.
         */
        biddableConversionsValue?: number | null;
        /**
         * Projected number of clicks.
         */
        clicks?: string | null;
        /**
         * Projected cost in micros.
         */
        costMicros?: string | null;
        /**
         * Projected number of impressions.
         */
        impressions?: string | null;
        /**
         * Projected number of in-app actions.
         */
        inAppActions?: number | null;
        /**
         * Projected number of interactions. Only discovery advertising channel type supports this field.
         */
        interactions?: string | null;
        /**
         * Projected required daily budget that the advertiser must set in order to receive the estimated traffic, in micros of advertiser currency.
         */
        requiredBudgetAmountMicros?: string | null;
        /**
         * The simulated target CPA upon which projected metrics are based.
         */
        targetCpaMicros?: string | null;
        /**
         * The simulated scaling modifier upon which projected metrics are based. All CPA targets relevant to the simulated entity are scaled by this modifier.
         */
        targetCpaScalingModifier?: number | null;
        /**
         * Projected number of top slot impressions. Only search advertising channel type supports this field.
         */
        topSlotImpressions?: string | null;
    }
    /**
     * A container for simulation points for simulations of type TARGET_CPA.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__TargetCpaSimulationPointList {
        /**
         * Projected metrics for a series of target CPA amounts.
         */
        points?: Schema$GoogleAdsSearchads360V23Common__TargetCpaSimulationPoint[];
    }
    /**
     * An automated bidding strategy that sets bids to help get as many clicks as possible at the target cost-per-click (CPC) you set.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__TargetCpc {
        /**
         * Average CPC target. This target should be greater than or equal to minimum billable unit based on the currency for the account.
         */
        targetCpcMicros?: string | null;
    }
    /**
     * Target CPM (cost per thousand impressions) is an automated bidding strategy that sets bids to optimize performance given the target CPM you set.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__TargetCpm {
    }
    /**
     * An automated bidding strategy that sets bids so that a certain percentage of search ads are shown at the top of the first page (or other targeted location).
     */
    export interface Schema$GoogleAdsSearchads360V23Common__TargetImpressionShare {
        /**
         * The highest CPC bid the automated bidding system is permitted to specify. This is a required field entered by the advertiser that sets the ceiling and specified in local micros.
         */
        cpcBidCeilingMicros?: string | null;
        /**
         * The targeted location on the search results page.
         */
        location?: string | null;
        /**
         * The chosen fraction of ads to be shown in the targeted location in micros. For example, 1% equals 10,000.
         */
        locationFractionMicros?: string | null;
    }
    /**
     * Projected metrics for a specific target impression share value.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__TargetImpressionShareSimulationPoint {
        /**
         * Projected number of absolute top impressions. Only search advertising channel type supports this field.
         */
        absoluteTopImpressions?: string | null;
        /**
         * Projected number of biddable conversions.
         */
        biddableConversions?: number | null;
        /**
         * Projected total value of biddable conversions.
         */
        biddableConversionsValue?: number | null;
        /**
         * Projected number of clicks.
         */
        clicks?: string | null;
        /**
         * Projected cost in micros.
         */
        costMicros?: string | null;
        /**
         * Projected number of impressions.
         */
        impressions?: string | null;
        /**
         * Projected required daily budget that the advertiser must set in order to receive the estimated traffic, in micros of advertiser currency.
         */
        requiredBudgetAmountMicros?: string | null;
        /**
         * Projected required daily cpc bid ceiling that the advertiser must set to realize this simulation, in micros of the advertiser currency.
         */
        requiredCpcBidCeilingMicros?: string | null;
        /**
         * The simulated target impression share value (in micros) upon which projected metrics are based. For example, 10% impression share, which is equal to 0.1, is stored as 100_000. This value is validated and will not exceed 1M (100%).
         */
        targetImpressionShareMicros?: string | null;
        /**
         * Projected number of top slot impressions. Only search advertising channel type supports this field.
         */
        topSlotImpressions?: string | null;
    }
    /**
     * A container for simulation points for simulations of type TARGET_IMPRESSION_SHARE.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__TargetImpressionShareSimulationPointList {
        /**
         * Projected metrics for a specific target impression share value.
         */
        points?: Schema$GoogleAdsSearchads360V23Common__TargetImpressionShareSimulationPoint[];
    }
    /**
     * 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
     */
    export interface Schema$GoogleAdsSearchads360V23Common__TargetingSetting {
        /**
         * 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.
         */
        targetRestrictionOperations?: Schema$GoogleAdsSearchads360V23Common__TargetRestrictionOperation[];
        /**
         * The per-targeting-dimension setting to restrict the reach of your campaign or ad group.
         */
        targetRestrictions?: Schema$GoogleAdsSearchads360V23Common__TargetRestriction[];
    }
    /**
     * The list of per-targeting-dimension targeting settings.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__TargetRestriction {
        /**
         * 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.
         */
        bidOnly?: boolean | null;
        /**
         * The targeting dimension that these settings apply to.
         */
        targetingDimension?: string | null;
    }
    /**
     * Operation to be performed on a target restriction list in a mutate.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__TargetRestrictionOperation {
        /**
         * Type of list operation to perform.
         */
        operator?: string | null;
        /**
         * The target restriction being added to or removed from the list.
         */
        value?: Schema$GoogleAdsSearchads360V23Common__TargetRestriction;
    }
    /**
     * An automated bidding strategy that helps you maximize revenue while averaging a specific target return on ad spend (ROAS).
     */
    export interface Schema$GoogleAdsSearchads360V23Common__TargetRoas {
        /**
         * Maximum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. This should only be set for portfolio bid strategies.
         */
        cpcBidCeilingMicros?: string | null;
        /**
         * Minimum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. This should only be set for portfolio bid strategies.
         */
        cpcBidFloorMicros?: string | null;
        /**
         * Required. The chosen revenue (based on conversion data) per unit of spend. Value must be between 0.01 and 1000.0, inclusive.
         */
        targetRoas?: number | null;
        /**
         * The percent of ROAS(return on advertising spend) degradation tolerance allowed to increase traffic diversity and conversion volume, specified in millis (for example, 10,000 = 10%). A value of 10,000 means that the advertiser can expect ROAS degradation of up to 10% of the specified target ROAS. This field is only mutable for portfolio bidding strategies.
         */
        targetRoasTolerancePercentMillis?: string | null;
    }
    /**
     * Projected metrics for a specific target ROAS amount.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__TargetRoasSimulationPoint {
        /**
         * Projected number of biddable conversions.
         */
        biddableConversions?: number | null;
        /**
         * Projected total value of biddable conversions.
         */
        biddableConversionsValue?: number | null;
        /**
         * Projected number of clicks.
         */
        clicks?: string | null;
        /**
         * Projected cost in micros.
         */
        costMicros?: string | null;
        /**
         * Projected number of impressions.
         */
        impressions?: string | null;
        /**
         * Projected required daily budget that the advertiser must set in order to receive the estimated traffic, in micros of advertiser currency.
         */
        requiredBudgetAmountMicros?: string | null;
        /**
         * The simulated target ROAS upon which projected metrics are based.
         */
        targetRoas?: number | null;
        /**
         * Projected number of top slot impressions. Only Search advertising channel type supports this field.
         */
        topSlotImpressions?: string | null;
    }
    /**
     * A container for simulation points for simulations of type TARGET_ROAS.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__TargetRoasSimulationPointList {
        /**
         * Projected metrics for a series of target ROAS amounts.
         */
        points?: Schema$GoogleAdsSearchads360V23Common__TargetRoasSimulationPoint[];
    }
    /**
     * An automated bid strategy that sets your bids to help get as many clicks as possible within your budget.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__TargetSpend {
        /**
         * Maximum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy.
         */
        cpcBidCeilingMicros?: string | null;
        /**
         * Deprecated: The spend target under which to maximize clicks. A TargetSpend bidder will attempt to spend the smaller of this value or the natural throttling spend amount. If not specified, the budget is used as the spend target. This field is deprecated and should no longer be used. See https://ads-developers.googleblog.com/2020/05/reminder-about-sunset-creation-of.html for details.
         */
        targetSpendMicros?: string | null;
    }
    /**
     * A text ad.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__TextAdInfo {
        /**
         * The first line of the ad's description.
         */
        description1?: string | null;
        /**
         * The second line of the ad's description.
         */
        description2?: string | null;
        /**
         * The headline of the ad.
         */
        headline?: string | null;
    }
    /**
     * A Text asset.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__TextAsset {
        /**
         * Text content of the text asset.
         */
        text?: string | null;
    }
    /**
     * A type of label displaying text on a colored background.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__TextLabel {
        /**
         * Background color of the label in HEX format. This string must match the regular expression '^\#([a-fA-F0-9]{6\}|[a-fA-F0-9]{3\})$'. Note: The background color may not be visible for manager accounts.
         */
        backgroundColor?: string | null;
        /**
         * A short description of the label. The length must be no more than 200 characters.
         */
        description?: string | null;
    }
    /**
     * Contains third party measurement partner related data for video campaigns.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__ThirdPartyIntegrationPartnerData {
        /**
         * The client ID that allows the measurement partner to join multiple campaigns for a particular advertiser.
         */
        clientId?: string | null;
        /**
         * The third party placement ID that maps the measurement partner data with a campaign (or a group of related campaigns) specific data.
         */
        thirdPartyPlacementId?: string | null;
    }
    /**
     * A topic criterion. Use topics to target or exclude placements in the Google Display Network based on the category into which the placement falls (for example, "Pets & Animals/Pets/Dogs").
     */
    export interface Schema$GoogleAdsSearchads360V23Common__TopicInfo {
        /**
         * The category to target or exclude. Each subsequent element in the array describes a more specific sub-category. For example, "Pets & Animals", "Pets", "Dogs" represents the "Pets & Animals/Pets/Dogs" category.
         */
        path?: string[] | null;
        /**
         * The Topic Constant resource name.
         */
        topicConstant?: string | null;
    }
    /**
     * Attribute of the store sales transaction.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__TransactionAttribute {
        /**
         * The resource name of conversion action to report conversions to. Required.
         */
        conversionAction?: string | null;
        /**
         * Transaction currency code. ISO 4217 three-letter code is used. Required.
         */
        currencyCode?: string | null;
        /**
         * Value of the custom variable for each transaction. Allowed only if a custom key is provided in the store sales metadata.
         */
        customValue?: string | null;
        /**
         * Item attributes of the transaction. Accessible only to customers on the allow-list.
         */
        itemAttribute?: Schema$GoogleAdsSearchads360V23Common__ItemAttribute;
        /**
         * Transaction order id. Useful to group transactions which are part of the same order.
         */
        orderId?: string | null;
        /**
         * Store attributes of the transaction.
         */
        storeAttribute?: Schema$GoogleAdsSearchads360V23Common__StoreAttribute;
        /**
         * Transaction amount in micros. Required. Transaction amount in micros needs to be greater than 1000. If item Attributes are provided, it represents the total value of the items, after multiplying the unit price per item by the quantity provided in the ItemAttributes.
         */
        transactionAmountMicros?: number | null;
        /**
         * Timestamp when transaction occurred. Required. The format is "YYYY-MM-DD HH:MM:SS[+/-HH:MM]", where [+/-HH:MM] is an optional timezone offset from UTC. If the offset is absent, the API will use the account's timezone as default. Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30+03:00"
         */
        transactionDateTime?: string | null;
    }
    /**
     * A travel ad.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__TravelAdInfo {
    }
    /**
     * A unified call asset.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__UnifiedCallAsset {
        /**
         * List of non-overlapping schedules specifying all time intervals for which the asset may serve. There can be a maximum of 6 schedules per day, 42 in total.
         */
        adScheduleTargets?: Schema$GoogleAdsSearchads360V23Common__AdScheduleInfo[];
        /**
         * The conversion action to attribute a call conversion to. If not set, the default conversion action is used. This field only has effect if call_conversion_reporting_state is set to USE_RESOURCE_LEVEL_CALL_CONVERSION_ACTION.
         */
        callConversionAction?: string | null;
        /**
         * Output only. Indicates whether this CallAsset should use its own call conversion setting, follow the account level setting, or disable call conversion.
         */
        callConversionReportingState?: string | null;
        /**
         * Whether the call only shows the phone number without a link to the website. Applies to Microsoft Ads.
         */
        callOnly?: boolean | null;
        /**
         * Whether the call should be enabled on call tracking. Applies to Microsoft Ads.
         */
        callTrackingEnabled?: boolean | null;
        /**
         * Two-letter country code of the phone number. Examples: 'US', 'us'.
         */
        countryCode?: string | null;
        /**
         * Last date of when this asset is effective and still serving, in yyyy-MM-dd format.
         */
        endDate?: string | null;
        /**
         * The advertiser's raw phone number. Examples: '1234567890', '(123)456-7890'
         */
        phoneNumber?: string | null;
        /**
         * Start date of when this asset is effective and can begin serving, in yyyy-MM-dd format.
         */
        startDate?: string | null;
        /**
         * Whether to show the call extension in search user's time zone. Applies to Microsoft Ads.
         */
        useSearcherTimeZone?: boolean | null;
    }
    /**
     * A unified callout asset.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__UnifiedCalloutAsset {
        /**
         * List of non-overlapping schedules specifying all time intervals for which the asset may serve. There can be a maximum of 6 schedules per day, 42 in total.
         */
        adScheduleTargets?: Schema$GoogleAdsSearchads360V23Common__AdScheduleInfo[];
        /**
         * The callout text. The length of this string should be between 1 and 25, inclusive.
         */
        calloutText?: string | null;
        /**
         * Last date of when this asset is effective and still serving, in yyyy-MM-dd format.
         */
        endDate?: string | null;
        /**
         * Start date of when this asset is effective and can begin serving, in yyyy-MM-dd format.
         */
        startDate?: string | null;
        /**
         * Whether to show the asset in search user's time zone. Applies to Microsoft Ads.
         */
        useSearcherTimeZone?: boolean | null;
    }
    /**
     * A unified location asset.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__UnifiedLocationAsset {
        /**
         * The list of business locations for the customer. This will only be returned if the Location Asset is syncing from the Business Profile account. It is possible to have multiple Business Profile listings under the same account that point to the same Place ID.
         */
        businessProfileLocations?: Schema$GoogleAdsSearchads360V23Common__BusinessProfileLocation[];
        /**
         * The type of location ownership. If the type is BUSINESS_OWNER, it will be served as a location extension. If the type is AFFILIATE, it will be served as an affiliate location.
         */
        locationOwnershipType?: string | null;
        /**
         * Place IDs uniquely identify a place in the Google Places database and on Google Maps. This field is unique for a given customer ID and asset type. See https://developers.google.com/places/web-service/place-id to learn more about Place ID.
         */
        placeId?: string | null;
    }
    /**
     * A Unified Page Feed asset.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__UnifiedPageFeedAsset {
        /**
         * Labels used to group the page urls.
         */
        labels?: string[] | null;
        /**
         * The webpage that advertisers want to target.
         */
        pageUrl?: string | null;
    }
    /**
     * A unified sitelink asset.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__UnifiedSitelinkAsset {
        /**
         * List of non-overlapping schedules specifying all time intervals for which the asset may serve. There can be a maximum of 6 schedules per day, 42 in total.
         */
        adScheduleTargets?: Schema$GoogleAdsSearchads360V23Common__AdScheduleInfo[];
        /**
         * First line of the description for the sitelink. If set, the length should be between 1 and 35, inclusive, and description2 must also be set.
         */
        description1?: string | null;
        /**
         * Second line of the description for the sitelink. If set, the length should be between 1 and 35, inclusive, and description1 must also be set.
         */
        description2?: string | null;
        /**
         * Last date of when this asset is effective and still serving, in yyyy-MM-dd format.
         */
        endDate?: string | null;
        /**
         * URL display text for the sitelink. The length of this string should be between 1 and 25, inclusive.
         */
        linkText?: string | null;
        /**
         * Whether the preference is for the sitelink asset to be displayed on mobile devices. Applies to Microsoft Ads.
         */
        mobilePreferred?: boolean | null;
        /**
         * Start date of when this asset is effective and can begin serving, in yyyy-MM-dd format.
         */
        startDate?: string | null;
        /**
         * ID used for tracking clicks for the sitelink asset. This is a Yahoo! Japan only field.
         */
        trackingId?: string | null;
        /**
         * Whether to show the sitelink asset in search user's time zone. Applies to Microsoft Ads.
         */
        useSearcherTimeZone?: boolean | null;
    }
    /**
     * Unknown listing dimension.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__UnknownListingDimensionInfo {
    }
    /**
     * Collection of urls that is tagged with a unique identifier.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__UrlCollection {
        /**
         * A list of possible final mobile URLs.
         */
        finalMobileUrls?: string[] | null;
        /**
         * A list of possible final URLs.
         */
        finalUrls?: string[] | null;
        /**
         * URL template for constructing a tracking URL.
         */
        trackingUrlTemplate?: string | null;
        /**
         * Unique identifier for this UrlCollection instance.
         */
        urlCollectionId?: string | null;
    }
    /**
     * User attribute, can only be used with CUSTOMER_MATCH_WITH_ATTRIBUTES job type.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__UserAttribute {
        /**
         * Timestamp when the user was acquired. The format is YYYY-MM-DD HH:MM:SS[+/-HH:MM], where [+/-HH:MM] is an optional timezone offset from UTC. If the offset is absent, the API will use the account's timezone as default.
         */
        acquisitionDateTime?: string | null;
        /**
         * Advertiser defined average number of purchases that are made by the user in a 30 day period.
         */
        averagePurchaseCount?: number | null;
        /**
         * Advertiser defined average purchase value in micros for the user.
         */
        averagePurchaseValueMicros?: string | null;
        /**
         * Optional. Advertiser defined events and their attributes. All the values in the nested fields are required. Currently this field is in beta.
         */
        eventAttribute?: Schema$GoogleAdsSearchads360V23Common__EventAttribute[];
        /**
         * Optional. Timestamp of the first purchase made by the user. The format is YYYY-MM-DD HH:MM:SS[+/-HH:MM], where [+/-HH:MM] is an optional timezone offset from UTC. If the offset is absent, the API will use the account's timezone as default.
         */
        firstPurchaseDateTime?: string | null;
        /**
         * Timestamp of the last purchase made by the user. The format is YYYY-MM-DD HH:MM:SS[+/-HH:MM], where [+/-HH:MM] is an optional timezone offset from UTC. If the offset is absent, the API will use the account's timezone as default.
         */
        lastPurchaseDateTime?: string | null;
        /**
         * Optional. Advertiser defined lifecycle stage for the user. The accepted values are "Lead", "Active" and "Churned".
         */
        lifecycleStage?: string | null;
        /**
         * Advertiser defined lifetime value bucket for the user. The valid range for a lifetime value bucket is from 1 (low) to 10 (high), except for remove operation where 0 will also be accepted.
         */
        lifetimeValueBucket?: number | null;
        /**
         * Advertiser defined lifetime value for the user.
         */
        lifetimeValueMicros?: string | null;
        /**
         * The shopping loyalty related data. Shopping utilizes this data to provide users with a better experience. Accessible only to merchants on the allow-list with the user's consent.
         */
        shoppingLoyalty?: Schema$GoogleAdsSearchads360V23Common__ShoppingLoyalty;
    }
    /**
     * User data holding user identifiers and attributes.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__UserData {
        /**
         * The consent setting for the user. If set, will override the job level consent for this user.
         */
        consent?: Schema$GoogleAdsSearchads360V23Common__Consent;
        /**
         * Additional transactions/attributes associated with the user. Required when updating store sales data.
         */
        transactionAttribute?: Schema$GoogleAdsSearchads360V23Common__TransactionAttribute;
        /**
         * Additional attributes associated with the user. Required when updating customer match attributes. These have an expiration of 540 days.
         */
        userAttribute?: Schema$GoogleAdsSearchads360V23Common__UserAttribute;
        /**
         * User identification info.
         */
        userIdentifiers?: Schema$GoogleAdsSearchads360V23Common__UserIdentifier[];
    }
    /**
     * identifying information.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__UserIdentifier {
        /**
         * Address information.
         */
        addressInfo?: Schema$GoogleAdsSearchads360V23Common__OfflineUserAddressInfo;
        /**
         * Hashed email address using SHA-256 hash function after normalization.
         */
        hashedEmail?: string | null;
        /**
         * Hashed phone number using SHA-256 hash function after normalization (E164 standard).
         */
        hashedPhoneNumber?: string | null;
        /**
         * Mobile device ID (advertising ID/IDFA).
         */
        mobileId?: string | null;
        /**
         * Advertiser-assigned user ID for Customer Match upload, or third-party-assigned user ID for
         */
        thirdPartyUserId?: string | null;
        /**
         * Source of the user identifier when the upload is from Store Sales
         */
        userIdentifierSource?: string | null;
    }
    /**
     * Metadata associated with a User Interest attribute.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__UserInterestAttributeMetadata {
        /**
         * English language text description of the user interest category (200 characters max).
         */
        userInterestDescription?: string | null;
    }
    /**
     * Represents a particular interest-based topic to be targeted.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__UserInterestInfo {
        /**
         * The UserInterest resource name.
         */
        userInterestCategory?: string | null;
    }
    /**
     * User interest segment.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__UserInterestSegment {
        /**
         * The user interest resource.
         */
        userInterestCategory?: string | null;
    }
    /**
     * Represents an action type used for building remarketing user lists.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__UserListActionInfo {
        /**
         * A conversion action that's not generated from remarketing.
         */
        conversionAction?: string | null;
        /**
         * A remarketing action.
         */
        remarketingAction?: string | null;
    }
    /**
     * Metadata associated with a User List attribute.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__UserListAttributeMetadata {
        /**
         * The user list type.
         */
        userListType?: string | null;
    }
    /**
     * A rule item composed of a date operation.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__UserListDateRuleItemInfo {
        /**
         * The relative date value of the right hand side denoted by number of days offset from now. The value field will override this field when both are present.
         */
        offsetInDays?: string | null;
        /**
         * Date comparison operator. This field is required and must be populated when creating new date rule item.
         */
        operator?: string | null;
        /**
         * String representing date value to be compared with the rule variable. Supported date format is YYYY-MM-DD. Times are reported in the customer's time zone.
         */
        value?: string | null;
    }
    /**
     * A User List criterion. Represents a user list that is defined by the advertiser to be targeted.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__UserListInfo {
        /**
         * The User List resource name.
         */
        userList?: string | null;
    }
    /**
     * A user list logical rule. A rule has a logical operator (and/or/not) and a list of user lists as operands.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__UserListLogicalRuleInfo {
        /**
         * The logical operator of the rule.
         */
        operator?: string | null;
        /**
         * The list of operands of the rule.
         */
        ruleOperands?: Schema$GoogleAdsSearchads360V23Common__LogicalUserListOperandInfo[];
    }
    /**
     * A rule item composed of a number operation.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__UserListNumberRuleItemInfo {
        /**
         * Number comparison operator. This field is required and must be populated when creating a new number rule item.
         */
        operator?: string | null;
        /**
         * Number value to be compared with the variable. This field is required and must be populated when creating a new number rule item.
         */
        value?: number | null;
    }
    /**
     * A client defined rule based on custom parameters sent by web sites or uploaded by the advertiser.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__UserListRuleInfo {
        /**
         * List of rule item groups that defines this rule. Rule item groups are grouped together based on rule_type.
         */
        ruleItemGroups?: Schema$GoogleAdsSearchads360V23Common__UserListRuleItemGroupInfo[];
        /**
         * Rule type is used to determine how to group rule items. The default is OR of ANDs (disjunctive normal form). That is, rule items will be ANDed together within rule item groups and the groups themselves will be ORed together. OR of ANDs is the only supported type for FlexibleRuleUserList.
         */
        ruleType?: string | null;
    }
    /**
     * A group of rule items.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__UserListRuleItemGroupInfo {
        /**
         * Rule items that will be grouped together based on rule_type.
         */
        ruleItems?: Schema$GoogleAdsSearchads360V23Common__UserListRuleItemInfo[];
    }
    /**
     * An atomic rule item.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__UserListRuleItemInfo {
        /**
         * An atomic rule item composed of a date operation.
         */
        dateRuleItem?: Schema$GoogleAdsSearchads360V23Common__UserListDateRuleItemInfo;
        /**
         * Rule variable name. It should match the corresponding key name fired by the pixel. A name must begin with US-ascii letters or underscore or UTF8 code that is greater than 127 and consist of US-ascii letters or digits or underscore or UTF8 code that is greater than 127. For websites, there are two built-in variable URL (name = 'url__') and referrer URL (name = 'ref_url__'). This field must be populated when creating a new rule item.
         */
        name?: string | null;
        /**
         * An atomic rule item composed of a number operation.
         */
        numberRuleItem?: Schema$GoogleAdsSearchads360V23Common__UserListNumberRuleItemInfo;
        /**
         * An atomic rule item composed of a string operation.
         */
        stringRuleItem?: Schema$GoogleAdsSearchads360V23Common__UserListStringRuleItemInfo;
    }
    /**
     * User list segment.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__UserListSegment {
        /**
         * The user list resource.
         */
        userList?: string | null;
    }
    /**
     * A rule item composed of a string operation.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__UserListStringRuleItemInfo {
        /**
         * String comparison operator. This field is required and must be populated when creating a new string rule item.
         */
        operator?: string | null;
        /**
         * The right hand side of the string rule item. For URLs or referrer URLs, the value can not contain illegal URL chars such as newlines, quotes, tabs, or parentheses. This field is required and must be populated when creating a new string rule item.
         */
        value?: string | null;
    }
    /**
     * A generic data container.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__Value {
        /**
         * A boolean.
         */
        booleanValue?: boolean | null;
        /**
         * A double.
         */
        doubleValue?: number | null;
        /**
         * A float.
         */
        floatValue?: number | null;
        /**
         * An int64.
         */
        int64Value?: string | null;
        /**
         * A string.
         */
        stringValue?: string | null;
    }
    /**
     * A criterion to represent a single item group rule in Vertical Ads.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__VerticalAdsItemGroupRuleInfo {
        /**
         * The resource name of the Geo Target Constant for the city.
         */
        cityCriterionId?: string | null;
        /**
         * The resource name of the Geo Target Constant for the country.
         */
        countryCriterionId?: string | null;
        /**
         * Integer value specifying the class rating for a hotel. Ranges from 1 to 5 stars.
         */
        hotelClass?: string | null;
        /**
         * The id specifying a particular Vertical Ad listing.
         */
        itemCode?: string | null;
        /**
         * The resource name of the Geo Target Constant for the region.
         */
        regionCriterionId?: string | null;
    }
    /**
     * A criterion for targeting a shared set of rules for item groups in Vertical Ads (e.g., for hotel ads).
     */
    export interface Schema$GoogleAdsSearchads360V23Common__VerticalAdsItemGroupRuleListInfo {
        /**
         * The shared set resource name of the vertical ads item group rule list.
         */
        sharedSet?: string | null;
    }
    /**
     * A Video lineup criterion.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__VideoLineupInfo {
        /**
         * ID for a Video lineup. Contact your Google business development representative for details.
         */
        videoLineupId?: string | null;
    }
    /**
     * Google notifies the advertiser of leads by making HTTP calls to an endpoint they specify. The requests contain JSON matching a schema that Google publishes as part of form ads documentation.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__WebhookDelivery {
        /**
         * Webhook url specified by advertiser to send the lead.
         */
        advertiserWebhookUrl?: string | null;
        /**
         * Anti-spoofing secret set by the advertiser as part of the webhook payload.
         */
        googleSecret?: string | null;
        /**
         * The schema version that this delivery instance will use.
         */
        payloadSchemaVersion?: string | null;
    }
    /**
     * Logical expression for targeting webpages of an advertiser's website.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__WebpageConditionInfo {
        /**
         * Argument of webpage targeting condition.
         */
        argument?: string | null;
        /**
         * Operand of webpage targeting condition.
         */
        operand?: string | null;
        /**
         * Operator of webpage targeting condition.
         */
        operator?: string | null;
    }
    /**
     * Represents a criterion for targeting webpages of an advertiser's website.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__WebpageInfo {
        /**
         * Conditions, or logical expressions, for webpage targeting. The list of webpage targeting conditions are and-ed together when evaluated for targeting. An empty list of conditions indicates all pages of the campaign's website are targeted. This field is required for CREATE operations and is prohibited on UPDATE operations.
         */
        conditions?: Schema$GoogleAdsSearchads360V23Common__WebpageConditionInfo[];
        /**
         * Website criteria coverage percentage. This is the computed percentage of website coverage based on the website target, negative website target and negative keywords in the ad group and campaign. For instance, when coverage returns as 1, it indicates it has 100% coverage. This field is read-only.
         */
        coveragePercentage?: number | null;
        /**
         * The name of the criterion that is defined by this parameter. The name value will be used for identifying, sorting and filtering criteria with this type of parameters. This field is required for CREATE operations and is prohibited on UPDATE operations.
         */
        criterionName?: string | null;
        /**
         * List of sample urls that match the website target. This field is read-only.
         */
        sample?: Schema$GoogleAdsSearchads360V23Common__WebpageSampleInfo;
    }
    /**
     * Represents a list of webpage criteria.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__WebpageListInfo {
        /**
         * Shared set resource name of the webpage list.
         */
        sharedSet?: string | null;
    }
    /**
     * List of sample urls that match the website target
     */
    export interface Schema$GoogleAdsSearchads360V23Common__WebpageSampleInfo {
        /**
         * Webpage sample urls
         */
        sampleUrls?: string[] | null;
    }
    /**
     * Whatsapp information to use for messaging.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__WhatsappBusinessMessageInfo {
        /**
         * Required. Two-letter country code of the phone number. Examples: 'US', 'us'.
         */
        countryCode?: string | null;
        /**
         * Required. Whatsapp phone number of the business. Examples: '1234567890', '(123)456-7890'.
         */
        phoneNumber?: string | null;
    }
    /**
     * Year month.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__YearMonth {
        /**
         * The month of the year. (for example, FEBRUARY).
         */
        month?: string | null;
        /**
         * The year (for example, 2020).
         */
        year?: string | null;
    }
    /**
     * The year month range inclusive of the start and end months. Eg: A year month range to represent Jan 2020 would be: (Jan 2020, Jan 2020).
     */
    export interface Schema$GoogleAdsSearchads360V23Common__YearMonthRange {
        /**
         * The inclusive end year month.
         */
        end?: Schema$GoogleAdsSearchads360V23Common__YearMonth;
        /**
         * The inclusive start year month.
         */
        start?: Schema$GoogleAdsSearchads360V23Common__YearMonth;
    }
    /**
     * Metadata associated with a YouTube channel attribute.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__YouTubeChannelAttributeMetadata {
        /**
         * The approximate number of subscribers to the YouTube channel.
         */
        subscriberCount?: string | null;
    }
    /**
     * A YouTube Channel criterion.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__YouTubeChannelInfo {
        /**
         * The YouTube uploader channel id or the channel code of a YouTube channel.
         */
        channelId?: string | null;
    }
    /**
     * A YouTube asset.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__YoutubeVideoAsset {
        /**
         * YouTube video id. This is the 11 character string value used in the YouTube video URL.
         */
        youtubeVideoId?: string | null;
        /**
         * YouTube video title.
         */
        youtubeVideoTitle?: string | null;
    }
    /**
     * Metadata for a YouTube video attribute.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__YouTubeVideoAttributeMetadata {
        /**
         * The total number of comments.
         */
        commentsCount?: string | null;
        /**
         * The total number of likes.
         */
        likesCount?: string | null;
        /**
         * The date that the video was created. Formatted as "yyyy-mm-dd".
         */
        publishDate?: string | null;
        /**
         * The URL of the video thumbnail, prefixed by "https://img.youtube.com/".
         */
        thumbnailUrl?: string | null;
        /**
         * The properties of this video (such as shorts, live stream).
         */
        videoProperties?: string[] | null;
        /**
         * The URL of the video, prefixed by "https://www.youtube.com/".
         */
        videoUrl?: string | null;
        /**
         * The total number of views.
         */
        viewsCount?: string | null;
    }
    /**
     * A YouTube Video criterion.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__YouTubeVideoInfo {
        /**
         * YouTube video id as it appears on the YouTube watch page.
         */
        videoId?: string | null;
    }
    /**
     * Zalo information to use for messaging.
     */
    export interface Schema$GoogleAdsSearchads360V23Common__ZaloBusinessMessageInfo {
        /**
         * Custom name generated by the advertiser for their Zalo Account. These names will usually be registered brands or trademarks.
         */
        customName?: string | null;
        /**
         * Zalo Official Account ID of the advertiser.
         */
        oaId?: string | null;
    }
    /**
     * A part of a field path.
     */
    export interface Schema$GoogleAdsSearchads360V23Errors_ErrorLocation_FieldPathElement {
        /**
         * The name of a field or a oneof
         */
        fieldName?: string | null;
        /**
         * If field_name is a repeated field, this is the element that failed
         */
        index?: number | null;
    }
    /**
     * Error details for a budget below per-day minimum error.
     */
    export interface Schema$GoogleAdsSearchads360V23Errors__BudgetPerDayMinimumErrorDetails {
        /**
         * The minimum budget required by the campaign per day, in micros of the advertiser currency. Applies to both daily and custom budgets.
         */
        budgetPerDayMinimumMicros?: string | null;
        /**
         * The advertiser's currency, represented as a three-letter ISO 4217 currency code (such as "USD").
         */
        currencyCode?: string | null;
        /**
         * The budget amount value that was rejected as too low, in micros of the advertiser currency. Only set if this error is caused by the amount field value.
         */
        failedBudgetAmountMicros?: string | null;
        /**
         * The budget total_amount value that was rejected as too low, in micros of the advertiser currency. Only set if this error is caused by the total_amount field value.
         */
        failedBudgetTotalAmountMicros?: string | null;
        /**
         * The minimum value for the budget's amount field required by the campaign, in micros of the advertiser currency. Only set if this error is caused by the amount field value.
         */
        minimumBudgetAmountMicros?: string | null;
        /**
         * The minimum value for the budget's total_amount field required by the campaign given its configured start and end time, in micros of the advertiser currency. Only set if this error is caused by the total_amount field value.
         */
        minimumBudgetTotalAmountMicros?: string | null;
    }
    /**
     * The error reason represented by type and enum.
     */
    export interface Schema$GoogleAdsSearchads360V23Errors__ErrorCode {
        /**
         * The reasons for the access invitation error
         */
        accessInvitationError?: string | null;
        /**
         * The reasons for account budget proposal errors.
         */
        accountBudgetProposalError?: string | null;
        /**
         * The reasons for the account link status change error
         */
        accountLinkError?: string | null;
        /**
         * The reasons for the ad customizer error
         */
        adCustomizerError?: string | null;
        /**
         * An error with an Ad Group Ad mutate.
         */
        adError?: string | null;
        /**
         * The reasons for the ad group ad error
         */
        adGroupAdError?: string | null;
        /**
         * The reasons for the ad group bid modifier error
         */
        adGroupBidModifierError?: string | null;
        /**
         * The reasons for the ad group criterion customizer error.
         */
        adGroupCriterionCustomizerError?: string | null;
        /**
         * Indicates failure to properly authenticate user.
         */
        adGroupCriterionError?: string | null;
        /**
         * The reasons for the ad group customizer error.
         */
        adGroupCustomizerError?: string | null;
        /**
         * An error with an Ad Group mutate.
         */
        adGroupError?: string | null;
        /**
         * The reasons for the ad group feed error
         */
        adGroupFeedError?: string | null;
        /**
         * The reasons for the ad parameter error
         */
        adParameterError?: string | null;
        /**
         * The reasons for the ad sharing error
         */
        adSharingError?: string | null;
        /**
         * The reasons for the adx error
         */
        adxError?: string | null;
        /**
         * The reasons for the asset error
         */
        assetError?: string | null;
        /**
         * The reasons for the GenAI asset generation error.
         */
        assetGenerationError?: string | null;
        /**
         * The reasons for the asset group asset error
         */
        assetGroupAssetError?: string | null;
        /**
         * The reasons for the asset group error
         */
        assetGroupError?: string | null;
        /**
         * The reasons for the asset group listing group filter error
         */
        assetGroupListingGroupFilterError?: string | null;
        /**
         * The reasons for the asset group hint error
         */
        assetGroupSignalError?: string | null;
        /**
         * The reasons for the asset link error
         */
        assetLinkError?: string | null;
        /**
         * The reasons for the asset set asset error
         */
        assetSetAssetError?: string | null;
        /**
         * The reasons for the asset set error
         */
        assetSetError?: string | null;
        /**
         * The reasons for the asset set link error
         */
        assetSetLinkError?: string | null;
        /**
         * The reasons for the audience error
         */
        audienceError?: string | null;
        /**
         * The reasons for the Audience Insights error
         */
        audienceInsightsError?: string | null;
        /**
         * Indicates failure to properly authenticate user.
         */
        authenticationError?: string | null;
        /**
         * An error encountered when trying to authorize a user.
         */
        authorizationError?: string | null;
        /**
         * The reasons for error in automatically created asset removal action.
         */
        automaticallyCreatedAssetRemovalError?: string | null;
        /**
         * The reasons for the batch job error
         */
        batchJobError?: string | null;
        /**
         * The reasons for the Benchmarks error.
         */
        benchmarksError?: string | null;
        /**
         * The reasons for the bidding errors
         */
        biddingError?: string | null;
        /**
         * An error with a Bidding Strategy mutate.
         */
        biddingStrategyError?: string | null;
        /**
         * The reasons for the billing setup error
         */
        billingSetupError?: string | null;
        /**
         * The reasons for the brand guidelines migration error.
         */
        brandGuidelinesMigrationError?: string | null;
        /**
         * An error with a Campaign Budget mutate.
         */
        campaignBudgetError?: string | null;
        /**
         * The reasons for the campaign conversion goal error
         */
        campaignConversionGoalError?: string | null;
        /**
         * The reasons for the campaign criterion error
         */
        campaignCriterionError?: string | null;
        /**
         * The reasons for the campaign customizer error.
         */
        campaignCustomizerError?: string | null;
        /**
         * The reasons for the campaign draft error
         */
        campaignDraftError?: string | null;
        /**
         * An error with a Campaign mutate.
         */
        campaignError?: string | null;
        /**
         * The reasons for the campaign experiment error
         */
        campaignExperimentError?: string | null;
        /**
         * The reasons for the campaign feed error
         */
        campaignFeedError?: string | null;
        /**
         * The reasons for the campaign goal config error.
         */
        campaignGoalConfigError?: string | null;
        /**
         * The reasons for the campaign lifecycle goal error
         */
        campaignLifecycleGoalError?: string | null;
        /**
         * The reasons for the campaign shared set error
         */
        campaignSharedSetError?: string | null;
        /**
         * The reasons for the change event error
         */
        changeEventError?: string | null;
        /**
         * The reasons for the change status error
         */
        changeStatusError?: string | null;
        /**
         * The reasons for the click view error
         */
        clickViewError?: string | null;
        /**
         * The reasons for the collection size error
         */
        collectionSizeError?: string | null;
        /**
         * The reasons for the context error
         */
        contextError?: string | null;
        /**
         * The reasons for the conversion action error
         */
        conversionActionError?: string | null;
        /**
         * The reasons for the conversion adjustment upload error
         */
        conversionAdjustmentUploadError?: string | null;
        /**
         * The reasons for the conversion custom variable error
         */
        conversionCustomVariableError?: string | null;
        /**
         * The reasons for the conversion goal campaign config error
         */
        conversionGoalCampaignConfigError?: string | null;
        /**
         * The reasons for the conversion upload error
         */
        conversionUploadError?: string | null;
        /**
         * The reasons for the conversion value rule error
         */
        conversionValueRuleError?: string | null;
        /**
         * The reasons for the conversion value rule set error
         */
        conversionValueRuleSetError?: string | null;
        /**
         * The reasons for the country code error
         */
        countryCodeError?: string | null;
        /**
         * The reasons for the criterion error
         */
        criterionError?: string | null;
        /**
         * The reasons for the currency code error
         */
        currencyCodeError?: string | null;
        /**
         * The reasons for the currency errors.
         */
        currencyError?: string | null;
        /**
         * The reasons for the custom audience error
         */
        customAudienceError?: string | null;
        /**
         * The reasons for the custom column error
         */
        customColumnError?: string | null;
        /**
         * The reasons for the custom conversion goal error
         */
        customConversionGoalError?: string | null;
        /**
         * The reasons for the customer client link error
         */
        customerClientLinkError?: string | null;
        /**
         * The reasons for the customer customizer error.
         */
        customerCustomizerError?: string | null;
        /**
         * The reasons for the customer error
         */
        customerError?: string | null;
        /**
         * The reasons for the customer feed error
         */
        customerFeedError?: string | null;
        /**
         * The reasons for the customer lifecycle goal error
         */
        customerLifecycleGoalError?: string | null;
        /**
         * The reasons for the customer manager link error
         */
        customerManagerLinkError?: string | null;
        /**
         * The reasons for the customer SK Ad network conversion value schema error
         */
        customerSkAdNetworkConversionValueSchemaError?: string | null;
        /**
         * The reasons for the customer user access mutate error
         */
        customerUserAccessError?: string | null;
        /**
         * The reasons for the custom interest error
         */
        customInterestError?: string | null;
        /**
         * The reasons for the customizer attribute error.
         */
        customizerAttributeError?: string | null;
        /**
         * The reasons for the database error.
         */
        databaseError?: string | null;
        /**
         * The reasons for the data link error
         */
        dataLinkError?: string | null;
        /**
         * The reasons for the date error
         */
        dateError?: string | null;
        /**
         * The reasons for the date range error
         */
        dateRangeError?: string | null;
        /**
         * The reasons for the distinct error
         */
        distinctError?: string | null;
        /**
         * The reason for enum error.
         */
        enumError?: string | null;
        /**
         * The reasons for the experiment arm error
         */
        experimentArmError?: string | null;
        /**
         * The reasons for the experiment error
         */
        experimentError?: string | null;
        /**
         * The reasons for the extension feed item error
         */
        extensionFeedItemError?: string | null;
        /**
         * The reasons for the extension setting error
         */
        extensionSettingError?: string | null;
        /**
         * The reasons for the feed attribute reference error
         */
        feedAttributeReferenceError?: string | null;
        /**
         * The reasons for the feed error
         */
        feedError?: string | null;
        /**
         * The reasons for the feed item error
         */
        feedItemError?: string | null;
        /**
         * The reasons for the feed item set error
         */
        feedItemSetError?: string | null;
        /**
         * The reasons for the feed item set link error
         */
        feedItemSetLinkError?: string | null;
        /**
         * The reasons for the feed item target error
         */
        feedItemTargetError?: string | null;
        /**
         * The reasons for the feed item validation error
         */
        feedItemValidationError?: string | null;
        /**
         * The reasons for the feed mapping error
         */
        feedMappingError?: string | null;
        /**
         * The reasons for the field error
         */
        fieldError?: string | null;
        /**
         * An error with a field mask
         */
        fieldMaskError?: string | null;
        /**
         * The reasons for the final url expansion asset view error
         */
        finalUrlExpansionAssetViewError?: string | null;
        /**
         * The reasons for the function error
         */
        functionError?: string | null;
        /**
         * The reasons for the function parsing error
         */
        functionParsingError?: string | null;
        /**
         * The reasons for the geo target constant suggestion error.
         */
        geoTargetConstantSuggestionError?: string | null;
        /**
         * The reasons for the goal error.
         */
        goalError?: string | null;
        /**
         * The reasons for the header error.
         */
        headerError?: string | null;
        /**
         * The reasons for an identity verification error.
         */
        identityVerificationError?: string | null;
        /**
         * The reasons for the id error
         */
        idError?: string | null;
        /**
         * The reasons for the image error
         */
        imageError?: string | null;
        /**
         * The reasons for the incentive error
         */
        incentiveError?: string | null;
        /**
         * An unexpected server-side error.
         */
        internalError?: string | null;
        /**
         * The reasons for invalid parameter errors.
         */
        invalidParameterError?: string | null;
        /**
         * The reasons for the invoice error
         */
        invoiceError?: string | null;
        /**
         * The reason for keyword plan ad group error.
         */
        keywordPlanAdGroupError?: string | null;
        /**
         * The reason for keyword plan ad group keyword error.
         */
        keywordPlanAdGroupKeywordError?: string | null;
        /**
         * The reason for keyword plan campaign error.
         */
        keywordPlanCampaignError?: string | null;
        /**
         * The reason for keyword plan campaign keyword error.
         */
        keywordPlanCampaignKeywordError?: string | null;
        /**
         * The reason for keyword plan error.
         */
        keywordPlanError?: string | null;
        /**
         * The reason for keyword idea error.
         */
        keywordPlanIdeaError?: string | null;
        /**
         * The reason for the label error.
         */
        labelError?: string | null;
        /**
         * The reasons for the language code error
         */
        languageCodeError?: string | null;
        /**
         * An error with a list operation.
         */
        listOperationError?: string | null;
        /**
         * The reasons for the manager link error
         */
        managerLinkError?: string | null;
        /**
         * The reasons for the media bundle error
         */
        mediaBundleError?: string | null;
        /**
         * The reasons for the media file error
         */
        mediaFileError?: string | null;
        /**
         * The reasons for media uploading errors.
         */
        mediaUploadError?: string | null;
        /**
         * Container for enum describing possible merchant center errors.
         */
        merchantCenterError?: string | null;
        /**
         * The reasons for the multiplier error
         */
        multiplierError?: string | null;
        /**
         * An error with a mutate
         */
        mutateError?: string | null;
        /**
         * The reasons for the new resource creation error
         */
        newResourceCreationError?: string | null;
        /**
         * The reasons for the not allowlisted error
         */
        notAllowlistedError?: string | null;
        /**
         * The reasons for the not empty error
         */
        notEmptyError?: string | null;
        /**
         * The reasons for the null error
         */
        nullError?: string | null;
        /**
         * The reasons for the offline user data job error.
         */
        offlineUserDataJobError?: string | null;
        /**
         * The reasons for the operation access denied error
         */
        operationAccessDeniedError?: string | null;
        /**
         * The reasons for the operator error
         */
        operatorError?: string | null;
        /**
         * The reasons for the mutate job error
         */
        partialFailureError?: string | null;
        /**
         * The reasons for errors in payments accounts service
         */
        paymentsAccountError?: string | null;
        /**
         * The reasons for the policy finding error.
         */
        policyFindingError?: string | null;
        /**
         * The reasons for the policy validation parameter error
         */
        policyValidationParameterError?: string | null;
        /**
         * The reasons for the policy violation error
         */
        policyViolationError?: string | null;
        /**
         * The reasons for the product link error
         */
        productLinkError?: string | null;
        /**
         * The reasons for the product link invitation error
         */
        productLinkInvitationError?: string | null;
        /**
         * An error with the query
         */
        queryError?: string | null;
        /**
         * An error with the amount of quota remaining.
         */
        quotaError?: string | null;
        /**
         * The reasons for the range error
         */
        rangeError?: string | null;
        /**
         * The reasons for the reach plan error
         */
        reachPlanError?: string | null;
        /**
         * The reasons for error in applying a recommendation
         */
        recommendationError?: string | null;
        /**
         * The reasons for the recommendation subscription error.
         */
        recommendationSubscriptionError?: string | null;
        /**
         * The reasons for the region code error
         */
        regionCodeError?: string | null;
        /**
         * An error caused by the request
         */
        requestError?: string | null;
        /**
         * The reasons for the resource access denied error
         */
        resourceAccessDeniedError?: string | null;
        /**
         * The reasons for the resource count limit exceeded error
         */
        resourceCountLimitExceededError?: string | null;
        /**
         * The reasons for the Search term insight error
         */
        searchTermInsightError?: string | null;
        /**
         * The reasons for the setting error
         */
        settingError?: string | null;
        /**
         * The reasons for the shareable preview error.
         */
        shareablePreviewError?: string | null;
        /**
         * The reasons for the shared criterion error
         */
        sharedCriterionError?: string | null;
        /**
         * The reasons for the shared set error
         */
        sharedSetError?: string | null;
        /**
         * The reasons for error in querying shopping product.
         */
        shoppingProductError?: string | null;
        /**
         * The reasons for the size limit error
         */
        sizeLimitError?: string | null;
        /**
         * The reasons for the Smart campaign error
         */
        smartCampaignError?: string | null;
        /**
         * The reasons for the string format error
         */
        stringFormatError?: string | null;
        /**
         * The reasons for the string length error
         */
        stringLengthError?: string | null;
        /**
         * The reasons for the third party app analytics link mutate error
         */
        thirdPartyAppAnalyticsLinkError?: string | null;
        /**
         * The reasons for the time zone error
         */
        timeZoneError?: string | null;
        /**
         * An error with a URL field mutate.
         */
        urlFieldError?: string | null;
        /**
         * The reasons for the user data error.
         */
        userDataError?: string | null;
        /**
         * The reasons for a user list customer type error.
         */
        userListCustomerTypeError?: string | null;
        /**
         * The reasons for the user list error
         */
        userListError?: string | null;
        /**
         * An error with a Video Campaign mutate.
         */
        videoCampaignError?: string | null;
        /**
         * The reasons for YouTube video registration errors.
         */
        youtubeVideoRegistrationError?: string | null;
    }
    /**
     * Additional error details.
     */
    export interface Schema$GoogleAdsSearchads360V23Errors__ErrorDetails {
        /**
         * Details for a budget below per-day minimum error.
         */
        budgetPerDayMinimumErrorDetails?: Schema$GoogleAdsSearchads360V23Errors__BudgetPerDayMinimumErrorDetails;
        /**
         * Describes policy violation findings.
         */
        policyFindingDetails?: Schema$GoogleAdsSearchads360V23Errors__PolicyFindingDetails;
        /**
         * Describes an ad policy violation.
         */
        policyViolationDetails?: Schema$GoogleAdsSearchads360V23Errors__PolicyViolationDetails;
        /**
         * Details on the quota error, including the scope (account or developer), the rate bucket name and the retry delay.
         */
        quotaErrorDetails?: Schema$GoogleAdsSearchads360V23Errors__QuotaErrorDetails;
        /**
         * Details for a resource count limit exceeded error.
         */
        resourceCountDetails?: Schema$GoogleAdsSearchads360V23Errors__ResourceCountDetails;
        /**
         * The error code that should have been returned, but wasn't. This is used when the error code is not published in the client specified version.
         */
        unpublishedErrorCode?: string | null;
    }
    /**
     * Describes the part of the request proto that caused the error.
     */
    export interface Schema$GoogleAdsSearchads360V23Errors__ErrorLocation {
        /**
         * A field path that indicates which field was invalid in the request.
         */
        fieldPathElements?: Schema$GoogleAdsSearchads360V23Errors_ErrorLocation_FieldPathElement[];
    }
    /**
     * Error returned as part of a mutate response. This error indicates one or more policy findings in the fields of a resource.
     */
    export interface Schema$GoogleAdsSearchads360V23Errors__PolicyFindingDetails {
        /**
         * The list of policy topics for the resource. Contains the PROHIBITED or FULLY_LIMITED policy topic entries that prevented the resource from being saved (among any other entries the resource may also have).
         */
        policyTopicEntries?: Schema$GoogleAdsSearchads360V23Common__PolicyTopicEntry[];
    }
    /**
     * Error returned as part of a mutate response. This error indicates single policy violation by some text in one of the fields.
     */
    export interface Schema$GoogleAdsSearchads360V23Errors__PolicyViolationDetails {
        /**
         * Human readable description of policy violation.
         */
        externalPolicyDescription?: string | null;
        /**
         * Human readable name of the policy.
         */
        externalPolicyName?: string | null;
        /**
         * Whether user can file an exemption request for this violation.
         */
        isExemptible?: boolean | null;
        /**
         * Unique identifier for this violation. If policy is exemptible, this key may be used to request exemption.
         */
        key?: Schema$GoogleAdsSearchads360V23Common__PolicyViolationKey;
    }
    /**
     * Additional quota error details when there is QuotaError.
     */
    export interface Schema$GoogleAdsSearchads360V23Errors__QuotaErrorDetails {
        /**
         * The high level description of the quota bucket. Examples are "Get requests for standard access" or "Requests per account".
         */
        rateName?: string | null;
        /**
         * The rate scope of the quota limit.
         */
        rateScope?: string | null;
        /**
         * Backoff period that customers should wait before sending next request.
         */
        retryDelay?: string | null;
    }
    /**
     * Error details returned when an resource count limit was exceeded.
     */
    export interface Schema$GoogleAdsSearchads360V23Errors__ResourceCountDetails {
        /**
         * The ID of the resource whose limit was exceeded. External customer ID if the limit is for a customer.
         */
        enclosingId?: string | null;
        /**
         * The name of the resource ( etc.) whose limit was exceeded.
         */
        enclosingResource?: string | null;
        /**
         * The count of existing entities.
         */
        existingCount?: number | null;
        /**
         * The limit which was exceeded.
         */
        limit?: number | null;
        /**
         * The resource limit type which was exceeded.
         */
        limitType?: string | null;
    }
    /**
     * Search Ads 360-specific error.
     */
    export interface Schema$GoogleAdsSearchads360V23Errors__SearchAds360Error {
        /**
         * Additional error details, which are returned by certain error codes. Most error codes do not include details.
         */
        details?: Schema$GoogleAdsSearchads360V23Errors__ErrorDetails;
        /**
         * An enum value that indicates which error occurred.
         */
        errorCode?: Schema$GoogleAdsSearchads360V23Errors__ErrorCode;
        /**
         * Describes the part of the request proto that caused the error.
         */
        location?: Schema$GoogleAdsSearchads360V23Errors__ErrorLocation;
        /**
         * A human-readable description of the error.
         */
        message?: string | null;
        /**
         * The value that triggered the error.
         */
        trigger?: Schema$GoogleAdsSearchads360V23Common__Value;
    }
    /**
     * Describes how a Search Ads 360 API call failed. It's returned inside google.rpc.Status.details when a call fails.
     */
    export interface Schema$GoogleAdsSearchads360V23Errors__SearchAds360Failure {
        /**
         * The list of errors that occurred.
         */
        errors?: Schema$GoogleAdsSearchads360V23Errors__SearchAds360Error[];
        /**
         * The unique ID of the request that is used for debugging purposes.
         */
        requestId?: string | null;
    }
    /**
     * An automated bidding strategy to help get the most conversions for your campaigns while spending your budget.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources_AccessibleBiddingStrategy_MaximizeConversions {
        /**
         * Output only. The target cost per acquisition (CPA) option. This is the average amount that you would like to spend per acquisition.
         */
        targetCpaMicros?: string | null;
    }
    /**
     * An automated bidding strategy to help get the most conversion value for your campaigns while spending your budget.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources_AccessibleBiddingStrategy_MaximizeConversionValue {
        /**
         * Output only. The target return on ad spend (ROAS) option. If set, the bid strategy will maximize revenue while averaging the target return on ad spend. If the target ROAS is high, the bid strategy may not be able to spend the full budget. If the target ROAS is not set, the bid strategy will aim to achieve the highest possible ROAS for the budget.
         */
        targetRoas?: number | null;
    }
    /**
     * An automated bid strategy that sets bids to help get as many conversions as possible at the target cost-per-acquisition (CPA) you set.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources_AccessibleBiddingStrategy_TargetCpa {
        /**
         * Output only. Average CPA target. This target should be greater than or equal to minimum billable unit based on the currency for the account.
         */
        targetCpaMicros?: string | null;
    }
    /**
     * An automated bidding strategy that sets bids so that a certain percentage of search ads are shown at the top of the first page (or other targeted location).
     */
    export interface Schema$GoogleAdsSearchads360V23Resources_AccessibleBiddingStrategy_TargetImpressionShare {
        /**
         * Output only. The highest CPC bid the automated bidding system is permitted to specify. This is a required field entered by the advertiser that sets the ceiling and specified in local micros.
         */
        cpcBidCeilingMicros?: string | null;
        /**
         * Output only. The targeted location on the search results page.
         */
        location?: string | null;
        /**
         * The chosen fraction of ads to be shown in the targeted location in micros. For example, 1% equals 10,000.
         */
        locationFractionMicros?: string | null;
    }
    /**
     * An automated bidding strategy that helps you maximize revenue while averaging a specific target return on ad spend (ROAS).
     */
    export interface Schema$GoogleAdsSearchads360V23Resources_AccessibleBiddingStrategy_TargetRoas {
        /**
         * Output only. The chosen revenue (based on conversion data) per unit of spend.
         */
        targetRoas?: number | null;
    }
    /**
     * An automated bid strategy that sets your bids to help get as many clicks as possible within your budget.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources_AccessibleBiddingStrategy_TargetSpend {
        /**
         * Output only. Maximum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy.
         */
        cpcBidCeilingMicros?: string | null;
        /**
         * Output only. The spend target under which to maximize clicks. A TargetSpend bidder will attempt to spend the smaller of this value or the natural throttling spend amount. If not specified, the budget is used as the spend target. This field is deprecated and should no longer be used. See https://ads-developers.googleblog.com/2020/05/reminder-about-sunset-creation-of.html for details.
         */
        targetSpendMicros?: string | null;
    }
    /**
     * A pending proposal associated with the enclosing account-level budget, if applicable.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources_AccountBudget_PendingAccountBudgetProposal {
        /**
         * Output only. The resource name of the proposal. AccountBudgetProposal resource names have the form: `customers/{customer_id\}/accountBudgetProposals/{account_budget_proposal_id\}`
         */
        accountBudgetProposal?: string | null;
        /**
         * Output only. The time when this account-level budget proposal was created. Formatted as yyyy-MM-dd HH:mm:ss.
         */
        creationDateTime?: string | null;
        /**
         * Output only. The end time in yyyy-MM-dd HH:mm:ss format.
         */
        endDateTime?: string | null;
        /**
         * Output only. The end time as a well-defined type, for example, FOREVER.
         */
        endTimeType?: string | null;
        /**
         * Output only. The name to assign to the account-level budget.
         */
        name?: string | null;
        /**
         * Output only. Notes associated with this budget.
         */
        notes?: string | null;
        /**
         * Output only. The type of this proposal, for example, END to end the budget associated with this proposal.
         */
        proposalType?: string | null;
        /**
         * Output only. A purchase order number is a value that helps users reference this budget in their monthly invoices.
         */
        purchaseOrderNumber?: string | null;
        /**
         * Output only. The spending limit in micros. One million is equivalent to one unit.
         */
        spendingLimitMicros?: string | null;
        /**
         * Output only. The spending limit as a well-defined type, for example, INFINITE.
         */
        spendingLimitType?: string | null;
        /**
         * Output only. The start time in yyyy-MM-dd HH:mm:ss format.
         */
        startDateTime?: string | null;
    }
    /**
     * Estimates for criterion bids at various positions.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources_AdGroupCriterion_PositionEstimates {
        /**
         * Output only. Estimate of how many clicks per week you might get by changing your keyword bid to the value in first_position_cpc_micros.
         */
        estimatedAddClicksAtFirstPositionCpc?: string | null;
        /**
         * Output only. Estimate of how your cost per week might change when changing your keyword bid to the value in first_position_cpc_micros.
         */
        estimatedAddCostAtFirstPositionCpc?: string | null;
        /**
         * Output only. The estimate of the CPC bid required for ad to be shown on first page of search results.
         */
        firstPageCpcMicros?: string | null;
        /**
         * Output only. The estimate of the CPC bid required for ad to be displayed in first position, at the top of the first page of search results.
         */
        firstPositionCpcMicros?: string | null;
        /**
         * Output only. The estimate of the CPC bid required for ad to be displayed at the top of the first page of search results.
         */
        topOfPageCpcMicros?: string | null;
    }
    /**
     * A container for ad group criterion quality information.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources_AdGroupCriterion_QualityInfo {
        /**
         * Output only. The performance of the ad compared to other advertisers.
         */
        creativeQualityScore?: string | null;
        /**
         * Output only. The quality score of the landing page.
         */
        postClickQualityScore?: string | null;
        /**
         * Output only. The quality score. This field may not be populated if Google does not have enough information to determine a value.
         */
        qualityScore?: number | null;
        /**
         * Output only. The click-through rate compared to that of other advertisers.
         */
        searchPredictedCtr?: string | null;
    }
    /**
     * Explicitly selected channels for channel controls in Demand Gen ad groups.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources_AdGroupDemandGenAdGroupSettingsDemandGenChannelControls_DemandGenSelectedChannels {
        /**
         * Whether to enable ads on the Discover channel.
         */
        discover?: boolean | null;
        /**
         * Whether to enable ads on the Display channel.
         */
        display?: boolean | null;
        /**
         * Whether to enable ads on the Gmail channel.
         */
        gmail?: boolean | null;
        /**
         * Whether to enable ads on the YouTube In-Feed channel.
         */
        youtubeInFeed?: boolean | null;
        /**
         * Whether to enable ads on the YouTube In-Stream channel.
         */
        youtubeInStream?: boolean | null;
        /**
         * Whether to enable ads on the YouTube Shorts channel.
         */
        youtubeShorts?: boolean | null;
    }
    /**
     * Channel controls for Demand Gen ad groups.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources_AdGroupDemandGenAdGroupSettings_DemandGenChannelControls {
        /**
         * Output only. Channel configuration reflecting which field in the oneof is populated.
         */
        channelConfig?: string | null;
        /**
         * High level channel strategy.
         */
        channelStrategy?: string | null;
        /**
         * Explicitly selected channels. This field should be set with at least one true value when present.
         */
        selectedChannels?: Schema$GoogleAdsSearchads360V23Resources_AdGroupDemandGenAdGroupSettingsDemandGenChannelControls_DemandGenSelectedChannels;
    }
    /**
     * Settings for AI Max feature in standard search adgroups.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources_AdGroup_AiMaxAdGroupSetting {
        /**
         * Disable search term matching for this adgroup when AI Max is enabled. Search term matching uses broad match, asset-based, and landing page-based technology to improve reach.
         */
        disableSearchTermMatching?: boolean | null;
    }
    /**
     * Settings for the audience targeting.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources_AdGroup_AudienceSetting {
        /**
         * Immutable. If true, this ad group uses an Audience resource for audience targeting. If false, this ad group may use audience segment criteria instead.
         */
        useAudienceGrouped?: boolean | null;
    }
    /**
     * Settings for Demand Gen ad groups.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources_AdGroup_DemandGenAdGroupSettings {
        /**
         * Channel controls for Demand Gen ad groups.
         */
        channelControls?: Schema$GoogleAdsSearchads360V23Resources_AdGroupDemandGenAdGroupSettings_DemandGenChannelControls;
    }
    /**
     * Vertical ads setting feature to enable/disable ad group format controls in search campaigns.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources_AdGroup_VerticalAdsFormatSetting {
        /**
         * If true, text ads will be disabled for this ad group.
         */
        disableTextAds?: boolean | null;
        /**
         * If true, booking links will be enabled for this ad group.
         */
        enableBookingLinks?: boolean | null;
        /**
         * If true, vertical promotion ads will be enabled for this ad group.
         */
        enableVerticalPromotionAds?: boolean | null;
    }
    /**
     * The details of the asset to add.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources_AdStrengthActionItem_AddAssetDetails {
        /**
         * Output only. The number of assets to add.
         */
        assetCount?: number | null;
        /**
         * Output only. The asset field type of the asset(s) to add.
         */
        assetFieldType?: string | null;
        /**
         * Output only. For video field types, the required aspect ratio of the video. When unset and asset_field_type is YOUTUBE_VIDEO, the system recommends the advertiser upload any YouTube video, regardless of aspect ratio.
         */
        videoAspectRatioRequirement?: string | null;
    }
    /**
     * For Performance Max for travel goals campaigns with a Hotel Center account link. Read-only.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources_AssetSet_HotelPropertyData {
        /**
         * Output only. The hotel center ID of the partner.
         */
        hotelCenterId?: string | null;
        /**
         * Output only. Name of the hotel partner.
         */
        partnerName?: string | null;
    }
    /**
     * Merchant ID and Feed Label from Google Merchant Center.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources_AssetSet_MerchantCenterFeed {
        /**
         * Optional. Feed Label from Google Merchant Center.
         */
        feedLabel?: string | null;
        /**
         * Required. Merchant ID from Google Merchant Center
         */
        merchantId?: string | null;
    }
    /**
     * Additional information about the batch job. This message is also used as metadata returned in batch job Long Running Operations.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources_BatchJob_BatchJobMetadata {
        /**
         * Output only. The time when this batch job was completed. Formatted as yyyy-MM-dd HH:mm:ss. Example: "2018-03-05 09:16:00"
         */
        completionDateTime?: string | null;
        /**
         * Output only. The time when this batch job was created. Formatted as yyyy-mm-dd hh:mm:ss. Example: "2018-03-05 09:15:00"
         */
        creationDateTime?: string | null;
        /**
         * Output only. The fraction (between 0.0 and 1.0) of mutates that have been processed. This is empty if the job hasn't started running yet.
         */
        estimatedCompletionRatio?: number | null;
        /**
         * Output only. The number of mutate operations executed by the batch job. Present only if the job has started running.
         */
        executedOperationCount?: string | null;
        /**
         * Immutable. The approximate upper bound for how long a batch job can be executed, in seconds. If the job runs more than the given upper bound, the job will be canceled.
         */
        executionLimitSeconds?: number | null;
        /**
         * Output only. The number of mutate operations in the batch job.
         */
        operationCount?: string | null;
        /**
         * Output only. The time when this batch job started running. Formatted as yyyy-mm-dd hh:mm:ss. Example: "2018-03-05 09:15:30"
         */
        startDateTime?: string | null;
    }
    /**
     * Container of payments account information for this billing.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources_BillingSetup_PaymentsAccountInfo {
        /**
         * Output only. A 16 digit id used to identify the payments account associated with the billing setup. This must be passed as a string with dashes, for example, "1234-5678-9012-3456".
         */
        paymentsAccountId?: string | null;
        /**
         * Immutable. The name of the payments account associated with the billing setup. This enables the user to specify a meaningful name for a payments account to aid in reconciling monthly invoices. This name will be printed in the monthly invoices.
         */
        paymentsAccountName?: string | null;
        /**
         * Immutable. A 12 digit id used to identify the payments profile associated with the billing setup. This must be passed in as a string with dashes, for example, "1234-5678-9012".
         */
        paymentsProfileId?: string | null;
        /**
         * Output only. The name of the payments profile associated with the billing setup.
         */
        paymentsProfileName?: string | null;
        /**
         * Output only. A secondary payments profile id present in uncommon situations, for example, when a sequential liability agreement has been arranged.
         */
        secondaryPaymentsProfileId?: string | null;
    }
    /**
     * Overrides of brand targeting for various ad types.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources_CampaignPmaxCampaignSettings_BrandTargetingOverrides {
        /**
         * If true, brand exclusions are ignored for Shopping ads.
         */
        ignoreExclusionsForShoppingAds?: boolean | null;
    }
    /**
     * Settings for AI Max in search campaigns.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources_Campaign_AiMaxSetting {
        /**
         * Output only. Indicates whether a search campaign has adopted AI Max before, and is required to have AI Max enabled to adopt campaign-level text asset automation and brand list targeting in all API versions.
         */
        bundlingRequired?: string | null;
        /**
         * Controls whether or not AI Max features are served for this campaign. Individual AI Max features are enabled or disabled by their respective settings. But if enable_ai_max is set to false or cleared, then no AI Max features will serve for this campaign, regardless of the other settings. Search Term Matching is enabled by default when AI Max is enabled, and can be disabled at the ad group level.
         */
        enableAiMax?: boolean | null;
    }
    /**
     * Campaign-level settings for App Campaigns.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources_Campaign_AppCampaignSetting {
        /**
         * Immutable. A string that uniquely identifies a mobile application.
         */
        appId?: string | null;
        /**
         * Immutable. The application store that distributes this specific app.
         */
        appStore?: string | null;
        /**
         * Represents the goal which the bidding strategy of this app campaign should optimize towards.
         */
        biddingStrategyGoalType?: string | null;
    }
    /**
     * Asset automation setting contains pair of AssetAutomationType and the asset automation opt-in/out status
     */
    export interface Schema$GoogleAdsSearchads360V23Resources_Campaign_AssetAutomationSetting {
        /**
         * The opt-in/out status of asset automation type.
         */
        assetAutomationStatus?: string | null;
        /**
         * The asset automation type advertiser would like to opt-in/out.
         */
        assetAutomationType?: string | null;
    }
    /**
     * Settings for the audience targeting.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources_Campaign_AudienceSetting {
        /**
         * Immutable. If true, this campaign uses an Audience resource for audience targeting. If false, this campaign may use audience segment criteria instead.
         */
        useAudienceGrouped?: boolean | null;
    }
    /**
     * Settings that control the visual appearance of your brand in a campaign's automatically generated assets and formats. Only applicable to Performance Max campaigns.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources_Campaign_BrandGuidelines {
        /**
         * The accent brand color, entered as a hex code (e.g., #00ff00). You must provide the accent_color if you provide a main_color.
         */
        accentColor?: string | null;
        /**
         * The main brand color, entered as a hex code (e.g., #00ff00). You must provide the main_color if you provide an accent_color.
         */
        mainColor?: string | null;
        /**
         * The brand's font family. Must be one of the following Google Fonts (case sensitive): Open Sans, Roboto, Montserrat, Poppins, Lato, Oswald, Playfair Display, Roboto Slab.
         */
        predefinedFontFamily?: string | null;
    }
    /**
     * Category bids in LocalServicesReportingCampaignSettings.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources_Campaign_CategoryBid {
        /**
         * Category for which the bid will be associated with. For example, xcat:service_area_business_plumber.
         */
        categoryId?: string | null;
        /**
         * Manual CPA bid for the category. Bid must be greater than the reserve price associated for that category. Value is in micros and in the advertiser's currency.
         */
        manualCpaBidMicros?: string | null;
        /**
         * Target CPA bid for the category. Value is in micros and in the advertiser's currency.
         */
        targetCpaBidMicros?: string | null;
    }
    /**
     * Settings for Demand Gen campaign.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources_Campaign_DemandGenCampaignSettings {
        /**
         * Immutable. Specifies whether this campaign uses upgraded targeting options. When this field is set to `true`, you can use location and language targeting at the ad group level as opposed to the standard campaign-level targeting.
         */
        upgradedTargeting?: boolean | null;
    }
    /**
     * The setting for controlling Dynamic Search Ads (DSA).
     */
    export interface Schema$GoogleAdsSearchads360V23Resources_Campaign_DynamicSearchAdsSetting {
        /**
         * Required. The Internet domain name that this setting represents, for example, "google.com" or "www.google.com".
         */
        domainName?: string | null;
        /**
         * Required. The language code specifying the language of the domain, for example, "en".
         */
        languageCode?: string | null;
        /**
         * Whether the campaign uses advertiser supplied URLs exclusively.
         */
        useSuppliedUrlsOnly?: boolean | null;
    }
    /**
     * Represents a collection of settings related to ads geotargeting.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources_Campaign_GeoTargetTypeSetting {
        /**
         * The setting used for negative geotargeting in this particular campaign.
         */
        negativeGeoTargetType?: string | null;
        /**
         * The setting used for positive geotargeting in this particular campaign.
         */
        positiveGeoTargetType?: string | null;
    }
    /**
     * Campaign-level settings for hotel ads.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources_Campaign_HotelSettingInfo {
        /**
         * Output only. The linked Hotel Center account.
         */
        hotelCenterId?: string | null;
    }
    /**
     * Campaign setting for local campaigns.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources_Campaign_LocalCampaignSetting {
        /**
         * The location source type for this local campaign.
         */
        locationSourceType?: string | null;
    }
    /**
     * Settings for LocalServicesCampaign subresource.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources_Campaign_LocalServicesCampaignSettings {
        /**
         * Categorical level bids associated with MANUAL_CPA bidding strategy.
         */
        categoryBids?: Schema$GoogleAdsSearchads360V23Resources_Campaign_CategoryBid[];
    }
    /**
     * The network settings for the campaign.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources_Campaign_NetworkSettings {
        /**
         * Whether ads will be served on specified placements in the Google Display Network. Placements are specified using the Placement criterion.
         */
        targetContentNetwork?: boolean | null;
        /**
         * Whether ads will be served with google.com search results.
         */
        targetGoogleSearch?: boolean | null;
        /**
         * Whether ads will be served on the Google TV network.
         */
        targetGoogleTvNetwork?: boolean | null;
        /**
         * Whether ads will be served on the partner network. This is available only to some select partner accounts. Unless you have been instructed to use this field, it likely does not apply to your account. This does not control whether ads will be served on Google Search Partners Network; use `target_search_network` for that instead.
         */
        targetPartnerSearchNetwork?: boolean | null;
        /**
         * Whether ads will be served on sites in the Google Search Partners Network (requires `target_google_search` to also be `true`).
         */
        targetSearchNetwork?: boolean | null;
        /**
         * Whether ads will be served on YouTube.
         */
        targetYoutube?: boolean | null;
    }
    /**
     * Optimization goal setting for this campaign, which includes a set of optimization goal types.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources_Campaign_OptimizationGoalSetting {
        /**
         * The list of optimization goal types.
         */
        optimizationGoalTypes?: string[] | null;
    }
    /**
     * Information about a campaign being upgraded to Performance Max.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources_Campaign_PerformanceMaxUpgrade {
        /**
         * Output only. The resource name of the Performance Max campaign the campaign is upgraded to.
         */
        performanceMaxCampaign?: string | null;
        /**
         * Output only. The resource name of the legacy campaign upgraded to Performance Max.
         */
        preUpgradeCampaign?: string | null;
        /**
         * Output only. The upgrade status of a campaign requested to be upgraded to Performance Max.
         */
        status?: string | null;
    }
    /**
     * Settings for Performance Max campaigns.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources_Campaign_PmaxCampaignSettings {
        /**
         * Overrides of brand targeting for various ad types.
         */
        brandTargetingOverrides?: Schema$GoogleAdsSearchads360V23Resources_CampaignPmaxCampaignSettings_BrandTargetingOverrides;
    }
    /**
     * Selective optimization setting for this campaign, which includes a set of conversion actions to optimize this campaign towards. This feature only applies to app campaigns that use MULTI_CHANNEL as AdvertisingChannelType and APP_CAMPAIGN or APP_CAMPAIGN_FOR_ENGAGEMENT as AdvertisingChannelSubType.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources_Campaign_SelectiveOptimization {
        /**
         * The selected set of resource names for conversion actions for optimizing this campaign.
         */
        conversionActions?: string[] | null;
    }
    /**
     * The setting for Shopping campaigns. Defines the universe of products that can be advertised by the campaign, and how this campaign interacts with other Shopping campaigns.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources_Campaign_ShoppingSetting {
        /**
         * The list of Google Ads accounts IDs of advertising partners cooperating within the campaign. This feature is currently available only for accounts having an advertising partner link. This feature is currently supported only for Performance Max, Shopping, Search and Demand Gen campaign types.
         */
        advertisingPartnerIds?: string[] | null;
        /**
         * Priority of the campaign. Campaigns with numerically higher priorities take precedence over those with lower priorities. This field is required for Shopping campaigns, with values between 0 and 2, inclusive. This field is optional for Smart Shopping campaigns, but must be equal to 3 if set.
         */
        campaignPriority?: number | null;
        /**
         * Disable the optional product feed. This field is currently supported only for Demand Gen campaigns. See https://support.google.com/google-ads/answer/13721750 to learn more about this feature.
         */
        disableProductFeed?: boolean | null;
        /**
         * Whether to include local products.
         */
        enableLocal?: boolean | null;
        /**
         * Feed label of products to include in the campaign. Valid feed labels may contain a maximum of 20 characters including uppercase letters, numbers, hyphens, and underscores. If you previously used the deprecated `sales_country` in the two-letter country code (`XX`) format, the `feed_label` field should be used instead. For more information see the [feed label](//support.google.com/merchants/answer/12453549) support article.
         */
        feedLabel?: string | null;
        /**
         * ID of the Merchant Center account. This field is required for create operations. This field is immutable for Shopping campaigns.
         */
        merchantId?: string | null;
        /**
         * Immutable. Whether to target Vehicle Listing inventory.
         */
        useVehicleInventory?: boolean | null;
    }
    /**
     * Campaign-level settings for tracking information.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources_Campaign_TrackingSetting {
        /**
         * Output only. The url used for dynamic tracking.
         */
        trackingUrl?: string | null;
    }
    /**
     * Settings for Travel campaign.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources_Campaign_TravelCampaignSettings {
        /**
         * Immutable. The Travel account ID associated with the Travel campaign.
         */
        travelAccountId?: string | null;
    }
    /**
     * Describes how unbranded pharma ads will be displayed.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources_Campaign_VanityPharma {
        /**
         * The display mode for vanity pharma URLs.
         */
        vanityPharmaDisplayUrlMode?: string | null;
        /**
         * The text that will be displayed in display URL of the text ad when website description is the selected display mode for vanity pharma URLs.
         */
        vanityPharmaText?: string | null;
    }
    /**
     * A wrapper proto presenting all supported resources. Only the resource of the change_resource_type will be set.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources_ChangeEvent_ChangedResource {
        /**
         * Output only. Set if change_resource_type == AD.
         */
        ad?: Schema$GoogleAdsSearchads360V23Resources__Ad;
        /**
         * Output only. Set if change_resource_type == AD_GROUP.
         */
        adGroup?: Schema$GoogleAdsSearchads360V23Resources__AdGroup;
        /**
         * Output only. Set if change_resource_type == AD_GROUP_AD.
         */
        adGroupAd?: Schema$GoogleAdsSearchads360V23Resources__AdGroupAd;
        /**
         * Output only. Set if change_resource_type == AD_GROUP_ASSET.
         */
        adGroupAsset?: Schema$GoogleAdsSearchads360V23Resources__AdGroupAsset;
        /**
         * Output only. Set if change_resource_type == AD_GROUP_BID_MODIFIER.
         */
        adGroupBidModifier?: Schema$GoogleAdsSearchads360V23Resources__AdGroupBidModifier;
        /**
         * Output only. Set if change_resource_type == AD_GROUP_CRITERION.
         */
        adGroupCriterion?: Schema$GoogleAdsSearchads360V23Resources__AdGroupCriterion;
        /**
         * Output only. Set if change_resource_type == ASSET.
         */
        asset?: Schema$GoogleAdsSearchads360V23Resources__Asset;
        /**
         * Output only. Set if change_resource_type == ASSET_SET.
         */
        assetSet?: Schema$GoogleAdsSearchads360V23Resources__AssetSet;
        /**
         * Output only. Set if change_resource_type == ASSET_SET_ASSET.
         */
        assetSetAsset?: Schema$GoogleAdsSearchads360V23Resources__AssetSetAsset;
        /**
         * Output only. Set if change_resource_type == CAMPAIGN.
         */
        campaign?: Schema$GoogleAdsSearchads360V23Resources__Campaign;
        /**
         * Output only. Set if change_resource_type == CAMPAIGN_ASSET.
         */
        campaignAsset?: Schema$GoogleAdsSearchads360V23Resources__CampaignAsset;
        /**
         * Output only. Set if change_resource_type == CAMPAIGN_ASSET_SET.
         */
        campaignAssetSet?: Schema$GoogleAdsSearchads360V23Resources__CampaignAssetSet;
        /**
         * Output only. Set if change_resource_type == CAMPAIGN_BUDGET.
         */
        campaignBudget?: Schema$GoogleAdsSearchads360V23Resources__CampaignBudget;
        /**
         * Output only. Set if change_resource_type == CAMPAIGN_CRITERION.
         */
        campaignCriterion?: Schema$GoogleAdsSearchads360V23Resources__CampaignCriterion;
        /**
         * Output only. Set if change_resource_type == CUSTOMER_ASSET.
         */
        customerAsset?: Schema$GoogleAdsSearchads360V23Resources__CustomerAsset;
    }
    /**
     * Settings related to this conversion action's attribution model.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources_ConversionAction_AttributionModelSettings {
        /**
         * The attribution model type of this conversion action.
         */
        attributionModel?: string | null;
        /**
         * Output only. The status of the data-driven attribution model for the conversion action.
         */
        dataDrivenModelStatus?: string | null;
    }
    /**
     * Settings related to a Firebase conversion action.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources_ConversionAction_FirebaseSettings {
        /**
         * Output only. The event name of a Firebase conversion.
         */
        eventName?: string | null;
        /**
         * Output only. The Firebase project ID of the conversion.
         */
        projectId?: string | null;
        /**
         * Output only. The GA property ID of the conversion.
         */
        propertyId?: string | null;
        /**
         * Output only. The GA property name of the conversion.
         */
        propertyName?: string | null;
    }
    /**
     * Settings related to a Floodlight conversion action.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources_ConversionAction_FloodlightSettings {
        /**
         * Output only. String used to identify a Floodlight activity group when reporting conversions.
         */
        activityGroupTag?: string | null;
        /**
         * Output only. ID of the Floodlight activity in DoubleClick Campaign Manager (DCM).
         */
        activityId?: string | null;
        /**
         * Output only. String used to identify a Floodlight activity when reporting conversions.
         */
        activityTag?: string | null;
    }
    /**
     * Settings related to a Google Analytics 4 conversion action.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources_ConversionAction_GoogleAnalytics4Settings {
        /**
         * Output only. The name of the GA 4 event.
         */
        eventName?: string | null;
        /**
         * Output only. The ID of the GA 4 property.
         */
        propertyId?: string | null;
        /**
         * Output only. The name of the GA 4 property.
         */
        propertyName?: string | null;
    }
    /**
     * Settings related to a third party app analytics conversion action.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources_ConversionAction_ThirdPartyAppAnalyticsSettings {
        /**
         * Output only. The event name of a third-party app analytics conversion.
         */
        eventName?: string | null;
        /**
         * Output only. Name of the third-party app analytics provider.
         */
        providerName?: string | null;
    }
    /**
     * Settings related to the value for conversion events associated with this conversion action.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources_ConversionAction_ValueSettings {
        /**
         * Controls whether the default value and default currency code are used in place of the value and currency code specified in conversion events for this conversion action.
         */
        alwaysUseDefaultValue?: boolean | null;
        /**
         * The currency code to use when conversion events for this conversion action are sent with an invalid or missing currency code, or when this conversion action is configured to always use the default value.
         */
        defaultCurrencyCode?: string | null;
        /**
         * The value to use when conversion events for this conversion action are sent with an invalid, disallowed or missing value, or when this conversion action is configured to always use the default value.
         */
        defaultValue?: number | null;
    }
    /**
     * Information for Search Ads 360 Floodlight Conversion Custom Variables.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources_ConversionCustomVariable_FloodlightConversionCustomVariableInfo {
        /**
         * Output only. Floodlight variable data type defined in Search Ads 360.
         */
        floodlightVariableDataType?: string | null;
        /**
         * Output only. Floodlight variable type defined in Search Ads 360.
         */
        floodlightVariableType?: string | null;
    }
    /**
     * Action applied when rule is applied.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources_ConversionValueRule_ValueRuleAction {
        /**
         * Specifies applied operation.
         */
        operation?: string | null;
        /**
         * Specifies applied value.
         */
        value?: number | null;
    }
    /**
     * Condition on Audience dimension.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources_ConversionValueRule_ValueRuleAudienceCondition {
        /**
         * User Interests.
         */
        userInterests?: string[] | null;
        /**
         * User Lists.
         */
        userLists?: string[] | null;
    }
    /**
     * Condition on Device dimension.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources_ConversionValueRule_ValueRuleDeviceCondition {
        /**
         * Value for device type condition.
         */
        deviceTypes?: string[] | null;
    }
    /**
     * Condition on Geo dimension.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources_ConversionValueRule_ValueRuleGeoLocationCondition {
        /**
         * Excluded Geo location match type.
         */
        excludedGeoMatchType?: string | null;
        /**
         * Geo locations that advertisers want to exclude.
         */
        excludedGeoTargetConstants?: string[] | null;
        /**
         * Included Geo location match type.
         */
        geoMatchType?: string | null;
        /**
         * Geo locations that advertisers want to include.
         */
        geoTargetConstants?: string[] | null;
    }
    /**
     * Range for the number of days between the date of the booking and the start of the itinerary.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources_ConversionValueRule_ValueRuleItineraryAdvanceBookingWindow {
        /**
         * Maximum number of days between the date of the booking the start date.
         */
        maxDays?: number | null;
        /**
         * Minimum number of days between the date of the booking the start date.
         */
        minDays?: number | null;
    }
    /**
     * Condition on Itinerary dimension.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources_ConversionValueRule_ValueRuleItineraryCondition {
        /**
         * Range for the number of days between the date of the booking and the start of the itinerary.
         */
        advanceBookingWindow?: Schema$GoogleAdsSearchads360V23Resources_ConversionValueRule_ValueRuleItineraryAdvanceBookingWindow;
        /**
         * Range for the itinerary length in number of nights.
         */
        travelLength?: Schema$GoogleAdsSearchads360V23Resources_ConversionValueRule_ValueRuleItineraryTravelLength;
        /**
         * The days of the week on which this itinerary's travel can start.
         */
        travelStartDay?: Schema$GoogleAdsSearchads360V23Resources_ConversionValueRule_ValueRuleItineraryTravelStartDay;
    }
    /**
     * Range for the itinerary length in number of nights.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources_ConversionValueRule_ValueRuleItineraryTravelLength {
        /**
         * Maximum number of days between the start date and the end date.
         */
        maxNights?: number | null;
        /**
         * Minimum number of nights between the start date and the end date.
         */
        minNights?: number | null;
    }
    /**
     * The days of the week on which an itinerary's travel can start.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources_ConversionValueRule_ValueRuleItineraryTravelStartDay {
        /**
         * The travel can start on Friday.
         */
        friday?: boolean | null;
        /**
         * The travel can start on Monday.
         */
        monday?: boolean | null;
        /**
         * The travel can start on Saturday.
         */
        saturday?: boolean | null;
        /**
         * The travel can start on Sunday.
         */
        sunday?: boolean | null;
        /**
         * The travel can start on Thursday.
         */
        thursday?: boolean | null;
        /**
         * The travel can start on Tuesday.
         */
        tuesday?: boolean | null;
        /**
         * The travel can start on Wednesday.
         */
        wednesday?: boolean | null;
    }
    /**
     * Defines a range for event counter values.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources_CustomerSkAdNetworkConversionValueSchemaSkAdNetworkConversionValueSchemaEvent_EventOccurrenceRange {
        /**
         * Output only. For event counter ranges, the maximum of the defined range. A value of 0 will be treated as unset.
         */
        maxEventCount?: string | null;
        /**
         * Output only. For event counter ranges, the minimum of the defined range. A value of 0 will be treated as unset.
         */
        minEventCount?: string | null;
    }
    /**
     * Defines a range for revenue values.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources_CustomerSkAdNetworkConversionValueSchemaSkAdNetworkConversionValueSchemaEvent_RevenueRange {
        /**
         * Output only. For revenue ranges, the maximum value in `currency_code` for which this conversion value would be updated. A value of 0 will be treated as unset.
         */
        maxEventRevenue?: number | null;
        /**
         * Output only. For revenue ranges, the minimum value in `currency_code` for which this conversion value would be updated. A value of 0 will be treated as unset.
         */
        minEventRevenue?: number | null;
    }
    /**
     * Mappings for coarse grained conversion values.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources_CustomerSkAdNetworkConversionValueSchemaSkAdNetworkConversionValueSchema_CoarseGrainedConversionValueMappings {
        /**
         * Output only. Mapping for "high" coarse conversion value.
         */
        highConversionValueMapping?: Schema$GoogleAdsSearchads360V23Resources_CustomerSkAdNetworkConversionValueSchemaSkAdNetworkConversionValueSchema_ConversionValueMapping;
        /**
         * Output only. Mapping for "low" coarse conversion value.
         */
        lowConversionValueMapping?: Schema$GoogleAdsSearchads360V23Resources_CustomerSkAdNetworkConversionValueSchemaSkAdNetworkConversionValueSchema_ConversionValueMapping;
        /**
         * Output only. Mapping for "medium" coarse conversion value.
         */
        mediumConversionValueMapping?: Schema$GoogleAdsSearchads360V23Resources_CustomerSkAdNetworkConversionValueSchemaSkAdNetworkConversionValueSchema_ConversionValueMapping;
    }
    /**
     * Represents mapping from one conversion value to one or more conversion events.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources_CustomerSkAdNetworkConversionValueSchemaSkAdNetworkConversionValueSchema_ConversionValueMapping {
        /**
         * Output only. The conversion value may be mapped to multiple events with various attributes.
         */
        mappedEvents?: Schema$GoogleAdsSearchads360V23Resources_CustomerSkAdNetworkConversionValueSchemaSkAdNetworkConversionValueSchema_Event[];
        /**
         * Output only. The maximum of the time range in which a user was last active during the measurement window.
         */
        maxTimePostInstallHours?: string | null;
        /**
         * Output only. The minimum of the time range in which a user was last active during the measurement window.
         */
        minTimePostInstallHours?: string | null;
    }
    /**
     * Defines a Google conversion event that the conversion value is mapped to.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources_CustomerSkAdNetworkConversionValueSchemaSkAdNetworkConversionValueSchema_Event {
        /**
         * Output only. The reported currency for the event_revenue. ISO 4217 three-letter currency code, for example, "USD"
         */
        currencyCode?: string | null;
        /**
         * Output only. For specific event counter values.
         */
        eventCounter?: string | null;
        /**
         * Output only. The event counter range.
         */
        eventOccurrenceRange?: Schema$GoogleAdsSearchads360V23Resources_CustomerSkAdNetworkConversionValueSchemaSkAdNetworkConversionValueSchemaEvent_EventOccurrenceRange;
        /**
         * Output only. The event revenue range.
         */
        eventRevenueRange?: Schema$GoogleAdsSearchads360V23Resources_CustomerSkAdNetworkConversionValueSchemaSkAdNetworkConversionValueSchemaEvent_RevenueRange;
        /**
         * Output only. The specific event revenue value.
         */
        eventRevenueValue?: number | null;
        /**
         * Output only. Google event name represented by this conversion value.
         */
        mappedEventName?: string | null;
    }
    /**
     * Mappings for fine grained conversion value.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources_CustomerSkAdNetworkConversionValueSchemaSkAdNetworkConversionValueSchema_FineGrainedConversionValueMappings {
        /**
         * Output only. Conversion events the fine grained conversion value maps to.
         */
        conversionValueMapping?: Schema$GoogleAdsSearchads360V23Resources_CustomerSkAdNetworkConversionValueSchemaSkAdNetworkConversionValueSchema_ConversionValueMapping;
        /**
         * Output only. Fine grained conversion value. Valid values are in the inclusive range [0,63].
         */
        fineGrainedConversionValue?: number | null;
    }
    /**
     * Mappings for each postback in multiple conversion windows.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources_CustomerSkAdNetworkConversionValueSchemaSkAdNetworkConversionValueSchema_PostbackMapping {
        /**
         * Output only. Conversion value mappings for all coarse grained conversion values.
         */
        coarseGrainedConversionValueMappings?: Schema$GoogleAdsSearchads360V23Resources_CustomerSkAdNetworkConversionValueSchemaSkAdNetworkConversionValueSchema_CoarseGrainedConversionValueMappings;
        /**
         * Output only. Coarse grained conversion value that triggers conversion window lock.
         */
        lockWindowCoarseConversionValue?: string | null;
        /**
         * Output only. Event name that triggers conversion window lock.
         */
        lockWindowEvent?: string | null;
        /**
         * Output only. Fine grained conversion value that triggers conversion window lock.
         */
        lockWindowFineConversionValue?: number | null;
        /**
         * Output only. 0-based index that indicates the order of postback. Valid values are in the inclusive range [0,2].
         */
        postbackSequenceIndex?: number | null;
    }
    /**
     * The CustomerLink specific SkAdNetworkConversionValueSchema.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources_CustomerSkAdNetworkConversionValueSchema_SkAdNetworkConversionValueSchema {
        /**
         * Required. Output only. Apple App Store app ID.
         */
        appId?: string | null;
        /**
         * Output only. Fine grained conversion value mappings.
         */
        fineGrainedConversionValueMappings?: Schema$GoogleAdsSearchads360V23Resources_CustomerSkAdNetworkConversionValueSchemaSkAdNetworkConversionValueSchema_FineGrainedConversionValueMappings[];
        /**
         * Output only. A time window (measured in hours) post-install, after which the App Attribution Partner or advertiser stops calling [updateConversionValue] (https://developer.apple.com/documentation/storekit/skadnetwork/3566697-updateconversionvalue).
         */
        measurementWindowHours?: number | null;
        /**
         * Output only. Per-postback conversion value mappings for postbacks in multiple conversion windows. Only applicable for SkAdNetwork versions \>= 4.0.
         */
        postbackMappings?: Schema$GoogleAdsSearchads360V23Resources_CustomerSkAdNetworkConversionValueSchemaSkAdNetworkConversionValueSchema_PostbackMapping[];
    }
    /**
     * Holds the details of an asset within an asset group for an Optimize Assets experiment arm.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources_ExperimentArm_AssetGroupAssetInfo {
        /**
         * Asset resource name of the asset group asset.
         */
        asset?: string | null;
        /**
         * Field type of the asset group asset.
         */
        fieldType?: string | null;
    }
    /**
     * Holds the asset groups included in an arm of an Optimize Assets experiment.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources_ExperimentArm_AssetGroupInfo {
        /**
         * Asset group resource name.
         */
        assetGroup?: string | null;
        /**
         * List of asset group assets under the asset group.
         */
        assetGroupAssets?: Schema$GoogleAdsSearchads360V23Resources_ExperimentArm_AssetGroupAssetInfo[];
    }
    /**
     * Represents a summarized account budget billable cost.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources_Invoice_AccountBudgetSummary {
        /**
         * Output only. The resource name of the account budget associated with this summarized billable cost. AccountBudget resource names have the form: `customers/{customer_id\}/accountBudgets/{account_budget_id\}`
         */
        accountBudget?: string | null;
        /**
         * Output only. The name of the account budget. It appears on the invoice PDF as "Account budget".
         */
        accountBudgetName?: string | null;
        /**
         * Output only. The billable activity date range of the account budget, within the service date range of this invoice. The end date is inclusive. This can be different from the account budget's start and end time.
         */
        billableActivityDateRange?: Schema$GoogleAdsSearchads360V23Common__DateRange;
        /**
         * Output only. The pretax billed amount attributable to this budget during the service period, in micros. This does not account for any adjustments.
         */
        billedAmountMicros?: string | null;
        /**
         * Output only. The list of summarized campaign level information associated with this account budget.
         */
        campaignSummaries?: Schema$GoogleAdsSearchads360V23Resources_Invoice_CampaignSummary[];
        /**
         * Output only. The resource name of the customer associated with this account budget. This contains the customer ID, which appears on the invoice PDF as "Account ID". Customer resource names have the form: `customers/{customer_id\}`
         */
        customer?: string | null;
        /**
         * Output only. The descriptive name of the account budget's customer. It appears on the invoice PDF as "Account".
         */
        customerDescriptiveName?: string | null;
        /**
         * Output only. The pretax invalid activity amount attributable to this budget in previous months, in micros (negative value).
         */
        invalidActivityAmountMicros?: string | null;
        /**
         * Output only. The list of summarized invalid activity credits with original linkages.
         */
        invalidActivitySummaries?: Schema$GoogleAdsSearchads360V23Resources_Invoice_InvalidActivitySummary[];
        /**
         * Output only. The pretax overdelivery amount attributable to this budget during the service period, in micros (negative value).
         */
        overdeliveryAmountMicros?: string | null;
        /**
         * Output only. The purchase order number of the account budget. It appears on the invoice PDF as "Purchase order".
         */
        purchaseOrderNumber?: string | null;
        /**
         * Output only. The pretax served amount attributable to this budget during the service period, in micros. This is only useful to reconcile invoice and delivery data.
         */
        servedAmountMicros?: string | null;
        /**
         * Output only. The pretax subtotal amount attributable to this budget during the service period, in micros.
         */
        subtotalAmountMicros?: string | null;
        /**
         * Output only. The tax amount attributable to this budget during the service period, in micros.
         */
        taxAmountMicros?: string | null;
        /**
         * Output only. The total amount attributable to this budget during the service period, in micros. This equals the sum of the account budget subtotal amount and the account budget tax amount.
         */
        totalAmountMicros?: string | null;
    }
    /**
     * Represents a summarized view at account level.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources_Invoice_AccountSummary {
        /**
         * Output only. The list of adjustment information associated with this account.
         */
        adjustmentSummaries?: Schema$GoogleAdsSearchads360V23Resources_Invoice_AdjustmentSummary[];
        /**
         * Output only. Pretax billing correction subtotal amount, in micros.
         */
        billingCorrectionSubtotalAmountMicros?: string | null;
        /**
         * Output only. Tax on billing correction, in micros.
         */
        billingCorrectionTaxAmountMicros?: string | null;
        /**
         * Output only. Total billing correction amount, in micros.
         */
        billingCorrectionTotalAmountMicros?: string | null;
        /**
         * Output only. Pretax coupon adjustment subtotal amount, in micros.
         */
        couponAdjustmentSubtotalAmountMicros?: string | null;
        /**
         * Output only. Tax on coupon adjustment, in micros.
         */
        couponAdjustmentTaxAmountMicros?: string | null;
        /**
         * Output only. Total coupon adjustment amount, in micros.
         */
        couponAdjustmentTotalAmountMicros?: string | null;
        /**
         * Output only. The account associated with the account summary.
         */
        customer?: string | null;
        /**
         * Output only. Pretax excess credit adjustment subtotal amount, in micros.
         */
        excessCreditAdjustmentSubtotalAmountMicros?: string | null;
        /**
         * Output only. Tax on excess credit adjustment, in micros.
         */
        excessCreditAdjustmentTaxAmountMicros?: string | null;
        /**
         * Output only. Total excess credit adjustment amount, in micros.
         */
        excessCreditAdjustmentTotalAmountMicros?: string | null;
        /**
         * Output only. Pretax export charge subtotal amount, in micros.
         */
        exportChargeSubtotalAmountMicros?: string | null;
        /**
         * Output only. Tax on export charge, in micros.
         */
        exportChargeTaxAmountMicros?: string | null;
        /**
         * Output only. Total export charge amount, in micros.
         */
        exportChargeTotalAmountMicros?: string | null;
        /**
         * Output only. Pretax regulatory costs subtotal amount, in micros.
         */
        regulatoryCostsSubtotalAmountMicros?: string | null;
        /**
         * Output only. Tax on regulatory costs, in micros.
         */
        regulatoryCostsTaxAmountMicros?: string | null;
        /**
         * Output only. Total regulatory costs amount, in micros.
         */
        regulatoryCostsTotalAmountMicros?: string | null;
        /**
         * Output only. The list of regulatory cost information associated with this account.
         */
        regulatoryCostSummaries?: Schema$GoogleAdsSearchads360V23Resources_Invoice_RegulatoryCostSummary[];
        /**
         * Output only. Total pretax subtotal amount attributable to the account during the service period, in micros.
         */
        subtotalAmountMicros?: string | null;
        /**
         * Output only. Total tax amount attributable to the account during the service period, in micros.
         */
        taxAmountMicros?: string | null;
        /**
         * Output only. Total amount attributable to the account during the service period, in micros. This equals the sum of the subtotal_amount_micros and tax_amount_micros.
         */
        totalAmountMicros?: string | null;
    }
    /**
     * Represents adjustment information associated with an account.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources_Invoice_AdjustmentSummary {
        /**
         * Output only. The description of the adjustment. Example: Incentive Adjustment, discount.
         */
        adjustmentDescription?: string | null;
        /**
         * Output only. The amount of the adjustment, in micros. The currency code for this amount is the same as the Invoice.currency_code.
         */
        amountMicros?: string | null;
    }
    /**
     * Represents campaign level billable cost information associated with an account budget.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources_Invoice_CampaignSummary {
        /**
         * Output only. The amount attributable to this campaign for the given unit of measure during the service period, in micros. The currency code for this amount is the same as the Invoice.currency_code.
         */
        amountMicros?: string | null;
        /**
         * Output only. The description of the campaign. This is generally the same as the campaign name, but may differ.
         */
        campaignDescription?: string | null;
        /**
         * Output only. The quantity served for the given unit of measure.
         */
        quantity?: string | null;
        /**
         * Output only. The unit of measure for the quantity served.
         */
        unitOfMeasure?: string | null;
    }
    /**
     * Details about the invalid activity for the invoice that contain additional details about invoice against which corrections are made.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources_Invoice_InvalidActivitySummary {
        /**
         * Output only. Invalid activity amount in micros.
         */
        amountMicros?: string | null;
        /**
         * Output only. Original account budget name related to this invalid activity credit.
         */
        originalAccountBudgetName?: string | null;
        /**
         * Output only. Original invoice number related to this invalid activity credit.
         */
        originalInvoiceId?: string | null;
        /**
         * Output only. Original month of service related to this invalid activity credit.
         */
        originalMonthOfService?: string | null;
        /**
         * Output only. Original purchase order number related to this invalid activity credit.
         */
        originalPurchaseOrderNumber?: string | null;
        /**
         * Output only. Original year of service related to this invalid activity credit.
         */
        originalYearOfService?: string | null;
    }
    /**
     * Represents regulatory cost information associated with an account.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources_Invoice_RegulatoryCostSummary {
        /**
         * Output only. The amount of the regulatory fee, in micros. The currency code for this amount is the same as the Invoice.currency_code.
         */
        amountMicros?: string | null;
        /**
         * Output only. The type of regulatory fee.
         */
        regulatoryFeeType?: string | null;
    }
    /**
     * Brand of the product.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources_ListingGroupFilterDimension_ProductBrand {
        /**
         * String value of the product brand.
         */
        value?: string | null;
    }
    /**
     * One element of a category at a certain level. Top-level categories are at level 1, their children at level 2, and so on. We currently support up to 5 levels. The user must specify a dimension type that indicates the level of the category. All cases of the same subdivision must have the same dimension type (category level).
     */
    export interface Schema$GoogleAdsSearchads360V23Resources_ListingGroupFilterDimension_ProductCategory {
        /**
         * ID of the product category. This ID is equivalent to the google_product_category ID as described in this article: https://support.google.com/merchants/answer/6324436
         */
        categoryId?: string | null;
        /**
         * Indicates the level of the category in the taxonomy.
         */
        level?: string | null;
    }
    /**
     * Locality of a product offer.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources_ListingGroupFilterDimension_ProductChannel {
        /**
         * Value of the locality.
         */
        channel?: string | null;
    }
    /**
     * Condition of a product offer.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources_ListingGroupFilterDimension_ProductCondition {
        /**
         * Value of the condition.
         */
        condition?: string | null;
    }
    /**
     * Custom attribute of a product offer.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources_ListingGroupFilterDimension_ProductCustomAttribute {
        /**
         * Indicates the index of the custom attribute.
         */
        index?: string | null;
        /**
         * String value of the product custom attribute.
         */
        value?: string | null;
    }
    /**
     * Item id of a product offer.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources_ListingGroupFilterDimension_ProductItemId {
        /**
         * Value of the id.
         */
        value?: string | null;
    }
    /**
     * Type of a product offer.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources_ListingGroupFilterDimension_ProductType {
        /**
         * Level of the type.
         */
        level?: string | null;
        /**
         * Value of the type.
         */
        value?: string | null;
    }
    /**
     * Filters for URLs in a page feed and URLs from the advertiser web domain. Several root nodes with this dimension are allowed in an asset group and their conditions are considered in OR.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources_ListingGroupFilterDimension_Webpage {
        /**
         * The webpage conditions are case sensitive and these are and-ed together when evaluated for filtering. All the conditions should be of same type. Example1: for URL1 = www.ads.google.com?ocid=1&euid=2 and URL2 = www.ads.google.com?ocid=1 and with "ocid" and "euid" as url_contains conditions, URL1 will be matched, but URL2 not. Example2 : If URL1 has Label1, Label2 and URL2 has Label2, Label3, then with Label1 and Label2 as custom_label conditions, URL1 will be matched but not URL2. With Label2 as the only custom_label condition then both URL1 and URL2 will be matched.
         */
        conditions?: Schema$GoogleAdsSearchads360V23Resources_ListingGroupFilterDimension_WebpageCondition[];
    }
    /**
     * Matching condition for URL filtering.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources_ListingGroupFilterDimension_WebpageCondition {
        /**
         * Filters the URLs in a page feed that have this custom label. A custom label can be added to a campaign by creating an AssetSet of type PAGE_FEED and linking it to the campaign using CampaignAssetSet.
         */
        customLabel?: string | null;
        /**
         * Filters the URLs in a page feed and the URLs from the advertiser web domain that contain this string.
         */
        urlContains?: string | null;
    }
    /**
     * Localization for the product category.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources_ProductCategoryConstant_ProductCategoryLocalization {
        /**
         * Output only. Two-letter ISO 639-1 language code of the localized category.
         */
        languageCode?: string | null;
        /**
         * Output only. Upper-case two-letter ISO 3166-1 country code of the localized category.
         */
        regionCode?: string | null;
        /**
         * Output only. The name of the category in the specified locale.
         */
        value?: string | null;
    }
    /**
     * The impact estimates for a given budget amount.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources_RecommendationCampaignBudgetRecommendation_CampaignBudgetRecommendationOption {
        /**
         * Output only. The budget amount for this option.
         */
        budgetAmountMicros?: string | null;
        /**
         * Output only. The impact estimate if budget is changed to amount specified in this option.
         */
        impact?: Schema$GoogleAdsSearchads360V23Resources_Recommendation_RecommendationImpact;
    }
    /**
     * Information about a search term as related to a keyword recommendation.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources_RecommendationKeywordRecommendation_SearchTerm {
        /**
         * Output only. Estimated number of historical weekly searches for this search term.
         */
        estimatedWeeklySearchCount?: string | null;
        /**
         * Output only. The text of the search term.
         */
        text?: string | null;
    }
    /**
     * The Target CPA opt-in option with impact estimate.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources_RecommendationTargetCpaOptInRecommendation_TargetCpaOptInRecommendationOption {
        /**
         * Output only. The goal achieved by this option.
         */
        goal?: string | null;
        /**
         * Output only. The impact estimate if this option is selected.
         */
        impact?: Schema$GoogleAdsSearchads360V23Resources_Recommendation_RecommendationImpact;
        /**
         * Output only. The minimum campaign budget, in local currency for the account, required to achieve the target CPA. Amount is specified in micros, where one million is equivalent to one currency unit.
         */
        requiredCampaignBudgetAmountMicros?: string | null;
        /**
         * Output only. Average CPA target.
         */
        targetCpaMicros?: string | null;
    }
    /**
     * Wrapper for information about a Google Ads account.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources_Recommendation_AccountInfo {
        /**
         * Output only. The customer ID of the account.
         */
        customerId?: string | null;
        /**
         * Output only. The descriptive name of the account.
         */
        descriptiveName?: string | null;
    }
    /**
     * The call asset recommendation.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources_Recommendation_CallAssetRecommendation {
    }
    /**
     * The callout asset recommendation.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources_Recommendation_CalloutAssetRecommendation {
        /**
         * Output only. New callout extension assets recommended at the campaign level.
         */
        recommendedCampaignCalloutAssets?: Schema$GoogleAdsSearchads360V23Resources__Asset[];
        /**
         * Output only. New callout extension assets recommended at the customer level.
         */
        recommendedCustomerCalloutAssets?: Schema$GoogleAdsSearchads360V23Resources__Asset[];
    }
    /**
     * A campaign budget shared amongst various budget recommendation types.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources_Recommendation_CampaignBudget {
        /**
         * Output only. Current budget amount.
         */
        currentAmountMicros?: string | null;
        /**
         * Output only. The date when the new budget would start being used. This field will be set for the following recommendation types: FORECASTING_SET_TARGET_ROAS YYYY-MM-DD format, for example, 2018-04-17.
         */
        newStartDate?: string | null;
        /**
         * Output only. Recommended budget amount.
         */
        recommendedNewAmountMicros?: string | null;
    }
    /**
     * The budget recommendation for budget constrained campaigns.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources_Recommendation_CampaignBudgetRecommendation {
        /**
         * Output only. The budget amounts and associated impact estimates for some values of possible budget amounts.
         */
        budgetOptions?: Schema$GoogleAdsSearchads360V23Resources_RecommendationCampaignBudgetRecommendation_CampaignBudgetRecommendationOption[];
        /**
         * Output only. The current budget amount in micros.
         */
        currentBudgetAmountMicros?: string | null;
        /**
         * Output only. The recommended budget amount in micros.
         */
        recommendedBudgetAmountMicros?: string | null;
    }
    /**
     * The Custom Audience Opt In recommendation.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources_Recommendation_CustomAudienceOptInRecommendation {
        /**
         * Output only. The list of keywords to use for custom audience creation.
         */
        keywords?: Schema$GoogleAdsSearchads360V23Common__KeywordInfo[];
    }
    /**
     * The Display Expansion opt-in recommendation.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources_Recommendation_DisplayExpansionOptInRecommendation {
    }
    /**
     * Recommendation to enable dynamic image extensions on the account, allowing Google to find the best images from ad landing pages and complement text ads.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources_Recommendation_DynamicImageExtensionOptInRecommendation {
    }
    /**
     * The Enhanced Cost-Per-Click Opt-In recommendation.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources_Recommendation_EnhancedCpcOptInRecommendation {
    }
    /**
     * The set target CPA recommendations.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources_Recommendation_ForecastingSetTargetCpaRecommendation {
        /**
         * Output only. The campaign budget.
         */
        campaignBudget?: Schema$GoogleAdsSearchads360V23Resources_Recommendation_CampaignBudget;
        /**
         * Output only. The recommended target CPA.
         */
        recommendedTargetCpaMicros?: string | null;
    }
    /**
     * The forecasting set target ROAS recommendation.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources_Recommendation_ForecastingSetTargetRoasRecommendation {
        /**
         * Output only. The campaign budget.
         */
        campaignBudget?: Schema$GoogleAdsSearchads360V23Resources_Recommendation_CampaignBudget;
        /**
         * Output only. The recommended target ROAS (revenue per unit of spend). The value is between 0.01 and 1000.0, inclusive.
         */
        recommendedTargetRoas?: number | null;
    }
    /**
     * The improve Demand Gen ad strength recommendation.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources_Recommendation_ImproveDemandGenAdStrengthRecommendation {
        /**
         * Output only. The resource name of the ad that can be improved.
         */
        ad?: string | null;
        /**
         * Output only. The current ad strength.
         */
        adStrength?: string | null;
        /**
         * Output only. A list of recommendations to improve the ad strength.
         */
        demandGenAssetActionItems?: string[] | null;
    }
    /**
     * Recommendation to deploy Google Tag on more pages.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources_Recommendation_ImproveGoogleTagCoverageRecommendation {
    }
    /**
     * Recommendation to improve the asset group strength of a Performance Max campaign to an "Excellent" rating.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources_Recommendation_ImprovePerformanceMaxAdStrengthRecommendation {
        /**
         * Output only. The current ad strength score of the asset group.
         */
        adStrength?: string | null;
        /**
         * Output only. The asset group resource name.
         */
        assetGroup?: string | null;
    }
    /**
     * The keyword match type recommendation.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources_Recommendation_KeywordMatchTypeRecommendation {
        /**
         * Output only. The existing keyword where the match type should be more broad.
         */
        keyword?: Schema$GoogleAdsSearchads360V23Common__KeywordInfo;
        /**
         * Output only. The recommended new match type.
         */
        recommendedMatchType?: string | null;
    }
    /**
     * The keyword recommendation.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources_Recommendation_KeywordRecommendation {
        /**
         * Output only. The recommended keyword.
         */
        keyword?: Schema$GoogleAdsSearchads360V23Common__KeywordInfo;
        /**
         * Output only. The recommended CPC (cost-per-click) bid.
         */
        recommendedCpcBidMicros?: string | null;
        /**
         * Output only. A list of search terms this keyword matches. The same search term may be repeated for multiple keywords.
         */
        searchTerms?: Schema$GoogleAdsSearchads360V23Resources_RecommendationKeywordRecommendation_SearchTerm[];
    }
    /**
     * The lead form asset recommendation.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources_Recommendation_LeadFormAssetRecommendation {
    }
    /**
     * Recommendation to lower Target ROAS.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources_Recommendation_LowerTargetRoasRecommendation {
        /**
         * Output only. The relevant information describing the recommended target adjustment.
         */
        targetAdjustment?: Schema$GoogleAdsSearchads360V23Resources_Recommendation_TargetAdjustmentInfo;
    }
    /**
     * The Maximize Clicks opt-in recommendation.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources_Recommendation_MaximizeClicksOptInRecommendation {
        /**
         * Output only. The recommended new budget amount. Only set if the current budget is too high.
         */
        recommendedBudgetAmountMicros?: string | null;
    }
    /**
     * The Maximize Conversions Opt-In recommendation.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources_Recommendation_MaximizeConversionsOptInRecommendation {
        /**
         * Output only. The recommended new budget amount.
         */
        recommendedBudgetAmountMicros?: string | null;
    }
    /**
     * Recommendation to opt into Maximize Conversion Value bidding strategy.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources_Recommendation_MaximizeConversionValueOptInRecommendation {
    }
    /**
     * The Merchant Center account details.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources_Recommendation_MerchantInfo {
        /**
         * Output only. The Merchant Center account ID.
         */
        id?: string | null;
        /**
         * Output only. Whether the Merchant Center account is a Multi-Client account (MCA).
         */
        multiClient?: boolean | null;
        /**
         * Output only. The name of the Merchant Center account.
         */
        name?: string | null;
    }
    /**
     * The Dynamic Search Ads to Performance Max migration recommendation.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources_Recommendation_MigrateDynamicSearchAdsCampaignToPerformanceMaxRecommendation {
        /**
         * Output only. A link to the Google Ads UI where the customer can manually apply the recommendation.
         */
        applyLink?: string | null;
    }
    /**
     * The move unused budget recommendation.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources_Recommendation_MoveUnusedBudgetRecommendation {
        /**
         * Output only. The recommendation for the constrained budget to increase.
         */
        budgetRecommendation?: Schema$GoogleAdsSearchads360V23Resources_Recommendation_CampaignBudgetRecommendation;
        /**
         * Output only. The excess budget's resource_name.
         */
        excessCampaignBudget?: string | null;
    }
    /**
     * The Optimize Ad Rotation recommendation.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources_Recommendation_OptimizeAdRotationRecommendation {
    }
    /**
     * Recommendation to turn on Final URL expansion for your Performance Max campaigns.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources_Recommendation_PerformanceMaxFinalUrlOptInRecommendation {
    }
    /**
     * The Performance Max Opt In recommendation.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources_Recommendation_PerformanceMaxOptInRecommendation {
    }
    /**
     * The raise target CPA bid too low recommendation.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources_Recommendation_RaiseTargetCpaBidTooLowRecommendation {
        /**
         * Output only. The current average target CPA of the campaign, in micros of customer local currency.
         */
        averageTargetCpaMicros?: string | null;
        /**
         * Output only. A number greater than 1.0 indicating the factor by which we recommend the target CPA should be increased.
         */
        recommendedTargetMultiplier?: number | null;
    }
    /**
     * Recommendation to raise Target CPA.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources_Recommendation_RaiseTargetCpaRecommendation {
        /**
         * Output only. Represents the goal towards which the bidding strategy should optimize. Only populated for App Campaigns.
         */
        appBiddingGoal?: string | null;
        /**
         * Output only. The relevant information describing the recommended target adjustment.
         */
        targetAdjustment?: Schema$GoogleAdsSearchads360V23Resources_Recommendation_TargetAdjustmentInfo;
    }
    /**
     * The impact of making the change as described in the recommendation. Some types of recommendations may not have impact information.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources_Recommendation_RecommendationImpact {
        /**
         * Output only. Base metrics at the time the recommendation was generated.
         */
        baseMetrics?: Schema$GoogleAdsSearchads360V23Resources_Recommendation_RecommendationMetrics;
        /**
         * Output only. Estimated metrics if the recommendation is applied.
         */
        potentialMetrics?: Schema$GoogleAdsSearchads360V23Resources_Recommendation_RecommendationMetrics;
    }
    /**
     * Weekly account performance metrics. For some recommendation types, these are averaged over the past 90-day period and hence can be fractional.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources_Recommendation_RecommendationMetrics {
        /**
         * Output only. Number of ad clicks.
         */
        clicks?: number | null;
        /**
         * Output only. Number of conversions.
         */
        conversions?: number | null;
        /**
         * Output only. Sum of the conversion value of the conversions.
         */
        conversionsValue?: number | null;
        /**
         * Output only. Cost (in micros) for advertising, in the local currency for the account.
         */
        costMicros?: string | null;
        /**
         * Output only. Number of ad impressions.
         */
        impressions?: number | null;
        /**
         * Output only. Number of video views for a video ad campaign.
         */
        videoViews?: number | null;
    }
    /**
     * The recommendation to update a customer list that hasn't been updated in the last 90 days. The customer receiving the recommendation is not necessarily the owner account. The owner account should update the customer list.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources_Recommendation_RefreshCustomerMatchListRecommendation {
        /**
         * Output only. Days since last refresh.
         */
        daysSinceLastRefresh?: string | null;
        /**
         * Output only. The owner account. This is the account that should update the customer list.
         */
        ownerAccount?: Schema$GoogleAdsSearchads360V23Resources_Recommendation_AccountInfo;
        /**
         * Output only. User lists can be shared with other accounts by the owner. targeting_accounts_count is the number of those accounts that can use it for targeting.
         */
        targetingAccountsCount?: string | null;
        /**
         * Output only. The top spending account.
         */
        topSpendingAccount?: Schema$GoogleAdsSearchads360V23Resources_Recommendation_AccountInfo[];
        /**
         * Output only. The user list ID.
         */
        userListId?: string | null;
        /**
         * Output only. The name of the list.
         */
        userListName?: string | null;
    }
    /**
     * The add responsive search ad asset recommendation.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources_Recommendation_ResponsiveSearchAdAssetRecommendation {
        /**
         * Output only. The current ad to be updated.
         */
        currentAd?: Schema$GoogleAdsSearchads360V23Resources__Ad;
        /**
         * Output only. The recommended assets. This is populated only with the new headlines and/or descriptions, and is otherwise empty.
         */
        recommendedAssets?: Schema$GoogleAdsSearchads360V23Resources__Ad;
    }
    /**
     * The responsive search ad improve ad strength recommendation.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources_Recommendation_ResponsiveSearchAdImproveAdStrengthRecommendation {
        /**
         * Output only. The current ad to be updated.
         */
        currentAd?: Schema$GoogleAdsSearchads360V23Resources__Ad;
        /**
         * Output only. The updated ad.
         */
        recommendedAd?: Schema$GoogleAdsSearchads360V23Resources__Ad;
    }
    /**
     * The add responsive search ad recommendation.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources_Recommendation_ResponsiveSearchAdRecommendation {
        /**
         * Output only. Recommended ad.
         */
        ad?: Schema$GoogleAdsSearchads360V23Resources__Ad;
    }
    /**
     * The Search Partners Opt-In recommendation.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources_Recommendation_SearchPartnersOptInRecommendation {
    }
    /**
     * The shopping recommendation to add products to a Shopping Campaign Inventory.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources_Recommendation_ShoppingAddProductsToCampaignRecommendation {
        /**
         * Output only. The feed label for the campaign.
         */
        feedLabel?: string | null;
        /**
         * Output only. The details of the Merchant Center account.
         */
        merchant?: Schema$GoogleAdsSearchads360V23Resources_Recommendation_MerchantInfo;
        /**
         * Output only. The reason why no products are attached to the campaign.
         */
        reason?: string | null;
    }
    /**
     * The shopping recommendation to fix disapproved products in a Shopping Campaign Inventory.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources_Recommendation_ShoppingFixDisapprovedProductsRecommendation {
        /**
         * Output only. The numbers of products of the campaign that are disapproved.
         */
        disapprovedProductsCount?: string | null;
        /**
         * Output only. The feed label for the campaign.
         */
        feedLabel?: string | null;
        /**
         * Output only. The details of the Merchant Center account.
         */
        merchant?: Schema$GoogleAdsSearchads360V23Resources_Recommendation_MerchantInfo;
        /**
         * Output only. The number of products of the campaign.
         */
        productsCount?: string | null;
    }
    /**
     * The shopping recommendation to fix Merchant Center account suspension issues.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources_Recommendation_ShoppingMerchantCenterAccountSuspensionRecommendation {
        /**
         * Output only. The feed label of the campaign for which the suspension happened.
         */
        feedLabel?: string | null;
        /**
         * Output only. The details of the Merchant Center account.
         */
        merchant?: Schema$GoogleAdsSearchads360V23Resources_Recommendation_MerchantInfo;
    }
    /**
     * The shopping recommendation to migrate Regular Shopping Campaign targeted offers to Performance Max campaigns.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources_Recommendation_ShoppingMigrateRegularShoppingCampaignOffersToPerformanceMaxRecommendation {
        /**
         * Output only. The feed label of the offers targeted by the campaigns sharing this suggestion.
         */
        feedLabel?: string | null;
        /**
         * Output only. The details of the Merchant Center account.
         */
        merchant?: Schema$GoogleAdsSearchads360V23Resources_Recommendation_MerchantInfo;
    }
    /**
     * The shopping recommendation to add an attribute to offers that are demoted because it is missing.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources_Recommendation_ShoppingOfferAttributeRecommendation {
        /**
         * Output only. The number of online, servable offers that are demoted for missing attributes. Visit the Merchant Center for more details.
         */
        demotedOffersCount?: string | null;
        /**
         * Output only. The campaign feed label.
         */
        feedLabel?: string | null;
        /**
         * Output only. The details of the Merchant Center account.
         */
        merchant?: Schema$GoogleAdsSearchads360V23Resources_Recommendation_MerchantInfo;
        /**
         * Output only. The number of online, servable offers.
         */
        offersCount?: string | null;
    }
    /**
     * The shopping recommendation to create a catch-all campaign that targets all offers.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources_Recommendation_ShoppingTargetAllOffersRecommendation {
        /**
         * Output only. The offer feed label.
         */
        feedLabel?: string | null;
        /**
         * Output only. The details of the Merchant Center account.
         */
        merchant?: Schema$GoogleAdsSearchads360V23Resources_Recommendation_MerchantInfo;
        /**
         * Output only. The number of untargeted offers.
         */
        untargetedOffersCount?: string | null;
    }
    /**
     * The sitelink asset recommendation.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources_Recommendation_SitelinkAssetRecommendation {
        /**
         * Output only. New sitelink assets recommended at the campaign level.
         */
        recommendedCampaignSitelinkAssets?: Schema$GoogleAdsSearchads360V23Resources__Asset[];
        /**
         * Output only. New sitelink assets recommended at the customer level.
         */
        recommendedCustomerSitelinkAssets?: Schema$GoogleAdsSearchads360V23Resources__Asset[];
    }
    /**
     * Information of a target adjustment recommendation.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources_Recommendation_TargetAdjustmentInfo {
        /**
         * Output only. The current average target of the campaign or portfolio targeted by this recommendation.
         */
        currentAverageTargetMicros?: string | null;
        /**
         * Output only. The factor by which we recommend the target to be adjusted by.
         */
        recommendedTargetMultiplier?: number | null;
        /**
         * Output only. The shared set resource name of the portfolio bidding strategy where the target is defined. Only populated if the recommendation is portfolio level.
         */
        sharedSet?: string | null;
    }
    /**
     * The Target CPA opt-in recommendation.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources_Recommendation_TargetCpaOptInRecommendation {
        /**
         * Output only. The available goals and corresponding options for Target CPA strategy.
         */
        options?: Schema$GoogleAdsSearchads360V23Resources_RecommendationTargetCpaOptInRecommendation_TargetCpaOptInRecommendationOption[];
        /**
         * Output only. The recommended average CPA target. See required budget amount and impact of using this recommendation in options list.
         */
        recommendedTargetCpaMicros?: string | null;
    }
    /**
     * The Target ROAS opt-in recommendation.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources_Recommendation_TargetRoasOptInRecommendation {
        /**
         * Output only. The recommended target ROAS (revenue per unit of spend). The value is between 0.01 and 1000.0, inclusive.
         */
        recommendedTargetRoas?: number | null;
        /**
         * Output only. The minimum campaign budget, in local currency for the account, required to achieve the target ROAS. Amount is specified in micros, where one million is equivalent to one currency unit.
         */
        requiredCampaignBudgetAmountMicros?: string | null;
    }
    /**
     * The text ad recommendation.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources_Recommendation_TextAdRecommendation {
        /**
         * Output only. Recommended ad.
         */
        ad?: Schema$GoogleAdsSearchads360V23Resources__Ad;
        /**
         * Output only. Date, if present, is the earliest when the recommendation will be auto applied. YYYY-MM-DD format, for example, 2018-04-17.
         */
        autoApplyDate?: string | null;
        /**
         * Output only. Creation date of the recommended ad. YYYY-MM-DD format, for example, 2018-04-17.
         */
        creationDate?: string | null;
    }
    /**
     * The Upgrade Local campaign to Performance Max campaign recommendation.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources_Recommendation_UpgradeLocalCampaignToPerformanceMaxRecommendation {
    }
    /**
     * The upgrade a Smart Shopping campaign to a Performance Max campaign recommendation.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources_Recommendation_UpgradeSmartShoppingCampaignToPerformanceMaxRecommendation {
        /**
         * Output only. ID of Merchant Center account.
         */
        merchantId?: string | null;
        /**
         * Output only. Country whose products from merchant's inventory should be included.
         */
        salesCountryCode?: string | null;
    }
    /**
     * The use broad match keyword recommendation.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources_Recommendation_UseBroadMatchKeywordRecommendation {
        /**
         * Output only. Total number of keywords in the campaign.
         */
        campaignKeywordsCount?: string | null;
        /**
         * Output only. Whether the associated campaign uses a shared budget.
         */
        campaignUsesSharedBudget?: boolean | null;
        /**
         * Output only. Sample of keywords to be expanded to Broad Match.
         */
        keyword?: Schema$GoogleAdsSearchads360V23Common__KeywordInfo[];
        /**
         * Output only. The budget recommended to avoid becoming budget constrained after applying the recommendation.
         */
        requiredCampaignBudgetAmountMicros?: string | null;
        /**
         * Output only. Total number of keywords to be expanded to Broad Match in the campaign.
         */
        suggestedKeywordsCount?: string | null;
    }
    /**
     * An issue affecting whether a product can show in ads.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources_ShoppingProduct_ProductIssue {
        /**
         * Output only. The severity of the issue in Google Ads.
         */
        adsSeverity?: string | null;
        /**
         * Output only. List of upper-case two-letter ISO 3166-1 codes of the regions affected by the issue. If empty, all regions are affected.
         */
        affectedRegions?: string[] | null;
        /**
         * Output only. The name of the product's attribute, if any, that triggered the issue.
         */
        attributeName?: string | null;
        /**
         * Output only. The short description of the issue in English.
         */
        description?: string | null;
        /**
         * Output only. The detailed description of the issue in English.
         */
        detail?: string | null;
        /**
         * Output only. The URL of the Help Center article for the issue.
         */
        documentation?: string | null;
        /**
         * Output only. The error code that identifies the issue.
         */
        errorCode?: string | null;
    }
    /**
     * Settings for configuring a business profile optimized for ads as this campaign's landing page.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources_SmartCampaignSetting_AdOptimizedBusinessProfileSetting {
        /**
         * Enabling a lead form on your business profile enables prospective customers to contact your business by filling out a simple form, and you'll receive their information through email.
         */
        includeLeadForm?: boolean | null;
    }
    /**
     * Phone number and country code in smart campaign settings.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources_SmartCampaignSetting_PhoneNumber {
        /**
         * Upper-case, two-letter country code as defined by ISO-3166.
         */
        countryCode?: string | null;
        /**
         * Phone number of the smart campaign.
         */
        phoneNumber?: string | null;
    }
    /**
     * Represents a view of BiddingStrategies owned by and shared with the customer. In contrast to BiddingStrategy, this resource includes strategies owned by managers of the customer and shared with this customer - in addition to strategies owned by this customer. This resource does not provide metrics and only exposes a limited subset of the BiddingStrategy attributes.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources__AccessibleBiddingStrategy {
        /**
         * Output only. The ID of the bidding strategy.
         */
        id?: string | null;
        /**
         * Output only. An automated bidding strategy to help get the most conversions for your campaigns while spending your budget.
         */
        maximizeConversions?: Schema$GoogleAdsSearchads360V23Resources_AccessibleBiddingStrategy_MaximizeConversions;
        /**
         * Output only. An automated bidding strategy to help get the most conversion value for your campaigns while spending your budget.
         */
        maximizeConversionValue?: Schema$GoogleAdsSearchads360V23Resources_AccessibleBiddingStrategy_MaximizeConversionValue;
        /**
         * Output only. The name of the bidding strategy.
         */
        name?: string | null;
        /**
         * Output only. The ID of the Customer which owns the bidding strategy.
         */
        ownerCustomerId?: string | null;
        /**
         * Output only. descriptive_name of the Customer which owns the bidding strategy.
         */
        ownerDescriptiveName?: string | null;
        /**
         * Output only. The resource name of the accessible bidding strategy. AccessibleBiddingStrategy resource names have the form: `customers/{customer_id\}/accessibleBiddingStrategies/{bidding_strategy_id\}`
         */
        resourceName?: string | null;
        /**
         * Output only. A bidding strategy that sets bids to help get as many conversions as possible at the target cost-per-acquisition (CPA) you set.
         */
        targetCpa?: Schema$GoogleAdsSearchads360V23Resources_AccessibleBiddingStrategy_TargetCpa;
        /**
         * Output only. A bidding strategy that automatically optimizes towards a chosen percentage of impressions.
         */
        targetImpressionShare?: Schema$GoogleAdsSearchads360V23Resources_AccessibleBiddingStrategy_TargetImpressionShare;
        /**
         * Output only. A bidding strategy that helps you maximize revenue while averaging a specific target Return On Ad Spend (ROAS).
         */
        targetRoas?: Schema$GoogleAdsSearchads360V23Resources_AccessibleBiddingStrategy_TargetRoas;
        /**
         * Output only. A bid strategy that sets your bids to help get as many clicks as possible within your budget.
         */
        targetSpend?: Schema$GoogleAdsSearchads360V23Resources_AccessibleBiddingStrategy_TargetSpend;
        /**
         * Output only. The type of the bidding strategy.
         */
        type?: string | null;
    }
    /**
     * An account-level budget. It contains information about the budget itself, as well as the most recently approved changes to the budget and proposed changes that are pending approval. The proposed changes that are pending approval, if any, are found in 'pending_proposal'. Effective details about the budget are found in fields prefixed 'approved_', 'adjusted_' and those without a prefix. Since some effective details may differ from what the user had originally requested (for example, spending limit), these differences are juxtaposed through 'proposed_', 'approved_', and possibly 'adjusted_' fields. This resource is mutated using AccountBudgetProposal and cannot be mutated directly. A budget may have at most one pending proposal at any given time. It is read through pending_proposal. Once approved, a budget may be subject to adjustments, such as credit adjustments. Adjustments create differences between the 'approved' and 'adjusted' fields, which would otherwise be identical.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources__AccountBudget {
        /**
         * Output only. The adjusted spending limit in micros. One million is equivalent to one unit. If the approved spending limit is finite, the adjusted spending limit may vary depending on the types of adjustments applied to this budget, if applicable. The different kinds of adjustments are described here: https://support.google.com/google-ads/answer/1704323 For example, a debit adjustment reduces how much the account is allowed to spend.
         */
        adjustedSpendingLimitMicros?: string | null;
        /**
         * Output only. The adjusted spending limit as a well-defined type, for example, INFINITE. This will only be populated if the adjusted spending limit is INFINITE, which is guaranteed to be true if the approved spending limit is INFINITE.
         */
        adjustedSpendingLimitType?: string | null;
        /**
         * Output only. The value of Ads that have been served, in micros. This includes overdelivery costs, in which case a credit might be automatically applied to the budget (see total_adjustments_micros).
         */
        amountServedMicros?: string | null;
        /**
         * Output only. The approved end time in yyyy-MM-dd HH:mm:ss format.
         */
        approvedEndDateTime?: string | null;
        /**
         * Output only. The approved end time as a well-defined type, for example, FOREVER.
         */
        approvedEndTimeType?: string | null;
        /**
         * Output only. The approved spending limit in micros. One million is equivalent to one unit. This will only be populated if the proposed spending limit is finite, and will always be greater than or equal to the proposed spending limit.
         */
        approvedSpendingLimitMicros?: string | null;
        /**
         * Output only. The approved spending limit as a well-defined type, for example, INFINITE. This will only be populated if the approved spending limit is INFINITE.
         */
        approvedSpendingLimitType?: string | null;
        /**
         * Output only. The approved start time of the account-level budget in yyyy-MM-dd HH:mm:ss format. For example, if a new budget is approved after the proposed start time, the approved start time is the time of approval.
         */
        approvedStartDateTime?: string | null;
        /**
         * Output only. The resource name of the billing setup associated with this account-level budget. BillingSetup resource names have the form: `customers/{customer_id\}/billingSetups/{billing_setup_id\}`
         */
        billingSetup?: string | null;
        /**
         * Output only. The ID of the account-level budget.
         */
        id?: string | null;
        /**
         * Output only. The name of the account-level budget.
         */
        name?: string | null;
        /**
         * Output only. Notes associated with the budget.
         */
        notes?: string | null;
        /**
         * Output only. The pending proposal to modify this budget, if applicable.
         */
        pendingProposal?: Schema$GoogleAdsSearchads360V23Resources_AccountBudget_PendingAccountBudgetProposal;
        /**
         * Output only. The proposed end time in yyyy-MM-dd HH:mm:ss format.
         */
        proposedEndDateTime?: string | null;
        /**
         * Output only. The proposed end time as a well-defined type, for example, FOREVER.
         */
        proposedEndTimeType?: string | null;
        /**
         * Output only. The proposed spending limit in micros. One million is equivalent to one unit.
         */
        proposedSpendingLimitMicros?: string | null;
        /**
         * Output only. The proposed spending limit as a well-defined type, for example, INFINITE.
         */
        proposedSpendingLimitType?: string | null;
        /**
         * Output only. The proposed start time of the account-level budget in yyyy-MM-dd HH:mm:ss format. If a start time type of NOW was proposed, this is the time of request.
         */
        proposedStartDateTime?: string | null;
        /**
         * Output only. A purchase order number is a value that helps users reference this budget in their monthly invoices.
         */
        purchaseOrderNumber?: string | null;
        /**
         * Output only. The resource name of the account-level budget. AccountBudget resource names have the form: `customers/{customer_id\}/accountBudgets/{account_budget_id\}`
         */
        resourceName?: string | null;
        /**
         * Output only. The status of this account-level budget.
         */
        status?: string | null;
        /**
         * Output only. The total adjustments amount. An example of an adjustment is courtesy credits.
         */
        totalAdjustmentsMicros?: string | null;
    }
    /**
     * An account-level budget proposal. All fields prefixed with 'proposed' may not necessarily be applied directly. For example, proposed spending limits may be adjusted before their application. This is true if the 'proposed' field has an 'approved' counterpart, for example, spending limits. Note that the proposal type (proposal_type) changes which fields are required and which must remain empty.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources__AccountBudgetProposal {
        /**
         * Immutable. The resource name of the account-level budget associated with this proposal.
         */
        accountBudget?: string | null;
        /**
         * Output only. The date time when this account-level budget was approved, if applicable.
         */
        approvalDateTime?: string | null;
        /**
         * Output only. The approved end date time in yyyy-mm-dd hh:mm:ss format.
         */
        approvedEndDateTime?: string | null;
        /**
         * Output only. The approved end date time as a well-defined type, for example, FOREVER.
         */
        approvedEndTimeType?: string | null;
        /**
         * Output only. The approved spending limit in micros. One million is equivalent to one unit.
         */
        approvedSpendingLimitMicros?: string | null;
        /**
         * Output only. The approved spending limit as a well-defined type, for example, INFINITE.
         */
        approvedSpendingLimitType?: string | null;
        /**
         * Output only. The approved start date time in yyyy-mm-dd hh:mm:ss format.
         */
        approvedStartDateTime?: string | null;
        /**
         * Immutable. The resource name of the billing setup associated with this proposal.
         */
        billingSetup?: string | null;
        /**
         * Output only. The date time when this account-level budget proposal was created, which is not the same as its approval date time, if applicable.
         */
        creationDateTime?: string | null;
        /**
         * Output only. The ID of the proposal.
         */
        id?: string | null;
        /**
         * Immutable. The type of this proposal, for example, END to end the budget associated with this proposal.
         */
        proposalType?: string | null;
        /**
         * Immutable. The proposed end date time in yyyy-mm-dd hh:mm:ss format.
         */
        proposedEndDateTime?: string | null;
        /**
         * Immutable. The proposed end date time as a well-defined type, for example, FOREVER.
         */
        proposedEndTimeType?: string | null;
        /**
         * Immutable. The name to assign to the account-level budget.
         */
        proposedName?: string | null;
        /**
         * Immutable. Notes associated with this budget.
         */
        proposedNotes?: string | null;
        /**
         * Immutable. A purchase order number is a value that enables the user to help them reference this budget in their monthly invoices.
         */
        proposedPurchaseOrderNumber?: string | null;
        /**
         * Immutable. The proposed spending limit in micros. One million is equivalent to one unit.
         */
        proposedSpendingLimitMicros?: string | null;
        /**
         * Immutable. The proposed spending limit as a well-defined type, for example, INFINITE.
         */
        proposedSpendingLimitType?: string | null;
        /**
         * Immutable. The proposed start date time in yyyy-mm-dd hh:mm:ss format.
         */
        proposedStartDateTime?: string | null;
        /**
         * Immutable. The proposed start date time as a well-defined type, for example, NOW.
         */
        proposedStartTimeType?: string | null;
        /**
         * Immutable. The resource name of the proposal. AccountBudgetProposal resource names have the form: `customers/{customer_id\}/accountBudgetProposals/{account_budget_proposal_id\}`
         */
        resourceName?: string | null;
        /**
         * Output only. The status of this proposal. When a new proposal is created, the status defaults to PENDING.
         */
        status?: string | null;
    }
    /**
     * Represents the data sharing connection between a Google Ads account and another account
     */
    export interface Schema$GoogleAdsSearchads360V23Resources__AccountLink {
        /**
         * Output only. The ID of the link. This field is read only.
         */
        accountLinkId?: string | null;
        /**
         * Immutable. Resource name of the account link. AccountLink resource names have the form: `customers/{customer_id\}/accountLinks/{account_link_id\}`
         */
        resourceName?: string | null;
        /**
         * The status of the link.
         */
        status?: string | null;
        /**
         * Immutable. A third party app analytics link.
         */
        thirdPartyAppAnalytics?: Schema$GoogleAdsSearchads360V23Resources__ThirdPartyAppAnalyticsLinkIdentifier;
        /**
         * Output only. The type of the linked account.
         */
        type?: string | null;
    }
    /**
     * An ad.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources__Ad {
        /**
         * Output only. Indicates if this ad was automatically added by Google Ads and not by a user. For example, this could happen when ads are automatically created as suggestions for new ads based on knowledge of how existing ads are performing.
         */
        addedByGoogleAds?: boolean | null;
        /**
         * Details pertaining to an app ad.
         */
        appAd?: Schema$GoogleAdsSearchads360V23Common__AppAdInfo;
        /**
         * Details pertaining to an app engagement ad.
         */
        appEngagementAd?: Schema$GoogleAdsSearchads360V23Common__AppEngagementAdInfo;
        /**
         * Details pertaining to an app pre-registration ad.
         */
        appPreRegistrationAd?: Schema$GoogleAdsSearchads360V23Common__AppPreRegistrationAdInfo;
        /**
         * Details pertaining to a Demand Gen carousel ad.
         */
        demandGenCarouselAd?: Schema$GoogleAdsSearchads360V23Common__DemandGenCarouselAdInfo;
        /**
         * Details pertaining to a Demand Gen multi asset ad.
         */
        demandGenMultiAssetAd?: Schema$GoogleAdsSearchads360V23Common__DemandGenMultiAssetAdInfo;
        /**
         * Details pertaining to a Demand Gen product ad.
         */
        demandGenProductAd?: Schema$GoogleAdsSearchads360V23Common__DemandGenProductAdInfo;
        /**
         * Details pertaining to a Demand Gen video responsive ad.
         */
        demandGenVideoResponsiveAd?: Schema$GoogleAdsSearchads360V23Common__DemandGenVideoResponsiveAdInfo;
        /**
         * The device preference for the ad. You can only specify a preference for mobile devices. When this preference is set the ad will be preferred over other ads when being displayed on a mobile device. The ad can still be displayed on other device types, for example, if no other ads are available. If unspecified (no device preference), all devices are targeted. This is only supported by some ad types.
         */
        devicePreference?: string | null;
        /**
         * Details pertaining to a display upload ad.
         */
        displayUploadAd?: Schema$GoogleAdsSearchads360V23Common__DisplayUploadAdInfo;
        /**
         * The URL that appears in the ad description for some ad formats.
         */
        displayUrl?: string | null;
        /**
         * Immutable. Details pertaining to an Expanded Dynamic Search Ad. This type of ad has its headline, final URLs, and display URL auto-generated at serving time according to domain name specific information provided by `dynamic_search_ads_setting` linked at the campaign level.
         */
        expandedDynamicSearchAd?: Schema$GoogleAdsSearchads360V23Common__ExpandedDynamicSearchAdInfo;
        /**
         * Details pertaining to an expanded text ad. Expanded text ads are deprecated. Use `ResponsiveSearchAd` instead.
         */
        expandedTextAd?: Schema$GoogleAdsSearchads360V23Common__ExpandedTextAdInfo;
        /**
         * A list of final app URLs that will be used on mobile if the user has the specific app installed.
         */
        finalAppUrls?: Schema$GoogleAdsSearchads360V23Common__FinalAppUrl[];
        /**
         * The list of possible final mobile URLs after all cross-domain redirects for the ad.
         */
        finalMobileUrls?: string[] | null;
        /**
         * The list of possible final URLs after all cross-domain redirects for the ad.
         */
        finalUrls?: string[] | null;
        /**
         * The suffix to use when constructing a final URL.
         */
        finalUrlSuffix?: string | null;
        /**
         * Details pertaining to a hotel ad.
         */
        hotelAd?: Schema$GoogleAdsSearchads360V23Common__HotelAdInfo;
        /**
         * Output only. The ID of the ad.
         */
        id?: string | null;
        /**
         * Immutable. Details pertaining to an Image ad.
         */
        imageAd?: Schema$GoogleAdsSearchads360V23Common__ImageAdInfo;
        /**
         * Immutable. Details pertaining to a legacy app install ad.
         */
        legacyAppInstallAd?: Schema$GoogleAdsSearchads360V23Common__LegacyAppInstallAdInfo;
        /**
         * Details pertaining to a legacy responsive display ad.
         */
        legacyResponsiveDisplayAd?: Schema$GoogleAdsSearchads360V23Common__LegacyResponsiveDisplayAdInfo;
        /**
         * Details pertaining to a local ad.
         */
        localAd?: Schema$GoogleAdsSearchads360V23Common__LocalAdInfo;
        /**
         * Immutable. The name of the ad. This is only used to be able to identify the ad. It does not need to be unique and does not affect the served ad.
         */
        name?: string | null;
        /**
         * Immutable. Details pertaining to a product ad.
         */
        productAd?: Schema$GoogleAdsSearchads360V23Common__SearchAds360ProductAdInfo;
        /**
         * Immutable. The resource name of the ad. Ad resource names have the form: `customers/{customer_id\}/ads/{ad_id\}`
         */
        resourceName?: string | null;
        /**
         * Details pertaining to a responsive display ad.
         */
        responsiveDisplayAd?: Schema$GoogleAdsSearchads360V23Common__ResponsiveDisplayAdInfo;
        /**
         * Details pertaining to a responsive search ad.
         */
        responsiveSearchAd?: Schema$GoogleAdsSearchads360V23Common__ResponsiveSearchAdInfo;
        /**
         * Immutable. Details pertaining to an expanded dynamic search ad.
         */
        searchAds360ExpandedDynamicSearchAd?: Schema$GoogleAdsSearchads360V23Common__SearchAds360ExpandedDynamicSearchAdInfo;
        /**
         * Immutable. Details pertaining to an expanded text ad. Expanded text ads are deprecated. Use `SearchAds360ResponsiveSearchAd` instead.
         */
        searchAds360ExpandedTextAd?: Schema$GoogleAdsSearchads360V23Common__SearchAds360ExpandedTextAdInfo;
        /**
         * Immutable. Details pertaining to a responsive search ad.
         */
        searchAds360ResponsiveSearchAd?: Schema$GoogleAdsSearchads360V23Common__SearchAds360ResponsiveSearchAdInfo;
        /**
         * Immutable. Details pertaining to a text ad.
         */
        searchAds360TextAd?: Schema$GoogleAdsSearchads360V23Common__SearchAds360TextAdInfo;
        /**
         * Details pertaining to a Shopping Comparison Listing ad.
         */
        shoppingComparisonListingAd?: Schema$GoogleAdsSearchads360V23Common__ShoppingComparisonListingAdInfo;
        /**
         * Details pertaining to a Shopping product ad.
         */
        shoppingProductAd?: Schema$GoogleAdsSearchads360V23Common__ShoppingProductAdInfo;
        /**
         * Details pertaining to a Smart Shopping ad.
         */
        shoppingSmartAd?: Schema$GoogleAdsSearchads360V23Common__ShoppingSmartAdInfo;
        /**
         * Details pertaining to a Smart campaign ad.
         */
        smartCampaignAd?: Schema$GoogleAdsSearchads360V23Common__SmartCampaignAdInfo;
        /**
         * Synthetic content info for the ad. Only ads with specific ad types are eligible for updates using the `synthetic_content_info` field. Allowed `AdType` values: * `HTML5_UPLOAD_AD` * `DYNAMIC_HTML5_AD` * `IMAGE_AD`
         */
        syntheticContentInfo?: Schema$GoogleAdsSearchads360V23Common__SyntheticContentInfo;
        /**
         * Output only. If this ad is system managed, then this field will indicate the source. This field is read-only.
         */
        systemManagedResourceSource?: string | null;
        /**
         * Immutable. Details pertaining to a text ad.
         */
        textAd?: Schema$GoogleAdsSearchads360V23Common__TextAdInfo;
        /**
         * The URL template for constructing a tracking URL.
         */
        trackingUrlTemplate?: string | null;
        /**
         * Details pertaining to a travel ad.
         */
        travelAd?: Schema$GoogleAdsSearchads360V23Common__TravelAdInfo;
        /**
         * Output only. The type of ad.
         */
        type?: string | null;
        /**
         * Additional URLs for the ad that are tagged with a unique identifier that can be referenced from other fields in the ad.
         */
        urlCollections?: Schema$GoogleAdsSearchads360V23Common__UrlCollection[];
        /**
         * The list of mappings that can be used to substitute custom parameter tags in a `tracking_url_template`, `final_urls`, or `mobile_final_urls`. For mutates, use url custom parameter operations.
         */
        urlCustomParameters?: Schema$GoogleAdsSearchads360V23Common__CustomParameter[];
    }
    /**
     * An ad group.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources__AdGroup {
        /**
         * The ad rotation mode of the ad group.
         */
        adRotationMode?: string | null;
        /**
         * Settings for AI Max feature in standard search adgroups.
         */
        aiMaxAdGroupSetting?: Schema$GoogleAdsSearchads360V23Resources_AdGroup_AiMaxAdGroupSetting;
        /**
         * Immutable. Setting for audience related features.
         */
        audienceSetting?: Schema$GoogleAdsSearchads360V23Resources_AdGroup_AudienceSetting;
        /**
         * Output only. For draft or experiment ad groups, this field is the resource name of the base ad group from which this ad group was created. If a draft or experiment ad group does not have a base ad group, then this field is null. For base ad groups, this field equals the ad group resource name. This field is read-only.
         */
        baseAdGroup?: string | null;
        /**
         * Immutable. The campaign to which the ad group belongs.
         */
        campaign?: string | null;
        /**
         * The maximum CPC (cost-per-click) bid. This field is used when the ad group's effective bidding strategy is Manual CPC. This field is not applicable and will be ignored if the ad group's campaign is using a portfolio bidding strategy.
         */
        cpcBidMicros?: string | null;
        /**
         * The maximum CPM (cost-per-thousand viewable impressions) bid.
         */
        cpmBidMicros?: string | null;
        /**
         * The CPV (cost-per-view) bid.
         */
        cpvBidMicros?: string | null;
        /**
         * Output only. The timestamp when this ad_group was created. The timestamp is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss" format.
         */
        creationTime?: string | null;
        /**
         * Settings for Demand Gen ad groups.
         */
        demandGenAdGroupSettings?: Schema$GoogleAdsSearchads360V23Resources_AdGroup_DemandGenAdGroupSettings;
        /**
         * Lets advertisers specify a targeting dimension on which to place absolute bids. This is only applicable for campaigns that target only the display network and not search.
         */
        displayCustomBidDimension?: string | null;
        /**
         * Output only. Value will be same as that of the CPC (cost-per-click) bid value when the bidding strategy is one of manual cpc, enhanced cpc, page one promoted or target outrank share, otherwise the value will be null.
         */
        effectiveCpcBidMicros?: string | null;
        /**
         * Output only. The resource names of effective labels attached to this ad group. An effective label is a label inherited or directly assigned to this ad group.
         */
        effectiveLabels?: string[] | null;
        /**
         * Output only. The effective target CPA (cost-per-acquisition). This field is read-only.
         */
        effectiveTargetCpaMicros?: string | null;
        /**
         * Output only. Source of the effective target CPA. This field is read-only.
         */
        effectiveTargetCpaSource?: string | null;
        /**
         * Output only. The effective target CPC (cost-per-click). This field is read-only.
         */
        effectiveTargetCpc?: string | null;
        /**
         * Output only. Source of the effective target CPC. This field is read-only.
         */
        effectiveTargetCpcSource?: string | null;
        /**
         * Output only. The effective target ROAS (return-on-ad-spend). This field is read-only.
         */
        effectiveTargetRoas?: number | null;
        /**
         * Output only. Source of the effective target ROAS. This field is read-only.
         */
        effectiveTargetRoasSource?: string | null;
        /**
         * Output only. Date when the ad group ends serving ads. By default, the ad group ends on the ad group's end date. If this field is set, then the ad group ends at the end of the specified date in the customer's time zone. This field is only available for Microsoft Advertising and Facebook gateway accounts. Format: YYYY-MM-DD Example: 2019-03-14
         */
        endDate?: string | null;
        /**
         * Output only. ID of the ad group in the external engine account. This field is for non-Google Ads account only, for example, Yahoo Japan, Microsoft, Baidu etc. For Google Ads entity, use "ad_group.id" instead.
         */
        engineId?: string | null;
        /**
         * Output only. The Engine Status for ad group.
         */
        engineStatus?: string | null;
        /**
         * When this value is true, demographics will be excluded from the types of targeting which are expanded when optimized_targeting_enabled is true. When optimized_targeting_enabled is false, this field is ignored. Default is false.
         */
        excludeDemographicExpansion?: boolean | null;
        /**
         * The asset field types that should be excluded from this ad group. Asset links with these field types will not be inherited by this ad group from the upper levels.
         */
        excludedParentAssetFieldTypes?: string[] | null;
        /**
         * The asset set types that should be excluded from this ad group. Asset set links with these types will not be inherited by this ad group from the upper levels. Location group types (GMB_DYNAMIC_LOCATION_GROUP, CHAIN_DYNAMIC_LOCATION_GROUP, and STATIC_LOCATION_GROUP) are child types of LOCATION_SYNC. Therefore, if LOCATION_SYNC is set for this field, all location group asset sets are not allowed to be linked to this ad group, and all Location Extension (LE) and Affiliate Location Extensions (ALE) will not be served under this ad group. Only LOCATION_SYNC is currently supported.
         */
        excludedParentAssetSetTypes?: string[] | null;
        /**
         * URL template for appending params to Final URL.
         */
        finalUrlSuffix?: string | null;
        /**
         * The fixed amount in micros that the advertiser pays for every thousand impressions of the ad.
         */
        fixedCpmMicros?: string | null;
        /**
         * Output only. The ID of the ad group.
         */
        id?: string | null;
        /**
         * Output only. The resource names of labels attached to this ad group.
         */
        labels?: string[] | null;
        /**
         * Output only. The language of the ads and keywords in an ad group. This field is only available for Microsoft Advertising accounts. More details: https://docs.microsoft.com/en-us/advertising/guides/ad-languages?view=bingads-13#adlanguage
         */
        languageCode?: string | null;
        /**
         * Output only. The datetime when this ad group was last modified. The datetime is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss.ssssss" format.
         */
        lastModifiedTime?: string | null;
        /**
         * The name of the ad group. This field is required and should not be empty when creating new ad groups. It must contain fewer than 255 UTF-8 full-width characters. It must not contain any null (code point 0x0), NL line feed (code point 0xA) or carriage return (code point 0xD) characters.
         */
        name?: string | null;
        /**
         * True if optimized targeting is enabled. Optimized Targeting is the replacement for Audience Expansion.
         */
        optimizedTargetingEnabled?: boolean | null;
        /**
         * The percent cpc bid amount, expressed as a fraction of the advertised price for some good or service. The valid range for the fraction is [0,1) and the value stored here is 1,000,000 * [fraction].
         */
        percentCpcBidMicros?: string | null;
        /**
         * Output only. Provides aggregated view into why an ad group is not serving or not serving optimally.
         */
        primaryStatus?: string | null;
        /**
         * Output only. Provides reasons for why an ad group is not serving or not serving optimally.
         */
        primaryStatusReasons?: string[] | null;
        /**
         * Immutable. The resource name of the ad group. Ad group resource names have the form: `customers/{customer_id\}/adGroups/{ad_group_id\}`
         */
        resourceName?: string | null;
        /**
         * Output only. Date when this ad group starts serving ads. By default, the ad group starts now or the ad group's start date, whichever is later. If this field is set, then the ad group starts at the beginning of the specified date in the customer's time zone. This field is only available for Microsoft Advertising and Facebook gateway accounts. Format: YYYY-MM-DD Example: 2019-03-14
         */
        startDate?: string | null;
        /**
         * The status of the ad group.
         */
        status?: string | null;
        /**
         * The target CPA (cost-per-acquisition). If the ad group's campaign bidding strategy is TargetCpa or MaximizeConversions (with its target_cpa field set), then this field overrides the target CPA specified in the campaign's bidding strategy. Otherwise, this value is ignored.
         */
        targetCpaMicros?: string | null;
        /**
         * Average amount in micros that the advertiser is willing to pay for every ad click. Overrides the target CPC configured at the campaign level.
         */
        targetCpcMicros?: string | null;
        /**
         * Average amount in micros that the advertiser is willing to pay for every thousand times the ad is shown.
         */
        targetCpmMicros?: string | null;
        /**
         * Average amount in micros that the advertiser is willing to pay for every ad view.
         */
        targetCpvMicros?: string | null;
        /**
         * Setting for targeting related features.
         */
        targetingSetting?: Schema$GoogleAdsSearchads360V23Common__TargetingSetting;
        /**
         * The target ROAS (return-on-ad-spend) for this ad group. This field lets you override the target ROAS specified in the campaign's bidding strategy, but only if the campaign is using a standard (not portfolio) `TargetRoas` strategy or a standard `MaximizeConversionValue` strategy with its `target_roas` field set. If the campaign is using a portfolio bidding strategy, this field cannot be set and attempting to do so will result in an error. For any other bidding strategies, this value is ignored. To see the actual target ROAS being used by the ad group, considering potential overrides, query the `effective_target_roas` and `effective_target_roas_source` fields.
         */
        targetRoas?: number | null;
        /**
         * The URL template for constructing a tracking URL.
         */
        trackingUrlTemplate?: string | null;
        /**
         * Immutable. The type of the ad group.
         */
        type?: string | null;
        /**
         * The list of mappings used to substitute custom parameter tags in a `tracking_url_template`, `final_urls`, or `mobile_final_urls`.
         */
        urlCustomParameters?: Schema$GoogleAdsSearchads360V23Common__CustomParameter[];
        /**
         * Vertical ads setting feature to enable/disable ad group format controls in search campaigns. This setting requires AiMaxAdGroupSetting to be enabled and a travel feed to be attached to the campaign.
         */
        verticalAdsFormatSetting?: Schema$GoogleAdsSearchads360V23Resources_AdGroup_VerticalAdsFormatSetting;
    }
    /**
     * An ad group ad.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources__AdGroupAd {
        /**
         * Output only. A list of recommendations to improve the ad strength. For example, a recommendation could be "Try adding a few more unique headlines or unpinning some assets.".
         */
        actionItems?: string[] | null;
        /**
         * Immutable. The ad.
         */
        ad?: Schema$GoogleAdsSearchads360V23Resources__Ad;
        /**
         * Immutable. The ad group to which the ad belongs.
         */
        adGroup?: string | null;
        /**
         * Settings that control the types of asset automation. See the AssetAutomationTypeEnum documentation for the default opt in/out behavior of each type.
         */
        adGroupAdAssetAutomationSettings?: Schema$GoogleAdsSearchads360V23Resources__AdGroupAdAssetAutomationSetting[];
        /**
         * Output only. Overall ad strength for this ad group ad.
         */
        adStrength?: string | null;
        /**
         * Output only. The timestamp when this ad_group_ad was created. The datetime is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss.ssssss" format.
         */
        creationTime?: string | null;
        /**
         * Output only. The resource names of effective labels attached to this ad. An effective label is a label inherited or directly assigned to this ad.
         */
        effectiveLabels?: string[] | null;
        /**
         * Output only. ID of the ad in the external engine account. This field is for Search Ads 360 account only, for example, Yahoo Japan, Microsoft, Baidu etc. For non-Search Ads 360 entity, use "ad_group_ad.ad.id" instead.
         */
        engineId?: string | null;
        /**
         * Output only. Additional status of the ad in the external engine account. Possible statuses (depending on the type of external account) include active, eligible, pending review, etc.
         */
        engineStatus?: string | null;
        /**
         * Output only. The resource names of labels attached to this ad group ad.
         */
        labels?: string[] | null;
        /**
         * Output only. The datetime when this ad group ad was last modified. The datetime is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss.ssssss" format.
         */
        lastModifiedTime?: string | null;
        /**
         * Output only. Policy information for the ad.
         */
        policySummary?: Schema$GoogleAdsSearchads360V23Resources__AdGroupAdPolicySummary;
        /**
         * Output only. Provides aggregated view into why an ad group ad is not serving or not serving optimally.
         */
        primaryStatus?: string | null;
        /**
         * Output only. Provides reasons for why an ad group ad is not serving or not serving optimally.
         */
        primaryStatusReasons?: string[] | null;
        /**
         * Immutable. The resource name of the ad. Ad group ad resource names have the form: `customers/{customer_id\}/adGroupAds/{ad_group_id\}~{ad_id\}`
         */
        resourceName?: string | null;
        /**
         * The status of the ad.
         */
        status?: string | null;
    }
    /**
     * Asset automation setting for an AdGroupAd.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources__AdGroupAdAssetAutomationSetting {
        /**
         * The opt-in/out status for the specified asset automation type.
         */
        assetAutomationStatus?: string | null;
        /**
         * The asset automation type that this setting configures.
         */
        assetAutomationType?: string | null;
    }
    /**
     * A view on the usage of ad group ad asset combination. Now we only support AdGroupAdAssetCombinationView for Responsive Search Ads, with more ad types planned for the future.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources__AdGroupAdAssetCombinationView {
        /**
         * Output only. The status between the asset combination and the latest version of the ad. If true, the asset combination is linked to the latest version of the ad. If false, it means the link once existed but has been removed and is no longer present in the latest version of the ad.
         */
        enabled?: boolean | null;
        /**
         * Output only. The resource name of the ad group ad asset combination view. The combination ID is 128 bits long, where the upper 64 bits are stored in asset_combination_id_high, and the lower 64 bits are stored in asset_combination_id_low. AdGroupAd Asset Combination view resource names have the form: `customers/{customer_id\}/adGroupAdAssetCombinationViews/{AdGroupAd.ad_group_id\}~{AdGroupAd.ad.ad_id\}~{AssetCombination.asset_combination_id_low\}~{AssetCombination.asset_combination_id_high\}`
         */
        resourceName?: string | null;
        /**
         * Output only. Served assets.
         */
        servedAssets?: Schema$GoogleAdsSearchads360V23Common__AssetUsage[];
    }
    /**
     * Contains policy information for an ad group ad asset.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources__AdGroupAdAssetPolicySummary {
        /**
         * Output only. The overall approval status of this ad group ad asset, calculated based on the status of its individual policy topic entries.
         */
        approvalStatus?: string | null;
        /**
         * Output only. The list of policy findings for the ad group ad asset.
         */
        policyTopicEntries?: Schema$GoogleAdsSearchads360V23Common__PolicyTopicEntry[];
        /**
         * Output only. Where in the review process this ad group ad asset is.
         */
        reviewStatus?: string | null;
    }
    /**
     * Represents a link between an AdGroupAd and an Asset. This view provides insights into the performance of assets within specific ads. AdGroupAdAssetView supports the following ad types: * App Ads * Demand Gen campaigns * Responsive Search Ads It does not support Responsive Display Ads.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources__AdGroupAdAssetView {
        /**
         * Output only. The ad group ad to which the asset is linked.
         */
        adGroupAd?: string | null;
        /**
         * Output only. The asset which is linked to the ad group ad.
         */
        asset?: string | null;
        /**
         * Output only. The status between the asset and the latest version of the ad. If true, the asset is linked to the latest version of the ad. If false, it means the link once existed but has been removed and is no longer present in the latest version of the ad.
         */
        enabled?: boolean | null;
        /**
         * Output only. Role that the asset takes in the ad.
         */
        fieldType?: string | null;
        /**
         * Output only. Performance of an asset linkage.
         */
        performanceLabel?: string | null;
        /**
         * Output only. Pinned field.
         */
        pinnedField?: string | null;
        /**
         * Output only. Policy information for the ad group ad asset.
         */
        policySummary?: Schema$GoogleAdsSearchads360V23Resources__AdGroupAdAssetPolicySummary;
        /**
         * Output only. The resource name of the ad group ad asset view. Ad group ad asset view resource names have the form (Before V4): `customers/{customer_id\}/adGroupAdAssets/{AdGroupAdAsset.ad_group_id\}~{AdGroupAdAsset.ad.ad_id\}~{AdGroupAdAsset.asset_id\}~{AdGroupAdAsset.field_type\}` Ad group ad asset view resource names have the form (Beginning from V4): `customers/{customer_id\}/adGroupAdAssetViews/{AdGroupAdAsset.ad_group_id\}~{AdGroupAdAsset.ad_id\}~{AdGroupAdAsset.asset_id\}~{AdGroupAdAsset.field_type\}`
         */
        resourceName?: string | null;
        /**
         * Output only. Source of the ad group ad asset.
         */
        source?: string | null;
    }
    /**
     * A relationship between an ad group ad and an effective label. An effective label is a label inherited or directly assigned to this ad group ad.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources__AdGroupAdEffectiveLabel {
        /**
         * Immutable. The ad group ad to which the effective label is attached.
         */
        adGroupAd?: string | null;
        /**
         * Immutable. The effective label assigned to the ad group ad.
         */
        label?: string | null;
        /**
         * Output only. The ID of the Customer which owns the effective label.
         */
        ownerCustomerId?: string | null;
        /**
         * Immutable. The resource name of the ad group ad effective label. Ad group ad effective label resource names have the form: `customers/{owner_customer_id\}/adGroupAdEffectiveLabels/{ad_group_id\}~{ad_id\}~{label_id\}`
         */
        resourceName?: string | null;
    }
    /**
     * A relationship between an ad group ad and a label.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources__AdGroupAdLabel {
        /**
         * Immutable. The ad group ad to which the label is attached.
         */
        adGroupAd?: string | null;
        /**
         * Immutable. The label assigned to the ad group ad.
         */
        label?: string | null;
        /**
         * Output only. The ID of the Customer which owns the label.
         */
        ownerCustomerId?: string | null;
        /**
         * Immutable. The resource name of the ad group ad label. Ad group ad label resource names have the form: `customers/{owner_customer_id\}/adGroupAdLabels/{ad_group_id\}~{ad_id\}~{label_id\}`
         */
        resourceName?: string | null;
    }
    /**
     * Contains policy information for an ad.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources__AdGroupAdPolicySummary {
        /**
         * Output only. The overall approval status of this ad, calculated based on the status of its individual policy topic entries.
         */
        approvalStatus?: string | null;
        /**
         * Output only. The list of policy findings for this ad.
         */
        policyTopicEntries?: Schema$GoogleAdsSearchads360V23Common__PolicyTopicEntry[];
        /**
         * Output only. Where in the review process this ad is.
         */
        reviewStatus?: string | null;
    }
    /**
     * A link between an ad group and an asset.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources__AdGroupAsset {
        /**
         * Required. Immutable. The ad group to which the asset is linked.
         */
        adGroup?: string | null;
        /**
         * Required. Immutable. The asset which is linked to the ad group.
         */
        asset?: string | null;
        /**
         * Required. Immutable. Role that the asset takes under the linked ad group.
         */
        fieldType?: string | null;
        /**
         * Output only. Provides the PrimaryStatus of this asset link. Primary status is meant essentially to differentiate between the plain "status" field, which has advertiser set values of enabled, paused, or removed. The primary status takes into account other signals (for assets its mainly policy and quality approvals) to come up with a more comprehensive status to indicate its serving state.
         */
        primaryStatus?: string | null;
        /**
         * Output only. Provides the details of the primary status and its associated reasons.
         */
        primaryStatusDetails?: Schema$GoogleAdsSearchads360V23Common__AssetLinkPrimaryStatusDetails[];
        /**
         * Output only. Provides a list of reasons for why an asset is not serving or not serving at full capacity.
         */
        primaryStatusReasons?: string[] | null;
        /**
         * Immutable. The resource name of the ad group asset. AdGroupAsset resource names have the form: `customers/{customer_id\}/adGroupAssets/{ad_group_id\}~{asset_id\}~{field_type\}`
         */
        resourceName?: string | null;
        /**
         * Output only. Source of the adgroup asset link.
         */
        source?: string | null;
        /**
         * Status of the ad group asset.
         */
        status?: string | null;
    }
    /**
     * AdGroupAssetSet is the linkage between an ad group and an asset set. Creating an AdGroupAssetSet links an asset set with an ad group.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources__AdGroupAssetSet {
        /**
         * Immutable. The ad group to which this asset set is linked.
         */
        adGroup?: string | null;
        /**
         * Immutable. The asset set which is linked to the ad group.
         */
        assetSet?: string | null;
        /**
         * Immutable. The resource name of the ad group asset set. Ad group asset set resource names have the form: `customers/{customer_id\}/adGroupAssetSets/{ad_group_id\}~{asset_set_id\}`
         */
        resourceName?: string | null;
        /**
         * Output only. The status of the ad group asset set. Read-only.
         */
        status?: string | null;
    }
    /**
     * An ad group audience view. Includes performance data from interests and remarketing lists for Display Network and YouTube Network ads, and remarketing lists for search ads (RLSA), aggregated at the audience level.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources__AdGroupAudienceView {
        /**
         * Output only. The resource name of the ad group audience view. Ad group audience view resource names have the form: `customers/{customer_id\}/adGroupAudienceViews/{ad_group_id\}~{criterion_id\}`
         */
        resourceName?: string | null;
    }
    /**
     * Represents an ad group bid modifier.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources__AdGroupBidModifier {
        /**
         * Immutable. The ad group to which this criterion belongs.
         */
        adGroup?: string | null;
        /**
         * Output only. The base ad group from which this draft/trial adgroup bid modifier was created. If ad_group is a base ad group then this field will be equal to ad_group. If the ad group was created in the draft or trial and has no corresponding base ad group, then this field will be null. This field is readonly.
         */
        baseAdGroup?: string | null;
        /**
         * The modifier for the bid when the criterion matches. The modifier must be in the range: 0.1 - 10.0. Use 0 to opt out of a Device type.
         */
        bidModifier?: number | null;
        /**
         * Output only. Bid modifier source.
         */
        bidModifierSource?: string | null;
        /**
         * Output only. The ID of the criterion to bid modify. This field is ignored for mutates.
         */
        criterionId?: string | null;
        /**
         * Immutable. A device criterion.
         */
        device?: Schema$GoogleAdsSearchads360V23Common__DeviceInfo;
        /**
         * Immutable. Criterion for number of days prior to the stay the booking is being made.
         */
        hotelAdvanceBookingWindow?: Schema$GoogleAdsSearchads360V23Common__HotelAdvanceBookingWindowInfo;
        /**
         * Immutable. Criterion for a hotel check-in date range.
         */
        hotelCheckInDateRange?: Schema$GoogleAdsSearchads360V23Common__HotelCheckInDateRangeInfo;
        /**
         * Immutable. Criterion for day of the week the booking is for.
         */
        hotelCheckInDay?: Schema$GoogleAdsSearchads360V23Common__HotelCheckInDayInfo;
        /**
         * Immutable. Criterion for hotel date selection (default dates versus user selected).
         */
        hotelDateSelectionType?: Schema$GoogleAdsSearchads360V23Common__HotelDateSelectionTypeInfo;
        /**
         * Immutable. Criterion for length of hotel stay in nights.
         */
        hotelLengthOfStay?: Schema$GoogleAdsSearchads360V23Common__HotelLengthOfStayInfo;
        /**
         * Immutable. The resource name of the ad group bid modifier. Ad group bid modifier resource names have the form: `customers/{customer_id\}/adGroupBidModifiers/{ad_group_id\}~{criterion_id\}`
         */
        resourceName?: string | null;
    }
    /**
     * An ad group criterion. The ad_group_criterion report only returns criteria that were explicitly added to the ad group.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources__AdGroupCriterion {
        /**
         * Immutable. The ad group to which the criterion belongs.
         */
        adGroup?: string | null;
        /**
         * Immutable. Age range.
         */
        ageRange?: Schema$GoogleAdsSearchads360V23Common__AgeRangeInfo;
        /**
         * Immutable. App Payment Model.
         */
        appPaymentModel?: Schema$GoogleAdsSearchads360V23Common__AppPaymentModelInfo;
        /**
         * Output only. Approval status of the criterion.
         */
        approvalStatus?: string | null;
        /**
         * Immutable. Audience.
         */
        audience?: Schema$GoogleAdsSearchads360V23Common__AudienceInfo;
        /**
         * The modifier for the bid when the criterion matches. The modifier must be in the range: 0.1 - 10.0. Most targetable criteria types support modifiers.
         */
        bidModifier?: number | null;
        /**
         * Immutable. Brand list criterion.
         */
        brandList?: Schema$GoogleAdsSearchads360V23Common__BrandListInfo;
        /**
         * Immutable. Combined Audience.
         */
        combinedAudience?: Schema$GoogleAdsSearchads360V23Common__CombinedAudienceInfo;
        /**
         * The CPC (cost-per-click) bid.
         */
        cpcBidMicros?: string | null;
        /**
         * The CPM (cost-per-thousand viewable impressions) bid.
         */
        cpmBidMicros?: string | null;
        /**
         * The CPV (cost-per-view) bid.
         */
        cpvBidMicros?: string | null;
        /**
         * Output only. The timestamp when this ad group criterion was created. The timestamp is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss" format.
         */
        creationTime?: string | null;
        /**
         * Output only. The ID of the criterion.
         */
        criterionId?: string | null;
        /**
         * Immutable. Custom Affinity.
         */
        customAffinity?: Schema$GoogleAdsSearchads360V23Common__CustomAffinityInfo;
        /**
         * Immutable. Custom Audience.
         */
        customAudience?: Schema$GoogleAdsSearchads360V23Common__CustomAudienceInfo;
        /**
         * Immutable. Custom Intent.
         */
        customIntent?: Schema$GoogleAdsSearchads360V23Common__CustomIntentInfo;
        /**
         * Output only. List of disapproval reasons of the criterion. The different reasons for disapproving a criterion can be found here: https://support.google.com/adspolicy/answer/6008942 This field is read-only.
         */
        disapprovalReasons?: string[] | null;
        /**
         * Output only. The display name of the criterion.
         */
        displayName?: string | null;
        /**
         * Output only. The effective CPC (cost-per-click) bid.
         */
        effectiveCpcBidMicros?: string | null;
        /**
         * Output only. Source of the effective CPC bid.
         */
        effectiveCpcBidSource?: string | null;
        /**
         * Output only. The effective CPM (cost-per-thousand viewable impressions) bid.
         */
        effectiveCpmBidMicros?: string | null;
        /**
         * Output only. Source of the effective CPM bid.
         */
        effectiveCpmBidSource?: string | null;
        /**
         * Output only. The effective CPV (cost-per-view) bid.
         */
        effectiveCpvBidMicros?: string | null;
        /**
         * Output only. Source of the effective CPV bid.
         */
        effectiveCpvBidSource?: string | null;
        /**
         * Output only. The resource names of effective labels attached to this ad group criterion. An effective label is a label inherited or directly assigned to this ad group criterion.
         */
        effectiveLabels?: string[] | null;
        /**
         * Output only. The effective Percent CPC bid amount.
         */
        effectivePercentCpcBidMicros?: string | null;
        /**
         * Output only. Source of the effective Percent CPC bid.
         */
        effectivePercentCpcBidSource?: string | null;
        /**
         * Output only. ID of the ad group criterion in the external engine account. This field is for non-Google Ads account only, for example, Yahoo Japan, Microsoft, Baidu etc. For Google Ads entity, use "ad_group_criterion.criterion_id" instead.
         */
        engineId?: string | null;
        /**
         * Output only. The Engine Status for ad group criterion.
         */
        engineStatus?: string | null;
        /**
         * Immutable. Extended demographic criterion.
         */
        extendedDemographic?: Schema$GoogleAdsSearchads360V23Common__ExtendedDemographicInfo;
        /**
         * The list of possible final mobile URLs after all cross-domain redirects.
         */
        finalMobileUrls?: string[] | null;
        /**
         * The list of possible final URLs after all cross-domain redirects for the ad.
         */
        finalUrls?: string[] | null;
        /**
         * URL template for appending params to final URL.
         */
        finalUrlSuffix?: string | null;
        /**
         * Immutable. Gender.
         */
        gender?: Schema$GoogleAdsSearchads360V23Common__GenderInfo;
        /**
         * Immutable. Income range.
         */
        incomeRange?: Schema$GoogleAdsSearchads360V23Common__IncomeRangeInfo;
        /**
         * Immutable. Keyword.
         */
        keyword?: Schema$GoogleAdsSearchads360V23Common__KeywordInfo;
        /**
         * Output only. The resource names of labels attached to this ad group criterion.
         */
        labels?: string[] | null;
        /**
         * Immutable. Language.
         */
        language?: Schema$GoogleAdsSearchads360V23Common__LanguageInfo;
        /**
         * Output only. The datetime when this ad group criterion was last modified. The datetime is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss.ssssss" format.
         */
        lastModifiedTime?: string | null;
        /**
         * Immutable. Life event campaign criterion.
         */
        lifeEvent?: Schema$GoogleAdsSearchads360V23Common__LifeEventInfo;
        /**
         * Immutable. Listing group.
         */
        listingGroup?: Schema$GoogleAdsSearchads360V23Common__ListingGroupInfo;
        /**
         * Immutable. Location.
         */
        location?: Schema$GoogleAdsSearchads360V23Common__LocationInfo;
        /**
         * Immutable. Mobile app category.
         */
        mobileAppCategory?: Schema$GoogleAdsSearchads360V23Common__MobileAppCategoryInfo;
        /**
         * Immutable. Mobile application.
         */
        mobileApplication?: Schema$GoogleAdsSearchads360V23Common__MobileApplicationInfo;
        /**
         * Immutable. Whether to target (`false`) or exclude (`true`) the criterion. This field is immutable. To switch a criterion from positive to negative, remove then re-add it.
         */
        negative?: boolean | null;
        /**
         * Immutable. Parental status.
         */
        parentalStatus?: Schema$GoogleAdsSearchads360V23Common__ParentalStatusInfo;
        /**
         * The CPC bid amount, expressed as a fraction of the advertised price for some good or service. The valid range for the fraction is [0,1) and the value stored here is 1,000,000 * [fraction].
         */
        percentCpcBidMicros?: string | null;
        /**
         * Immutable. Placement.
         */
        placement?: Schema$GoogleAdsSearchads360V23Common__PlacementInfo;
        /**
         * Output only. Estimates for criterion bids at various positions.
         */
        positionEstimates?: Schema$GoogleAdsSearchads360V23Resources_AdGroupCriterion_PositionEstimates;
        /**
         * Output only. The primary status for the ad group criterion.
         */
        primaryStatus?: string | null;
        /**
         * Output only. The primary status reasons for the ad group criterion.
         */
        primaryStatusReasons?: string[] | null;
        /**
         * Output only. Information regarding the quality of the criterion.
         */
        qualityInfo?: Schema$GoogleAdsSearchads360V23Resources_AdGroupCriterion_QualityInfo;
        /**
         * Immutable. The resource name of the ad group criterion. Ad group criterion resource names have the form: `customers/{customer_id\}/adGroupCriteria/{ad_group_id\}~{criterion_id\}`
         */
        resourceName?: string | null;
        /**
         * The status of the criterion. This is the status of the ad group criterion entity, set by the client. Note: UI reports may incorporate additional information that affects whether a criterion is eligible to run. In some cases a criterion that's REMOVED in the API can still show as enabled in the UI. For example, campaigns by default show to users of all age ranges unless excluded. The UI will show each age range as "enabled", since they're eligible to see the ads; but AdGroupCriterion.status will show "removed", since no positive criterion was added.
         */
        status?: string | null;
        /**
         * Output only. Serving status of the criterion.
         */
        systemServingStatus?: string | null;
        /**
         * Immutable. Topic.
         */
        topic?: Schema$GoogleAdsSearchads360V23Common__TopicInfo;
        /**
         * The URL template for constructing a tracking URL.
         */
        trackingUrlTemplate?: string | null;
        /**
         * Output only. The type of the criterion.
         */
        type?: string | null;
        /**
         * The list of mappings used to substitute custom parameter tags in a `tracking_url_template`, `final_urls`, or `mobile_final_urls`.
         */
        urlCustomParameters?: Schema$GoogleAdsSearchads360V23Common__CustomParameter[];
        /**
         * Immutable. User Interest.
         */
        userInterest?: Schema$GoogleAdsSearchads360V23Common__UserInterestInfo;
        /**
         * Immutable. User List.
         */
        userList?: Schema$GoogleAdsSearchads360V23Common__UserListInfo;
        /**
         * Immutable. Vertical ads item group rule list criterion.
         */
        verticalAdsItemGroupRuleList?: Schema$GoogleAdsSearchads360V23Common__VerticalAdsItemGroupRuleListInfo;
        /**
         * Immutable. Video lineup criterion.
         */
        videoLineup?: Schema$GoogleAdsSearchads360V23Common__VideoLineupInfo;
        /**
         * Immutable. Webpage
         */
        webpage?: Schema$GoogleAdsSearchads360V23Common__WebpageInfo;
        /**
         * Immutable. YouTube Channel.
         */
        youtubeChannel?: Schema$GoogleAdsSearchads360V23Common__YouTubeChannelInfo;
        /**
         * Immutable. YouTube Video.
         */
        youtubeVideo?: Schema$GoogleAdsSearchads360V23Common__YouTubeVideoInfo;
    }
    /**
     * A customizer value for the associated CustomizerAttribute at the AdGroupCriterion level.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources__AdGroupCriterionCustomizer {
        /**
         * Immutable. The ad group criterion to which the customizer attribute is linked. It must be a keyword criterion.
         */
        adGroupCriterion?: string | null;
        /**
         * Required. Immutable. The customizer attribute which is linked to the ad group criterion.
         */
        customizerAttribute?: string | null;
        /**
         * Immutable. The resource name of the ad group criterion customizer. Ad group criterion customizer resource names have the form: `customers/{customer_id\}/adGroupCriterionCustomizers/{ad_group_id\}~{criterion_id\}~{customizer_attribute_id\}`
         */
        resourceName?: string | null;
        /**
         * Output only. The status of the ad group criterion customizer.
         */
        status?: string | null;
        /**
         * Required. The value to associate with the customizer attribute at this level. The value must be of the type specified for the CustomizerAttribute.
         */
        value?: Schema$GoogleAdsSearchads360V23Common__CustomizerValue;
    }
    /**
     * A relationship between an ad group criterion and an effective label. An effective label is a label inherited or directly assigned to this ad group criterion.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources__AdGroupCriterionEffectiveLabel {
        /**
         * Immutable. The ad group criterion to which the effective label is attached.
         */
        adGroupCriterion?: string | null;
        /**
         * Immutable. The effective label assigned to the ad group criterion.
         */
        label?: string | null;
        /**
         * Output only. The ID of the Customer which owns the effective label.
         */
        ownerCustomerId?: string | null;
        /**
         * Immutable. The resource name of the ad group criterion effective label. Ad group criterion effective label resource names have the form: `customers/{owner_customer_id\}/adGroupCriterionEffectiveLabels/{ad_group_id\}~{criterion_id\}~{label_id\}`
         */
        resourceName?: string | null;
    }
    /**
     * A relationship between an ad group criterion and a label.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources__AdGroupCriterionLabel {
        /**
         * Immutable. The ad group criterion to which the label is attached.
         */
        adGroupCriterion?: string | null;
        /**
         * Immutable. The label assigned to the ad group criterion.
         */
        label?: string | null;
        /**
         * Output only. The ID of the Customer which owns the label.
         */
        ownerCustomerId?: string | null;
        /**
         * Immutable. The resource name of the ad group criterion label. Ad group criterion label resource names have the form: `customers/{owner_customer_id\}/adGroupCriterionLabels/{ad_group_id\}~{criterion_id\}~{label_id\}`
         */
        resourceName?: string | null;
    }
    /**
     * An ad group criterion simulation. Supported combinations of advertising channel type, criterion type, simulation type, and simulation modification method are detailed below respectively. Hotel AdGroupCriterion simulation operations starting in V5. 1. DISPLAY - KEYWORD - CPC_BID - UNIFORM 2. SEARCH - KEYWORD - CPC_BID - UNIFORM 3. SHOPPING - LISTING_GROUP - CPC_BID - UNIFORM 4. HOTEL - LISTING_GROUP - CPC_BID - UNIFORM 5. HOTEL - LISTING_GROUP - PERCENT_CPC_BID - UNIFORM
     */
    export interface Schema$GoogleAdsSearchads360V23Resources__AdGroupCriterionSimulation {
        /**
         * Output only. AdGroup ID of the simulation.
         */
        adGroupId?: string | null;
        /**
         * Output only. Simulation points if the simulation type is CPC_BID.
         */
        cpcBidPointList?: Schema$GoogleAdsSearchads360V23Common__CpcBidSimulationPointList;
        /**
         * Output only. Criterion ID of the simulation.
         */
        criterionId?: string | null;
        /**
         * Output only. Last day on which the simulation is based, in YYYY-MM-DD format.
         */
        endDate?: string | null;
        /**
         * Output only. How the simulation modifies the field.
         */
        modificationMethod?: string | null;
        /**
         * Output only. Simulation points if the simulation type is PERCENT_CPC_BID.
         */
        percentCpcBidPointList?: Schema$GoogleAdsSearchads360V23Common__PercentCpcBidSimulationPointList;
        /**
         * Output only. The resource name of the ad group criterion simulation. Ad group criterion simulation resource names have the form: `customers/{customer_id\}/adGroupCriterionSimulations/{ad_group_id\}~{criterion_id\}~{type\}~{modification_method\}~{start_date\}~{end_date\}`
         */
        resourceName?: string | null;
        /**
         * Output only. First day on which the simulation is based, in YYYY-MM-DD format.
         */
        startDate?: string | null;
        /**
         * Output only. The field that the simulation modifies.
         */
        type?: string | null;
    }
    /**
     * A customizer value for the associated CustomizerAttribute at the AdGroup level.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources__AdGroupCustomizer {
        /**
         * Immutable. The ad group to which the customizer attribute is linked.
         */
        adGroup?: string | null;
        /**
         * Required. Immutable. The customizer attribute which is linked to the ad group.
         */
        customizerAttribute?: string | null;
        /**
         * Immutable. The resource name of the ad group customizer. Ad group customizer resource names have the form: `customers/{customer_id\}/adGroupCustomizers/{ad_group_id\}~{customizer_attribute_id\}`
         */
        resourceName?: string | null;
        /**
         * Output only. The status of the ad group customizer.
         */
        status?: string | null;
        /**
         * Required. The value to associate with the customizer attribute at this level. The value must be of the type specified for the CustomizerAttribute.
         */
        value?: Schema$GoogleAdsSearchads360V23Common__CustomizerValue;
    }
    /**
     * A relationship between an ad group and an effective label. An effective label is a label inherited or directly assigned to this ad group.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources__AdGroupEffectiveLabel {
        /**
         * Immutable. The ad group to which the effective label is attached.
         */
        adGroup?: string | null;
        /**
         * Immutable. The effective label assigned to the ad group.
         */
        label?: string | null;
        /**
         * Output only. The ID of the Customer which owns the effective label.
         */
        ownerCustomerId?: string | null;
        /**
         * Immutable. The resource name of the ad group effective label. Ad group effective label resource names have the form: `customers/{owner_customer_id\}/adGroupEffectiveLabels/{ad_group_id\}~{label_id\}`
         */
        resourceName?: string | null;
    }
    /**
     * A relationship between an ad group and a label.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources__AdGroupLabel {
        /**
         * Immutable. The ad group to which the label is attached.
         */
        adGroup?: string | null;
        /**
         * Immutable. The label assigned to the ad group.
         */
        label?: string | null;
        /**
         * Output only. The ID of the Customer which owns the label.
         */
        ownerCustomerId?: string | null;
        /**
         * Immutable. The resource name of the ad group label. Ad group label resource names have the form: `customers/{owner_customer_id\}/adGroupLabels/{ad_group_id\}~{label_id\}`
         */
        resourceName?: string | null;
    }
    /**
     * An ad group simulation. Supported combinations of advertising channel type, simulation type and simulation modification method is detailed below respectively. 1. SEARCH - CPC_BID - DEFAULT 2. SEARCH - CPC_BID - UNIFORM 3. SEARCH - TARGET_CPA - UNIFORM 4. SEARCH - TARGET_ROAS - UNIFORM 5. DISPLAY - CPC_BID - DEFAULT 6. DISPLAY - CPC_BID - UNIFORM 7. DISPLAY - TARGET_CPA - UNIFORM
     */
    export interface Schema$GoogleAdsSearchads360V23Resources__AdGroupSimulation {
        /**
         * Output only. Ad group id of the simulation.
         */
        adGroupId?: string | null;
        /**
         * Output only. Simulation points if the simulation type is CPC_BID.
         */
        cpcBidPointList?: Schema$GoogleAdsSearchads360V23Common__CpcBidSimulationPointList;
        /**
         * Output only. Simulation points if the simulation type is CPV_BID.
         */
        cpvBidPointList?: Schema$GoogleAdsSearchads360V23Common__CpvBidSimulationPointList;
        /**
         * Output only. Last day on which the simulation is based, in YYYY-MM-DD format
         */
        endDate?: string | null;
        /**
         * Output only. How the simulation modifies the field.
         */
        modificationMethod?: string | null;
        /**
         * Output only. The resource name of the ad group simulation. Ad group simulation resource names have the form: `customers/{customer_id\}/adGroupSimulations/{ad_group_id\}~{type\}~{modification_method\}~{start_date\}~{end_date\}`
         */
        resourceName?: string | null;
        /**
         * Output only. First day on which the simulation is based, in YYYY-MM-DD format.
         */
        startDate?: string | null;
        /**
         * Output only. Simulation points if the simulation type is TARGET_CPA.
         */
        targetCpaPointList?: Schema$GoogleAdsSearchads360V23Common__TargetCpaSimulationPointList;
        /**
         * Output only. Simulation points if the simulation type is TARGET_ROAS.
         */
        targetRoasPointList?: Schema$GoogleAdsSearchads360V23Common__TargetRoasSimulationPointList;
        /**
         * Output only. The field that the simulation modifies.
         */
        type?: string | null;
    }
    /**
     * An ad parameter that is used to update numeric values (such as prices or inventory levels) in any text line of an ad (including URLs). There can be a maximum of two AdParameters per ad group criterion. (One with parameter_index = 1 and one with parameter_index = 2.) In the ad the parameters are referenced by a placeholder of the form "{param#:value\}". For example, "{param1:$17\}"
     */
    export interface Schema$GoogleAdsSearchads360V23Resources__AdParameter {
        /**
         * Immutable. The ad group criterion that this ad parameter belongs to.
         */
        adGroupCriterion?: string | null;
        /**
         * Numeric value to insert into the ad text. The following restrictions apply: - Can use comma or period as a separator, with an optional period or comma (respectively) for fractional values. For example, 1,000,000.00 and 2.000.000,10 are valid. - Can be prepended or appended with a currency symbol. For example, $99.99 is valid. - Can be prepended or appended with a currency code. For example, 99.99USD and EUR200 are valid. - Can use '%'. For example, 1.0% and 1,0% are valid. - Can use plus or minus. For example, -10.99 and 25+ are valid. - Can use '/' between two numbers. For example 4/1 and 0.95/0.45 are valid.
         */
        insertionText?: string | null;
        /**
         * Immutable. The unique index of this ad parameter. Must be either 1 or 2.
         */
        parameterIndex?: string | null;
        /**
         * Immutable. The resource name of the ad parameter. Ad parameter resource names have the form: `customers/{customer_id\}/adParameters/{ad_group_id\}~{criterion_id\}~{parameter_index\}`
         */
        resourceName?: string | null;
    }
    /**
     * An ad schedule view summarizes the performance of campaigns by AdSchedule criteria.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources__AdScheduleView {
        /**
         * Output only. The resource name of the ad schedule view. AdSchedule view resource names have the form: `customers/{customer_id\}/adScheduleViews/{campaign_id\}~{criterion_id\}`
         */
        resourceName?: string | null;
    }
    /**
     * An action item to improve the ad strength of an asset group.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources__AdStrengthActionItem {
        /**
         * Output only. The action item type.
         */
        actionItemType?: string | null;
        /**
         * Output only. The action item details for action item type ADD_ASSET.
         */
        addAssetDetails?: Schema$GoogleAdsSearchads360V23Resources_AdStrengthActionItem_AddAssetDetails;
    }
    /**
     * The identifier for the Advertising Partner Google Ads account.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources__AdvertisingPartnerIdentifier {
        /**
         * Output only. The resource name of the advertising partner Google Ads account. This field is required and should not be empty when creating a new Advertising Partner link. It is unable to be modified after the creation of the link.
         */
        customer?: string | null;
    }
    /**
     * The identifier for the Advertising Partner Google Ads account.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources__AdvertisingPartnerLinkInvitationIdentifier {
        /**
         * Immutable. The resource name of the advertising partner Google Ads account. This field is read only.
         */
        customer?: string | null;
    }
    /**
     * An age range view. Represents the view of a customer's performance metrics (like impressions and clicks) aggregated by age range. All statistics are aggregated at the ad group level. Note: While you can segment metrics by age range using `age_range_view` or by gender using `gender_view`, the Search Ads 360 API does not support segmenting metrics by both age range and gender simultaneously in a single query. Analyzing performance across both dimensions combined is not supported in the Search Ads 360 API.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources__AgeRangeView {
        /**
         * Output only. The resource name of the age range view. Age range view resource names have the form: `customers/{customer_id\}/ageRangeViews/{ad_group_id\}~{criterion_id\}`
         */
        resourceName?: string | null;
    }
    /**
     * AiMaxSearchTermAdCombinationView Resource.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources__AiMaxSearchTermAdCombinationView {
        /**
         * Output only. Ad group where the search term served.
         */
        adGroup?: string | null;
        /**
         * Output only. The concatenated string containing headline assets for the ad. Up to three headline assets are concatenated, separated by " | ". This field is read-only.
         */
        headline?: string | null;
        /**
         * Output only. The destination URL, which was dynamically generated. This field is read-only.
         */
        landingPage?: string | null;
        /**
         * Output only. The resource name of the AI Max Search Term Ad Combination view AI Max Search Term Ad Combination view resource names have the form: `customers/{customer_id\}/aiMaxSearchTermAdCombinationViews/{ad_group_id\}~{URL-base64_search_term\}~{URL-base64_landing_page\}~{URL-base64_headline\}`
         */
        resourceName?: string | null;
        /**
         * Output only. The search term that triggered the ad. This field is read-only.
         */
        searchTerm?: string | null;
    }
    /**
     * An Android privacy shared key view for Google ad group key.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources__AndroidPrivacySharedKeyGoogleAdGroup {
        /**
         * Output only. The ad group ID used in the share key encoding.
         */
        adGroupId?: string | null;
        /**
         * Output only. The interaction date used in the shared key encoding in the format of "YYYY-MM-DD" in UTC timezone.
         */
        androidPrivacyInteractionDate?: string | null;
        /**
         * Output only. The interaction type enum used in the share key encoding.
         */
        androidPrivacyInteractionType?: string | null;
        /**
         * Output only. The network type enum used in the share key encoding.
         */
        androidPrivacyNetworkType?: string | null;
        /**
         * Output only. The campaign ID used in the share key encoding.
         */
        campaignId?: string | null;
        /**
         * Output only. The resource name of the Android privacy shared key. Android privacy shared key resource names have the form: `customers/{customer_id\}/androidPrivacySharedKeyGoogleAdGroups/{campaign_id\}~{ad_group_id\}~{android_privacy_interaction_type\}~{android_privacy_network_type\}~{android_privacy_interaction_date(yyyy-mm-dd)\}`
         */
        resourceName?: string | null;
        /**
         * Output only. 128 bit hex string of the encoded shared ad group key, including a '0x' prefix. This key can be used to do a bitwise OR operator with the aggregate conversion key to create a full aggregation key to retrieve the Aggregate API Report in Android Privacy Sandbox.
         */
        sharedAdGroupKey?: string | null;
    }
    /**
     * An Android privacy shared key view for Google campaign key.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources__AndroidPrivacySharedKeyGoogleCampaign {
        /**
         * Output only. The interaction date used in the shared key encoding in the format of "YYYY-MM-DD" in UTC timezone.
         */
        androidPrivacyInteractionDate?: string | null;
        /**
         * Output only. The interaction type enum used in the share key encoding.
         */
        androidPrivacyInteractionType?: string | null;
        /**
         * Output only. The campaign ID used in the share key encoding.
         */
        campaignId?: string | null;
        /**
         * Output only. The resource name of the Android privacy shared key. Android privacy shared key resource names have the form: `customers/{customer_id\}/androidPrivacySharedKeyGoogleCampaigns/{campaign_id\}~{android_privacy_interaction_type\}~{android_privacy_interaction_date(yyyy-mm-dd)\}`
         */
        resourceName?: string | null;
        /**
         * Output only. 128 bit hex string of the encoded shared campaign key, including a '0x' prefix. This key can be used to do a bitwise OR operator with the aggregate conversion key to create a full aggregation key to retrieve the Aggregate API Report in Android Privacy Sandbox.
         */
        sharedCampaignKey?: string | null;
    }
    /**
     * An Android privacy shared key view for Google network type key.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources__AndroidPrivacySharedKeyGoogleNetworkType {
        /**
         * Output only. The interaction date used in the shared key encoding in the format of "YYYY-MM-DD" in UTC timezone.
         */
        androidPrivacyInteractionDate?: string | null;
        /**
         * Output only. The interaction type enum used in the share key encoding.
         */
        androidPrivacyInteractionType?: string | null;
        /**
         * Output only. The network type enum used in the share key encoding.
         */
        androidPrivacyNetworkType?: string | null;
        /**
         * Output only. The campaign ID used in the share key encoding.
         */
        campaignId?: string | null;
        /**
         * Output only. The resource name of the Android privacy shared key. Android privacy shared key resource names have the form: `customers/{customer_id\}/androidPrivacySharedKeyGoogleNetworkTypes/{campaign_id\}~{android_privacy_interaction_type\}~{android_privacy_network_type\}~{android_privacy_interaction_date(yyyy-mm-dd)\}`
         */
        resourceName?: string | null;
        /**
         * Output only. 128 bit hex string of the encoded shared network type key, including a '0x' prefix. This key can be used to do a bitwise OR operator with the aggregate conversion key to create a full aggregation key to retrieve the Aggregate API Report in Android Privacy Sandbox.
         */
        sharedNetworkTypeKey?: string | null;
    }
    /**
     * Asset is a part of an ad which can be shared across multiple ads. It can be an image (ImageAsset), a video (YoutubeVideoAsset), etc. Assets are immutable and cannot be removed. To stop an asset from serving, remove the asset from the entity that is using it.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources__Asset {
        /**
         * Immutable. An app deep link asset.
         */
        appDeepLinkAsset?: Schema$GoogleAdsSearchads360V23Common__AppDeepLinkAsset;
        /**
         * A book on google asset.
         */
        bookOnGoogleAsset?: Schema$GoogleAdsSearchads360V23Common__BookOnGoogleAsset;
        /**
         * A business message asset.
         */
        businessMessageAsset?: Schema$GoogleAdsSearchads360V23Common__BusinessMessageAsset;
        /**
         * A call asset.
         */
        callAsset?: Schema$GoogleAdsSearchads360V23Common__CallAsset;
        /**
         * A callout asset.
         */
        calloutAsset?: Schema$GoogleAdsSearchads360V23Common__CalloutAsset;
        /**
         * Immutable. A call to action asset.
         */
        callToActionAsset?: Schema$GoogleAdsSearchads360V23Common__CallToActionAsset;
        /**
         * Output only. The timestamp when this asset was created. The timestamp is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss" format.
         */
        creationTime?: string | null;
        /**
         * Immutable. A Demand Gen carousel card asset.
         */
        demandGenCarouselCardAsset?: Schema$GoogleAdsSearchads360V23Common__DemandGenCarouselCardAsset;
        /**
         * A dynamic custom asset.
         */
        dynamicCustomAsset?: Schema$GoogleAdsSearchads360V23Common__DynamicCustomAsset;
        /**
         * A dynamic education asset.
         */
        dynamicEducationAsset?: Schema$GoogleAdsSearchads360V23Common__DynamicEducationAsset;
        /**
         * A dynamic flights asset.
         */
        dynamicFlightsAsset?: Schema$GoogleAdsSearchads360V23Common__DynamicFlightsAsset;
        /**
         * A dynamic hotels and rentals asset.
         */
        dynamicHotelsAndRentalsAsset?: Schema$GoogleAdsSearchads360V23Common__DynamicHotelsAndRentalsAsset;
        /**
         * A dynamic jobs asset.
         */
        dynamicJobsAsset?: Schema$GoogleAdsSearchads360V23Common__DynamicJobsAsset;
        /**
         * A dynamic local asset.
         */
        dynamicLocalAsset?: Schema$GoogleAdsSearchads360V23Common__DynamicLocalAsset;
        /**
         * A dynamic real estate asset.
         */
        dynamicRealEstateAsset?: Schema$GoogleAdsSearchads360V23Common__DynamicRealEstateAsset;
        /**
         * A dynamic travel asset.
         */
        dynamicTravelAsset?: Schema$GoogleAdsSearchads360V23Common__DynamicTravelAsset;
        /**
         * Output only. The Engine Status for an asset.
         */
        engineStatus?: string | null;
        /**
         * Output only. Policy information for the asset for each FieldType.
         */
        fieldTypePolicySummaries?: Schema$GoogleAdsSearchads360V23Resources__AssetFieldTypePolicySummary[];
        /**
         * A list of possible final mobile URLs after all cross domain redirects.
         */
        finalMobileUrls?: string[] | null;
        /**
         * A list of possible final URLs after all cross domain redirects.
         */
        finalUrls?: string[] | null;
        /**
         * URL template for appending params to landing page URLs served with parallel tracking.
         */
        finalUrlSuffix?: string | null;
        /**
         * A hotel callout asset.
         */
        hotelCalloutAsset?: Schema$GoogleAdsSearchads360V23Common__HotelCalloutAsset;
        /**
         * Immutable. A hotel property asset.
         */
        hotelPropertyAsset?: Schema$GoogleAdsSearchads360V23Common__HotelPropertyAsset;
        /**
         * Output only. The ID of the asset.
         */
        id?: string | null;
        /**
         * Output only. An image asset.
         */
        imageAsset?: Schema$GoogleAdsSearchads360V23Common__ImageAsset;
        /**
         * Output only. The datetime when this asset was last modified. The datetime is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss.ssssss" format.
         */
        lastModifiedTime?: string | null;
        /**
         * A lead form asset.
         */
        leadFormAsset?: Schema$GoogleAdsSearchads360V23Common__LeadFormAsset;
        /**
         * Output only. A location asset.
         */
        locationAsset?: Schema$GoogleAdsSearchads360V23Common__LocationAsset;
        /**
         * Immutable. A media bundle asset.
         */
        mediaBundleAsset?: Schema$GoogleAdsSearchads360V23Common__MediaBundleAsset;
        /**
         * A mobile app asset.
         */
        mobileAppAsset?: Schema$GoogleAdsSearchads360V23Common__MobileAppAsset;
        /**
         * Optional name of the asset.
         */
        name?: string | null;
        /**
         * Output only. Orientation of the asset. This is only supported for image and video assets.
         */
        orientation?: string | null;
        /**
         * A page feed asset.
         */
        pageFeedAsset?: Schema$GoogleAdsSearchads360V23Common__PageFeedAsset;
        /**
         * Output only. Policy information for the asset.
         */
        policySummary?: Schema$GoogleAdsSearchads360V23Resources__AssetPolicySummary;
        /**
         * A price asset.
         */
        priceAsset?: Schema$GoogleAdsSearchads360V23Common__PriceAsset;
        /**
         * A promotion asset.
         */
        promotionAsset?: Schema$GoogleAdsSearchads360V23Common__PromotionAsset;
        /**
         * Immutable. The resource name of the asset. Asset resource names have the form: `customers/{customer_id\}/assets/{asset_id\}`
         */
        resourceName?: string | null;
        /**
         * Output only. A unified call asset.
         */
        searchAds360CallAsset?: Schema$GoogleAdsSearchads360V23Common__UnifiedCallAsset;
        /**
         * Output only. A unified callout asset.
         */
        searchAds360CalloutAsset?: Schema$GoogleAdsSearchads360V23Common__UnifiedCalloutAsset;
        /**
         * Output only. A unified location asset.
         */
        searchAds360LocationAsset?: Schema$GoogleAdsSearchads360V23Common__UnifiedLocationAsset;
        /**
         * Output only. A unified page feed asset.
         */
        searchAds360PageFeedAsset?: Schema$GoogleAdsSearchads360V23Common__UnifiedPageFeedAsset;
        /**
         * Output only. A unified sitelink asset.
         */
        searchAds360SitelinkAsset?: Schema$GoogleAdsSearchads360V23Common__UnifiedSitelinkAsset;
        /**
         * A sitelink asset.
         */
        sitelinkAsset?: Schema$GoogleAdsSearchads360V23Common__SitelinkAsset;
        /**
         * Output only. Source of the asset.
         */
        source?: string | null;
        /**
         * Output only. The status of the asset.
         */
        status?: string | null;
        /**
         * A structured snippet asset.
         */
        structuredSnippetAsset?: Schema$GoogleAdsSearchads360V23Common__StructuredSnippetAsset;
        /**
         * Synthetic content info for the asset. Only assets with specific asset types are eligible for updates using the `synthetic_content_info` field. Allowed `AssetType` values: * `IMAGE` * `MEDIA_BUNDLE` * `YOUTUBE_VIDEO`
         */
        syntheticContentInfo?: Schema$GoogleAdsSearchads360V23Common__SyntheticContentInfo;
        /**
         * Immutable. A text asset.
         */
        textAsset?: Schema$GoogleAdsSearchads360V23Common__TextAsset;
        /**
         * URL template for constructing a tracking URL.
         */
        trackingUrlTemplate?: string | null;
        /**
         * Output only. Type of the asset.
         */
        type?: string | null;
        /**
         * A list of mappings to be used for substituting URL custom parameter tags in the tracking_url_template, final_urls, and/or final_mobile_urls.
         */
        urlCustomParameters?: Schema$GoogleAdsSearchads360V23Common__CustomParameter[];
        /**
         * Immutable. A YouTube video asset.
         */
        youtubeVideoAsset?: Schema$GoogleAdsSearchads360V23Common__YoutubeVideoAsset;
    }
    /**
     * Information about the asset coverage of an asset group.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources__AssetCoverage {
        /**
         * Output only. A list of action items to improve the ad strength of an asset group.
         */
        adStrengthActionItems?: Schema$GoogleAdsSearchads360V23Resources__AdStrengthActionItem[];
    }
    /**
     * Contains policy information for an asset under AssetFieldType context.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources__AssetFieldTypePolicySummary {
        /**
         * Output only. FieldType of this asset.
         */
        assetFieldType?: string | null;
        /**
         * Output only. Source of this asset.
         */
        assetSource?: string | null;
        /**
         * Output only. Policy summary.
         */
        policySummaryInfo?: Schema$GoogleAdsSearchads360V23Resources__AssetPolicySummary;
    }
    /**
     * An asset field type view. This view reports non-overcounted metrics for each asset field type when the asset is used as extension.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources__AssetFieldTypeView {
        /**
         * Output only. The asset field type of the asset field type view.
         */
        fieldType?: string | null;
        /**
         * Output only. The resource name of the asset field type view. Asset field type view resource names have the form: `customers/{customer_id\}/assetFieldTypeViews/{field_type\}`
         */
        resourceName?: string | null;
    }
    /**
     * An asset group. AssetGroupAsset is used to link an asset to the asset group. AssetGroupSignal is used to associate a signal to an asset group.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources__AssetGroup {
        /**
         * Output only. Overall ad strength of this asset group.
         */
        adStrength?: string | null;
        /**
         * Output only. The asset coverage of this asset group.
         */
        assetCoverage?: Schema$GoogleAdsSearchads360V23Resources__AssetCoverage;
        /**
         * Immutable. The campaign with which this asset group is associated. The asset which is linked to the asset group.
         */
        campaign?: string | null;
        /**
         * A list of final mobile URLs after all cross domain redirects. In performance max, by default, the urls are eligible for expansion unless opted out.
         */
        finalMobileUrls?: string[] | null;
        /**
         * A list of final URLs after all cross domain redirects. In performance max, by default, the urls are eligible for expansion unless opted out.
         */
        finalUrls?: string[] | null;
        /**
         * Output only. The ID of the asset group.
         */
        id?: string | null;
        /**
         * Required. Name of the asset group. Required. It must have a minimum length of 1 and maximum length of 128. It must be unique under a campaign.
         */
        name?: string | null;
        /**
         * First part of text that may appear appended to the url displayed in the ad.
         */
        path1?: string | null;
        /**
         * Second part of text that may appear appended to the url displayed in the ad. This field can only be set when path1 is set.
         */
        path2?: string | null;
        /**
         * Output only. The primary status of the asset group. Provides insights into why an asset group is not serving or not serving optimally.
         */
        primaryStatus?: string | null;
        /**
         * Output only. Provides reasons into why an asset group is not serving or not serving optimally. It will be empty when the asset group is serving without issues.
         */
        primaryStatusReasons?: string[] | null;
        /**
         * Immutable. The resource name of the asset group. Asset group resource names have the form: `customers/{customer_id\}/assetGroups/{asset_group_id\}`
         */
        resourceName?: string | null;
        /**
         * The status of the asset group.
         */
        status?: string | null;
    }
    /**
     * AssetGroupAsset is the link between an asset and an asset group. Adding an AssetGroupAsset links an asset with an asset group.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources__AssetGroupAsset {
        /**
         * Immutable. The asset which this asset group asset is linking.
         */
        asset?: string | null;
        /**
         * Immutable. The asset group which this asset group asset is linking.
         */
        assetGroup?: string | null;
        /**
         * The description of the placement of the asset within the asset group. For example: HEADLINE, YOUTUBE_VIDEO etc
         */
        fieldType?: string | null;
        /**
         * Output only. The policy information for this asset group asset.
         */
        policySummary?: Schema$GoogleAdsSearchads360V23Common__PolicySummary;
        /**
         * Output only. Provides the PrimaryStatus of this asset link. Primary status is meant essentially to differentiate between the plain "status" field, which has advertiser set values of enabled, paused, or removed. The primary status takes into account other signals (for assets its mainly policy and quality approvals) to come up with a more comprehensive status to indicate its serving state.
         */
        primaryStatus?: string | null;
        /**
         * Output only. Provides the details of the primary status and its associated reasons.
         */
        primaryStatusDetails?: Schema$GoogleAdsSearchads360V23Common__AssetLinkPrimaryStatusDetails[];
        /**
         * Output only. Provides a list of reasons for why an asset is not serving or not serving at full capacity.
         */
        primaryStatusReasons?: string[] | null;
        /**
         * Immutable. The resource name of the asset group asset. Asset group asset resource name have the form: `customers/{customer_id\}/assetGroupAssets/{asset_group_id\}~{asset_id\}~{field_type\}`
         */
        resourceName?: string | null;
        /**
         * Output only. Source of the asset group asset.
         */
        source?: string | null;
        /**
         * The status of the link between an asset and asset group.
         */
        status?: string | null;
    }
    /**
     * Asset group asset combination data
     */
    export interface Schema$GoogleAdsSearchads360V23Resources__AssetGroupAssetCombinationData {
        /**
         * Output only. Served assets.
         */
        assetCombinationServedAssets?: Schema$GoogleAdsSearchads360V23Common__AssetUsage[];
    }
    /**
     * AssetGroupListingGroupFilter represents a listing group filter tree node in an asset group.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources__AssetGroupListingGroupFilter {
        /**
         * Immutable. The asset group which this asset group listing group filter is part of.
         */
        assetGroup?: string | null;
        /**
         * Dimension value with which this listing group is refining its parent. Undefined for the root group.
         */
        caseValue?: Schema$GoogleAdsSearchads360V23Resources__ListingGroupFilterDimension;
        /**
         * Output only. The ID of the ListingGroupFilter.
         */
        id?: string | null;
        /**
         * Immutable. The source of listings filtered by this listing group filter.
         */
        listingSource?: string | null;
        /**
         * Immutable. Resource name of the parent listing group subdivision. Null for the root listing group filter node.
         */
        parentListingGroupFilter?: string | null;
        /**
         * Output only. The path of dimensions defining this listing group filter.
         */
        path?: Schema$GoogleAdsSearchads360V23Resources__ListingGroupFilterDimensionPath;
        /**
         * Immutable. The resource name of the asset group listing group filter. Asset group listing group filter resource name have the form: `customers/{customer_id\}/assetGroupListingGroupFilters/{asset_group_id\}~{listing_group_filter_id\}`
         */
        resourceName?: string | null;
        /**
         * Immutable. Type of a listing group filter node.
         */
        type?: string | null;
    }
    /**
     * An asset group product group view.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources__AssetGroupProductGroupView {
        /**
         * Output only. The asset group associated with the listing group filter.
         */
        assetGroup?: string | null;
        /**
         * Output only. The resource name of the asset group listing group filter.
         */
        assetGroupListingGroupFilter?: string | null;
        /**
         * Output only. The resource name of the asset group product group view. Asset group product group view resource names have the form: `customers/{customer_id\}/assetGroupProductGroupViews/{asset_group_id\}~{listing_group_filter_id\}`
         */
        resourceName?: string | null;
    }
    /**
     * AssetGroupSignal represents a signal in an asset group. The existence of a signal tells the performance max campaign who's most likely to convert. Performance Max uses the signal to look for new people with similar or stronger intent to find conversions across Search, Display, Video, and more.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources__AssetGroupSignal {
        /**
         * Output only. Approval status is the output value for search theme signal after Google ads policy review. When using Audience signal, this field is not used and will be absent.
         */
        approvalStatus?: string | null;
        /**
         * Immutable. The asset group which this asset group signal belongs to.
         */
        assetGroup?: string | null;
        /**
         * Immutable. The audience signal to be used by the performance max campaign.
         */
        audience?: Schema$GoogleAdsSearchads360V23Common__AudienceInfo;
        /**
         * Output only. Computed for SearchTheme signals. When using Audience signal, this field is not used and will be absent.
         */
        disapprovalReasons?: string[] | null;
        /**
         * Immutable. The resource name of the asset group signal. Asset group signal resource name have the form: `customers/{customer_id\}/assetGroupSignals/{asset_group_id\}~{signal_id\}`
         */
        resourceName?: string | null;
        /**
         * Immutable. The search_theme signal to be used by the performance max campaign. Mutate errors of search_theme criterion includes AssetGroupSignalError.UNSPECIFIED AssetGroupSignalError.UNKNOWN AssetGroupSignalError.TOO_MANY_WORDS AssetGroupSignalError.SEARCH_THEME_POLICY_VIOLATION FieldError.REQUIRED StringFormatError.ILLEGAL_CHARS StringLengthError.TOO_LONG ResourceCountLimitExceededError.RESOURCE_LIMIT
         */
        searchTheme?: Schema$GoogleAdsSearchads360V23Common__SearchThemeInfo;
    }
    /**
     * A view on the usage of asset group asset top combinations.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources__AssetGroupTopCombinationView {
        /**
         * Output only. The top combinations of assets that served together.
         */
        assetGroupTopCombinations?: Schema$GoogleAdsSearchads360V23Resources__AssetGroupAssetCombinationData[];
        /**
         * Output only. The resource name of the asset group top combination view. AssetGroup Top Combination view resource names have the form: `"customers/{customer_id\}/assetGroupTopCombinationViews/{asset_group_id\}~{asset_combination_category\}"
         */
        resourceName?: string | null;
    }
    /**
     * Contains policy information for an asset.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources__AssetPolicySummary {
        /**
         * Output only. The overall approval status of this asset, calculated based on the status of its individual policy topic entries.
         */
        approvalStatus?: string | null;
        /**
         * Output only. The list of policy findings for this asset.
         */
        policyTopicEntries?: Schema$GoogleAdsSearchads360V23Common__PolicyTopicEntry[];
        /**
         * Output only. Where in the review process this asset is.
         */
        reviewStatus?: string | null;
    }
    /**
     * An asset set representing a collection of assets. Use AssetSetAsset to link an asset to the asset set.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources__AssetSet {
        /**
         * Business Profile location group asset set data.
         */
        businessProfileLocationGroup?: Schema$GoogleAdsSearchads360V23Common__BusinessProfileLocationGroup;
        /**
         * Represents information about a Chain dynamic location group. Only applicable if the sync level AssetSet's type is LOCATION_SYNC and sync source is chain.
         */
        chainLocationGroup?: Schema$GoogleAdsSearchads360V23Common__ChainLocationGroup;
        /**
         * Output only. For Performance Max for travel goals campaigns with a Hotel Center account link. Read-only.
         */
        hotelPropertyData?: Schema$GoogleAdsSearchads360V23Resources_AssetSet_HotelPropertyData;
        /**
         * Output only. The ID of the asset set.
         */
        id?: string | null;
        /**
         * Immutable. Parent asset set ID for the asset set where the elements of this asset set come from. For example: the sync level location AssetSet id where the elements in LocationGroup AssetSet come from. This field is required and only applicable for Location Group typed AssetSet.
         */
        locationGroupParentAssetSetId?: string | null;
        /**
         * Location asset set data. This will be used for sync level location set. This can only be set if AssetSet's type is LOCATION_SYNC.
         */
        locationSet?: Schema$GoogleAdsSearchads360V23Common__LocationSet;
        /**
         * Merchant ID and Feed Label from Google Merchant Center.
         */
        merchantCenterFeed?: Schema$GoogleAdsSearchads360V23Resources_AssetSet_MerchantCenterFeed;
        /**
         * Required. Name of the asset set. Required. It must have a minimum length of 1 and maximum length of 128.
         */
        name?: string | null;
        /**
         * Immutable. The resource name of the asset set. Asset set resource names have the form: `customers/{customer_id\}/assetSets/{asset_set_id\}`
         */
        resourceName?: string | null;
        /**
         * Output only. The status of the asset set. Read-only.
         */
        status?: string | null;
        /**
         * Required. Immutable. The type of the asset set. Required.
         */
        type?: string | null;
    }
    /**
     * AssetSetAsset is the link between an asset and an asset set. Adding an AssetSetAsset links an asset with an asset set.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources__AssetSetAsset {
        /**
         * Immutable. The asset which this asset set asset is linking to.
         */
        asset?: string | null;
        /**
         * Immutable. The asset set which this asset set asset is linking to.
         */
        assetSet?: string | null;
        /**
         * Immutable. The resource name of the asset set asset. Asset set asset resource names have the form: `customers/{customer_id\}/assetSetAssets/{asset_set_id\}~{asset_id\}`
         */
        resourceName?: string | null;
        /**
         * Output only. The status of the asset set asset. Read-only.
         */
        status?: string | null;
    }
    /**
     * An asset set type view. This view reports non-overcounted metrics for each asset set type. Child asset set types are not included in this report. Their stats are aggregated under the parent asset set type.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources__AssetSetTypeView {
        /**
         * Output only. The asset set type of the asset set type view.
         */
        assetSetType?: string | null;
        /**
         * Output only. The resource name of the asset set type view. Asset set type view resource names have the form: `customers/{customer_id\}/assetSetTypeViews/{asset_set_type\}`
         */
        resourceName?: string | null;
    }
    /**
     * Audience is an effective targeting option that lets you intersect different segment attributes, such as detailed demographics and affinities, to create audiences that represent sections of your target segments.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources__Audience {
        /**
         * Immutable. The asset group that this audience is scoped under. Must be set if and only if scope is ASSET_GROUP. Immutable after creation. If an audience with ASSET_GROUP scope is upgraded to CUSTOMER scope, this field will automatically be cleared.
         */
        assetGroup?: string | null;
        /**
         * Description of this audience.
         */
        description?: string | null;
        /**
         * Positive dimensions specifying the audience composition.
         */
        dimensions?: Schema$GoogleAdsSearchads360V23Common__AudienceDimension[];
        /**
         * Negative dimension specifying the audience composition.
         */
        exclusionDimension?: Schema$GoogleAdsSearchads360V23Common__AudienceExclusionDimension;
        /**
         * Output only. ID of the audience.
         */
        id?: string | null;
        /**
         * Name of the audience. It should be unique across all audiences within the account. It must have a minimum length of 1 and maximum length of 255. Required when scope is not set or is set to CUSTOMER. Cannot be set or updated when scope is ASSET_GROUP.
         */
        name?: string | null;
        /**
         * Immutable. The resource name of the audience. Audience names have the form: `customers/{customer_id\}/audiences/{audience_id\}`
         */
        resourceName?: string | null;
        /**
         * Defines the scope this audience can be used in. By default, the scope is CUSTOMER. Audiences can be created with a scope of ASSET_GROUP for exclusive use by a single asset_group. Scope may change from ASSET_GROUP to CUSTOMER but not from CUSTOMER to ASSET_GROUP.
         */
        scope?: string | null;
        /**
         * Output only. Status of this audience. Indicates whether the audience is enabled or removed.
         */
        status?: string | null;
    }
    /**
     * specific to local services background check.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources__BackgroundCheckVerificationArtifact {
        /**
         * Output only. URL to access background case.
         */
        caseUrl?: string | null;
        /**
         * Output only. The timestamp when this background check case result was adjudicated. The format is "YYYY-MM-DD HH:MM:SS" in the Google Ads account's timezone. Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
         */
        finalAdjudicationDateTime?: string | null;
    }
    /**
     * A list of mutates being processed asynchronously. The mutates are uploaded by the user. The mutates themselves aren't readable and the results of the job can only be read using BatchJobService.ListBatchJobResults.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources__BatchJob {
        /**
         * Output only. ID of this batch job.
         */
        id?: string | null;
        /**
         * Output only. The resource name of the long-running operation that can be used to poll for completion. Only set when the batch job status is RUNNING or DONE.
         */
        longRunningOperation?: string | null;
        /**
         * Output only. Contains additional information about this batch job.
         */
        metadata?: Schema$GoogleAdsSearchads360V23Resources_BatchJob_BatchJobMetadata;
        /**
         * Output only. The next sequence token to use when adding operations. Only set when the batch job status is PENDING.
         */
        nextAddSequenceToken?: string | null;
        /**
         * Immutable. The resource name of the batch job. Batch job resource names have the form: `customers/{customer_id\}/batchJobs/{batch_job_id\}`
         */
        resourceName?: string | null;
        /**
         * Output only. Status of this batch job.
         */
        status?: string | null;
    }
    /**
     * Represents a bidding data exclusion. Bidding data exclusions can be set in client accounts only, and cannot be used in manager accounts. See "About data exclusions" at https://support.google.com/google-ads/answer/10370710. Note: A customer account can have a maximum of 500 active bidding data exclusions.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources__BiddingDataExclusion {
        /**
         * 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.
         */
        advertisingChannelTypes?: string[] | null;
        /**
         * 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.
         */
        campaigns?: string[] | null;
        /**
         * Output only. The ID of the data exclusion.
         */
        dataExclusionId?: string | null;
        /**
         * The description of the data exclusion. The description can be at most 2048 characters.
         */
        description?: string | null;
        /**
         * If not specified, all devices will be included in this exclusion. Otherwise, only the specified targeted devices will be included in this exclusion.
         */
        devices?: string[] | null;
        /**
         * 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].
         */
        endDateTime?: string | null;
        /**
         * The name of the data exclusion. The name can be at most 255 characters.
         */
        name?: string | null;
        /**
         * Immutable. The resource name of the data exclusion. Data exclusion resource names have the form: `customers/{customer_id\}/biddingDataExclusions/{data_exclusion_id\}`
         */
        resourceName?: string | null;
        /**
         * The scope of the data exclusion.
         */
        scope?: string | null;
        /**
         * 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.
         */
        startDateTime?: string | null;
        /**
         * Output only. The status of the data exclusion.
         */
        status?: string | null;
    }
    /**
     * Represents a bidding seasonality adjustment. Cannot be used in manager accounts. See "About seasonality adjustments" at https://support.google.com/google-ads/answer/10369906.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources__BiddingSeasonalityAdjustment {
        /**
         * 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.
         */
        advertisingChannelTypes?: string[] | null;
        /**
         * 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.
         */
        campaigns?: string[] | null;
        /**
         * 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.
         */
        conversionRateModifier?: number | null;
        /**
         * The description of the seasonality adjustment. The description can be at most 2048 characters.
         */
        description?: string | null;
        /**
         * If not specified, all devices will be included in this adjustment. Otherwise, only the specified targeted devices will be included in this adjustment.
         */
        devices?: string[] | null;
        /**
         * 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].
         */
        endDateTime?: string | null;
        /**
         * The name of the seasonality adjustment. The name can be at most 255 characters.
         */
        name?: string | null;
        /**
         * Immutable. The resource name of the seasonality adjustment. Seasonality adjustment resource names have the form: `customers/{customer_id\}/biddingSeasonalityAdjustments/{seasonality_adjustment_id\}`
         */
        resourceName?: string | null;
        /**
         * The scope of the seasonality adjustment.
         */
        scope?: string | null;
        /**
         * Output only. The ID of the seasonality adjustment.
         */
        seasonalityAdjustmentId?: string | null;
        /**
         * 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.
         */
        startDateTime?: string | null;
        /**
         * Output only. The status of the seasonality adjustment.
         */
        status?: string | null;
    }
    /**
     * A bidding strategy.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources__BiddingStrategy {
        /**
         * ID of the campaign budget that this portfolio bidding strategy is aligned with. When a portfolio and a campaign budget are aligned, that means that they are attached to the same set of campaigns. After a bidding strategy is aligned with a campaign budget, campaigns that are added to the bidding strategy must also use the aligned campaign budget.
         */
        alignedCampaignBudgetId?: string | null;
        /**
         * Output only. The number of campaigns attached to this bidding strategy. This field is read-only.
         */
        campaignCount?: string | null;
        /**
         * Immutable. The currency used by the bidding strategy (ISO 4217 three-letter code). For bidding strategies in manager customers, this currency can be set on creation and defaults to the manager customer's currency. For serving customers, this field cannot be set; all strategies in a serving customer implicitly use the serving customer's currency. In all cases the effective_currency_code field returns the currency used by the strategy.
         */
        currencyCode?: string | null;
        /**
         * Output only. The currency used by the bidding strategy (ISO 4217 three-letter code). For bidding strategies in manager customers, this is the currency set by the advertiser when creating the strategy. For serving customers, this is the customer's currency_code. Bidding strategy metrics are reported in this currency. This field is read-only.
         */
        effectiveCurrencyCode?: string | null;
        /**
         * A bidding strategy that raises bids for clicks that seem more likely to lead to a conversion and lowers them for clicks where they seem less likely.
         */
        enhancedCpc?: Schema$GoogleAdsSearchads360V23Common__EnhancedCpc;
        /**
         * Output only. The ID of the bidding strategy.
         */
        id?: string | null;
        /**
         * An automated bidding strategy to help get the most conversions for your campaigns while spending your budget.
         */
        maximizeConversions?: Schema$GoogleAdsSearchads360V23Common__MaximizeConversions;
        /**
         * An automated bidding strategy to help get the most conversion value for your campaigns while spending your budget.
         */
        maximizeConversionValue?: Schema$GoogleAdsSearchads360V23Common__MaximizeConversionValue;
        /**
         * The name of the bidding strategy. All bidding strategies within an account must be named distinctly. The length of this string should be between 1 and 255, inclusive, in UTF-8 bytes, (trimmed).
         */
        name?: string | null;
        /**
         * Output only. The number of non-removed campaigns attached to this bidding strategy. This field is read-only.
         */
        nonRemovedCampaignCount?: string | null;
        /**
         * Immutable. The resource name of the bidding strategy. Bidding strategy resource names have the form: `customers/{customer_id\}/biddingStrategies/{bidding_strategy_id\}`
         */
        resourceName?: string | null;
        /**
         * Output only. The status of the bidding strategy. This field is read-only.
         */
        status?: string | null;
        /**
         * A bidding strategy that sets bids to help get as many conversions as possible at the target cost-per-acquisition (CPA) you set.
         */
        targetCpa?: Schema$GoogleAdsSearchads360V23Common__TargetCpa;
        /**
         * A bidding strategy that automatically optimizes towards a chosen percentage of impressions.
         */
        targetImpressionShare?: Schema$GoogleAdsSearchads360V23Common__TargetImpressionShare;
        /**
         * A bidding strategy that helps you maximize revenue while averaging a specific target Return On Ad Spend (ROAS).
         */
        targetRoas?: Schema$GoogleAdsSearchads360V23Common__TargetRoas;
        /**
         * A bid strategy that sets your bids to help get as many clicks as possible within your budget.
         */
        targetSpend?: Schema$GoogleAdsSearchads360V23Common__TargetSpend;
        /**
         * Output only. The type of the bidding strategy. Create a bidding strategy by setting the bidding scheme. This field is read-only.
         */
        type?: string | null;
    }
    /**
     * A bidding strategy simulation. Supported combinations of simulation type and simulation modification method are detailed below respectively. 1. TARGET_CPA - UNIFORM 2. TARGET_ROAS - UNIFORM
     */
    export interface Schema$GoogleAdsSearchads360V23Resources__BiddingStrategySimulation {
        /**
         * Output only. Bidding strategy shared set id of the simulation.
         */
        biddingStrategyId?: string | null;
        /**
         * Output only. Last day on which the simulation is based, in YYYY-MM-DD format
         */
        endDate?: string | null;
        /**
         * Output only. How the simulation modifies the field.
         */
        modificationMethod?: string | null;
        /**
         * Output only. The resource name of the bidding strategy simulation. Bidding strategy simulation resource names have the form: `customers/{customer_id\}/biddingStrategySimulations/{bidding_strategy_id\}~{type\}~{modification_method\}~{start_date\}~{end_date\}`
         */
        resourceName?: string | null;
        /**
         * Output only. First day on which the simulation is based, in YYYY-MM-DD format.
         */
        startDate?: string | null;
        /**
         * Output only. Simulation points if the simulation type is TARGET_CPA.
         */
        targetCpaPointList?: Schema$GoogleAdsSearchads360V23Common__TargetCpaSimulationPointList;
        /**
         * Output only. Simulation points if the simulation type is TARGET_ROAS.
         */
        targetRoasPointList?: Schema$GoogleAdsSearchads360V23Common__TargetRoasSimulationPointList;
        /**
         * Output only. The field that the simulation modifies.
         */
        type?: string | null;
    }
    /**
     * A billing setup, which associates a payments account and an advertiser. A billing setup is specific to one advertiser.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources__BillingSetup {
        /**
         * Output only. The end date time in yyyy-MM-dd or yyyy-MM-dd HH:mm:ss format.
         */
        endDateTime?: string | null;
        /**
         * Output only. The end time as a type. The only possible value is FOREVER.
         */
        endTimeType?: string | null;
        /**
         * Output only. The ID of the billing setup.
         */
        id?: string | null;
        /**
         * Immutable. The resource name of the payments account associated with this billing setup. Payments resource names have the form: `customers/{customer_id\}/paymentsAccounts/{payments_account_id\}` When setting up billing, this is used to signup with an existing payments account (and then payments_account_info should not be set). When getting a billing setup, this and payments_account_info will be populated.
         */
        paymentsAccount?: string | null;
        /**
         * Immutable. The payments account information associated with this billing setup. When setting up billing, this is used to signup with a new payments account (and then payments_account should not be set). When getting a billing setup, this and payments_account will be populated.
         */
        paymentsAccountInfo?: Schema$GoogleAdsSearchads360V23Resources_BillingSetup_PaymentsAccountInfo;
        /**
         * Immutable. The resource name of the billing setup. BillingSetup resource names have the form: `customers/{customer_id\}/billingSetups/{billing_setup_id\}`
         */
        resourceName?: string | null;
        /**
         * Immutable. The start date time in yyyy-MM-dd or yyyy-MM-dd HH:mm:ss format. Only a future time is allowed.
         */
        startDateTime?: string | null;
        /**
         * Immutable. The start time as a type. Only NOW is allowed.
         */
        startTimeType?: string | null;
        /**
         * Output only. The status of the billing setup.
         */
        status?: string | null;
    }
    /**
     * specific to a local services business registration check.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources__BusinessRegistrationCheckVerificationArtifact {
        /**
         * Output only. The id of the check, such as vat_tax_id, representing "VAT Tax ID" requirement.
         */
        checkId?: string | null;
        /**
         * Output only. Message storing document info for the business.
         */
        registrationDocument?: Schema$GoogleAdsSearchads360V23Resources__BusinessRegistrationDocument;
        /**
         * Output only. Message storing government issued number for the business.
         */
        registrationNumber?: Schema$GoogleAdsSearchads360V23Resources__BusinessRegistrationNumber;
        /**
         * Output only. The type of business registration check (number, document).
         */
        registrationType?: string | null;
        /**
         * Output only. Registration document rejection reason.
         */
        rejectionReason?: string | null;
    }
    /**
     * specific to a local services business registration document.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources__BusinessRegistrationDocument {
        /**
         * Output only. The readonly field containing the information for an uploaded business registration document.
         */
        documentReadonly?: Schema$GoogleAdsSearchads360V23Common__LocalServicesDocumentReadOnly;
    }
    /**
     * specific to a local services business registration number.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources__BusinessRegistrationNumber {
        /**
         * Output only. Government-issued number for the business.
         */
        number?: string | null;
    }
    /**
     * Call reporting setting for a customer.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources__CallReportingSetting {
        /**
         * Customer-level call conversion action to attribute a call conversion to. If not set a default conversion action is used. Only in effect when call_conversion_reporting_enabled is set to true.
         */
        callConversionAction?: string | null;
        /**
         * Whether to enable call conversion reporting.
         */
        callConversionReportingEnabled?: boolean | null;
        /**
         * Enable reporting of phone call events by redirecting them through Google System.
         */
        callReportingEnabled?: boolean | null;
    }
    /**
     * A call view that includes data for call tracking of call-only ads or call extensions.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources__CallView {
        /**
         * Output only. The advertiser-provided call duration in seconds.
         */
        callDurationSeconds?: string | null;
        /**
         * Output only. Area code of the caller. Null if the call duration is shorter than 15 seconds.
         */
        callerAreaCode?: string | null;
        /**
         * Output only. code of the caller.
         */
        callerCountryCode?: string | null;
        /**
         * Output only. The status of the call.
         */
        callStatus?: string | null;
        /**
         * Output only. The call tracking display location.
         */
        callTrackingDisplayLocation?: string | null;
        /**
         * Output only. The advertiser-provided call end date time.
         */
        endCallDateTime?: string | null;
        /**
         * Output only. The resource name of the call view. Call view resource names have the form: `customers/{customer_id\}/callViews/{call_detail_id\}`
         */
        resourceName?: string | null;
        /**
         * Output only. The advertiser-provided call start date time.
         */
        startCallDateTime?: string | null;
        /**
         * Output only. The type of the call.
         */
        type?: string | null;
    }
    /**
     * A campaign.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources__Campaign {
        /**
         * Output only. Resource name of AccessibleBiddingStrategy, a read-only view of the unrestricted attributes of the attached portfolio bidding strategy identified by 'bidding_strategy'. Empty, if the campaign does not use a portfolio strategy. Unrestricted strategy attributes are available to all customers with whom the strategy is shared and are read from the AccessibleBiddingStrategy resource. In contrast, restricted attributes are only available to the owner customer of the strategy and their managers. Restricted attributes can only be read from the BiddingStrategy resource.
         */
        accessibleBiddingStrategy?: string | null;
        /**
         * The ad serving optimization status of the campaign.
         */
        adServingOptimizationStatus?: string | null;
        /**
         * Immutable. Optional refinement to `advertising_channel_type`. Must be a valid sub-type of the parent channel type. Can be set only when creating campaigns. After campaign is created, the field can not be changed.
         */
        advertisingChannelSubType?: string | null;
        /**
         * Immutable. The primary serving target for ads within the campaign. The targeting options can be refined in `network_settings`. This field is required and should not be empty when creating new campaigns. Can be set only when creating campaigns. After the campaign is created, the field can not be changed.
         */
        advertisingChannelType?: string | null;
        /**
         * Settings for AI Max in search campaigns.
         */
        aiMaxSetting?: Schema$GoogleAdsSearchads360V23Resources_Campaign_AiMaxSetting;
        /**
         * The setting related to App Campaign.
         */
        appCampaignSetting?: Schema$GoogleAdsSearchads360V23Resources_Campaign_AppCampaignSetting;
        /**
         * Contains the opt-in/out status of each AssetAutomationType. See documentation of each asset automation type enum for default opt in/out behavior.
         */
        assetAutomationSettings?: Schema$GoogleAdsSearchads360V23Resources_Campaign_AssetAutomationSetting[];
        /**
         * Immutable. Setting for audience related features.
         */
        audienceSetting?: Schema$GoogleAdsSearchads360V23Resources_Campaign_AudienceSetting;
        /**
         * Output only. The resource name of the base campaign of a draft or experiment campaign. For base campaigns, this is equal to `resource_name`. This field is read-only.
         */
        baseCampaign?: string | null;
        /**
         * The resource name of the portfolio bidding strategy used by the campaign.
         */
        biddingStrategy?: string | null;
        /**
         * Output only. The system status of the campaign's bidding strategy.
         */
        biddingStrategySystemStatus?: string | null;
        /**
         * Output only. The type of bidding strategy. A bidding strategy can be created by setting either the bidding scheme to create a standard bidding strategy or the `bidding_strategy` field to create a portfolio bidding strategy. This field is read-only.
         */
        biddingStrategyType?: string | null;
        brandGuidelines?: Schema$GoogleAdsSearchads360V23Resources_Campaign_BrandGuidelines;
        /**
         * Immutable. Whether Brand Guidelines are enabled for this Campaign. Only applicable to Performance Max campaigns. If enabled, business name and logo assets must be linked as CampaignAssets instead of AssetGroupAssets.
         */
        brandGuidelinesEnabled?: boolean | null;
        /**
         * The resource name of the campaign budget of the campaign.
         */
        campaignBudget?: string | null;
        /**
         * The resource name of the campaign group that this campaign belongs to.
         */
        campaignGroup?: string | null;
        /**
         * Commission is an automatic bidding strategy in which the advertiser pays a certain portion of the conversion value.
         */
        commission?: Schema$GoogleAdsSearchads360V23Common__Commission;
        /**
         * The advertiser should self-declare whether this campaign contains political advertising content targeted towards the European Union.
         */
        containsEuPoliticalAdvertising?: string | null;
        /**
         * Settings for Demand Gen campaign.
         */
        demandGenCampaignSettings?: Schema$GoogleAdsSearchads360V23Resources_Campaign_DemandGenCampaignSettings;
        /**
         * The setting for controlling Dynamic Search Ads (DSA).
         */
        dynamicSearchAdsSetting?: Schema$GoogleAdsSearchads360V23Resources_Campaign_DynamicSearchAdsSetting;
        /**
         * Output only. The resource names of effective labels attached to this campaign. An effective label is a label inherited or directly assigned to this campaign.
         */
        effectiveLabels?: string[] | null;
        /**
         * The last day and time of the campaign in serving customer's timezone in "yyyy-MM-dd HH:mm:ss" format. Set the time component to 23:59:59 for daily granularity, time granularity is only supported for some campaign types. On create, defaults to running indefinitely. To set an existing campaign to run indefinitely, clear this field.
         */
        endDateTime?: string | null;
        /**
         * Output only. ID of the campaign in the external engine account. This field is for non-Google Ads account only, for example, Yahoo Japan, Microsoft, Baidu etc. For Google Ads entity, use "campaign.id" instead.
         */
        engineId?: string | null;
        /**
         * The asset field types that should be excluded from this campaign. Asset links with these field types will not be inherited by this campaign from the upper level.
         */
        excludedParentAssetFieldTypes?: string[] | null;
        /**
         * The asset set types that should be excluded from this campaign. Asset set links with these types will not be inherited by this campaign from the upper level. Location group types (GMB_DYNAMIC_LOCATION_GROUP, CHAIN_DYNAMIC_LOCATION_GROUP, and STATIC_LOCATION_GROUP) are child types of LOCATION_SYNC. Therefore, if LOCATION_SYNC is set for this field, all location group asset sets are not allowed to be linked to this campaign, and all Location Extension (LE) and Affiliate Location Extensions (ALE) will not be served under this campaign. Only LOCATION_SYNC is currently supported.
         */
        excludedParentAssetSetTypes?: string[] | null;
        /**
         * Output only. The type of campaign: normal, draft, or experiment.
         */
        experimentType?: string | null;
        /**
         * Output only. Types of feeds that are attached directly to this campaign.
         */
        feedTypes?: string[] | null;
        /**
         * Suffix used to append query parameters to landing pages that are served with parallel tracking.
         */
        finalUrlSuffix?: string | null;
        /**
         * A list that limits how often each user will see this campaign's ads.
         */
        frequencyCaps?: Schema$GoogleAdsSearchads360V23Common__FrequencyCapEntry[];
        /**
         * The setting for ads geotargeting.
         */
        geoTargetTypeSetting?: Schema$GoogleAdsSearchads360V23Resources_Campaign_GeoTargetTypeSetting;
        /**
         * Immutable. The resource name for a set of hotel properties for Performance Max for travel goals campaigns.
         */
        hotelPropertyAssetSet?: string | null;
        /**
         * Output only. The hotel setting for the campaign.
         */
        hotelSetting?: Schema$GoogleAdsSearchads360V23Resources_Campaign_HotelSettingInfo;
        /**
         * Output only. The ID of the campaign.
         */
        id?: string | null;
        /**
         * Keyword match type of Campaign. Set to BROAD to set broad matching for all keywords in a campaign.
         */
        keywordMatchType?: string | null;
        /**
         * Output only. The resource names of labels attached to this campaign.
         */
        labels?: string[] | null;
        /**
         * Output only. The datetime when this campaign was last modified. The datetime is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss.ssssss" format.
         */
        lastModifiedTime?: string | null;
        /**
         * Immutable. Listing type of ads served for this campaign. Field is restricted for usage with Performance Max campaigns.
         */
        listingType?: string | null;
        /**
         * The setting for local campaign.
         */
        localCampaignSetting?: Schema$GoogleAdsSearchads360V23Resources_Campaign_LocalCampaignSetting;
        /**
         * The Local Services Campaign related settings.
         */
        localServicesCampaignSettings?: Schema$GoogleAdsSearchads360V23Resources_Campaign_LocalServicesCampaignSettings;
        /**
         * Standard Manual CPA bidding strategy. Manual bidding strategy that allows advertiser to set the bid per advertiser-specified action. Supported only for Local Services campaigns.
         */
        manualCpa?: Schema$GoogleAdsSearchads360V23Common__ManualCpa;
        /**
         * Standard Manual CPC bidding strategy. Manual click-based bidding where user pays per click.
         */
        manualCpc?: Schema$GoogleAdsSearchads360V23Common__ManualCpc;
        /**
         * Standard Manual CPM bidding strategy. Manual impression-based bidding where user pays per thousand impressions.
         */
        manualCpm?: Schema$GoogleAdsSearchads360V23Common__ManualCpm;
        /**
         * A bidding strategy that pays a configurable amount per video view.
         */
        manualCpv?: Schema$GoogleAdsSearchads360V23Common__ManualCpv;
        /**
         * Standard Maximize Conversions bidding strategy that automatically maximizes number of conversions while spending your budget.
         */
        maximizeConversions?: Schema$GoogleAdsSearchads360V23Common__MaximizeConversions;
        /**
         * Standard Maximize Conversion Value bidding strategy that automatically sets bids to maximize revenue while spending your budget.
         */
        maximizeConversionValue?: Schema$GoogleAdsSearchads360V23Common__MaximizeConversionValue;
        /**
         * Output only. Indicates whether this campaign is missing a declaration about whether it contains political advertising targeted towards the EU and is ineligible for any exemptions. If this field is true, use the contains_eu_political_advertising field to add the required declaration. This field is read-only.
         */
        missingEuPoliticalAdvertisingDeclaration?: boolean | null;
        /**
         * The name of the campaign. This field is required and should not be empty when creating new campaigns. It must not contain any null (code point 0x0), NL line feed (code point 0xA) or carriage return (code point 0xD) characters.
         */
        name?: string | null;
        /**
         * The network settings for the campaign.
         */
        networkSettings?: Schema$GoogleAdsSearchads360V23Resources_Campaign_NetworkSettings;
        /**
         * Optimization goal setting for this campaign, which includes a set of optimization goal types.
         */
        optimizationGoalSetting?: Schema$GoogleAdsSearchads360V23Resources_Campaign_OptimizationGoalSetting;
        /**
         * Output only. Optimization score of the campaign. Optimization score is an estimate of how well a campaign is set to perform. It ranges from 0% (0.0) to 100% (1.0), with 100% indicating that the campaign is performing at full potential. This field is null for unscored campaigns. See "About optimization score" at https://support.google.com/google-ads/answer/9061546. This field is read-only.
         */
        optimizationScore?: number | null;
        /**
         * Payment mode for the campaign.
         */
        paymentMode?: string | null;
        /**
         * Standard Percent Cpc bidding strategy where bids are a fraction of the advertised price for some good or service.
         */
        percentCpc?: Schema$GoogleAdsSearchads360V23Common__PercentCpc;
        /**
         * Output only. Information about campaigns being upgraded to Performance Max.
         */
        performanceMaxUpgrade?: Schema$GoogleAdsSearchads360V23Resources_Campaign_PerformanceMaxUpgrade;
        /**
         * Settings for Performance Max campaign.
         */
        pmaxCampaignSettings?: Schema$GoogleAdsSearchads360V23Resources_Campaign_PmaxCampaignSettings;
        /**
         * Output only. The primary status of the campaign. Provides insight into why a campaign is not serving or not serving optimally. Modification to the campaign and its related entities might take a while to be reflected in this status.
         */
        primaryStatus?: string | null;
        /**
         * Output only. The primary status reasons of the campaign. Provides insight into why a campaign is not serving or not serving optimally. These reasons are aggregated to determine an overall CampaignPrimaryStatus.
         */
        primaryStatusReasons?: string[] | null;
        /**
         * Settings for Real-Time Bidding, a feature only available for campaigns targeting the Ad Exchange network.
         */
        realTimeBiddingSetting?: Schema$GoogleAdsSearchads360V23Common__RealTimeBiddingSetting;
        /**
         * Immutable. The resource name of the campaign. Campaign resource names have the form: `customers/{customer_id\}/campaigns/{campaign_id\}`
         */
        resourceName?: string | null;
        /**
         * Selective optimization setting for this campaign, which includes a set of conversion actions to optimize this campaign towards. This feature only applies to app campaigns that use MULTI_CHANNEL as AdvertisingChannelType and APP_CAMPAIGN or APP_CAMPAIGN_FOR_ENGAGEMENT as AdvertisingChannelSubType.
         */
        selectiveOptimization?: Schema$GoogleAdsSearchads360V23Resources_Campaign_SelectiveOptimization;
        /**
         * Selective optimization mode for this campaign.
         */
        selectiveOptimizationMode?: string | null;
        /**
         * Output only. The ad serving status of the campaign.
         */
        servingStatus?: string | null;
        /**
         * The setting for controlling Shopping campaigns.
         */
        shoppingSetting?: Schema$GoogleAdsSearchads360V23Resources_Campaign_ShoppingSetting;
        /**
         * The date and time when campaign started in serving. The timestamp is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss" format. Set the time component to 00:00:00 for daily granularity, time granularity is only supported for some campaign types.
         */
        startDateTime?: string | null;
        /**
         * The status of the campaign. When a new campaign is added, the status defaults to ENABLED.
         */
        status?: string | null;
        /**
         * Standard Target CPA bidding strategy that automatically sets bids to help get as many conversions as possible at the target cost-per-acquisition (CPA) you set.
         */
        targetCpa?: Schema$GoogleAdsSearchads360V23Common__TargetCpa;
        /**
         * An automated bidding strategy that sets bids to help get as many clicks as possible at the target cost-per-click (CPC) you set.
         */
        targetCpc?: Schema$GoogleAdsSearchads360V23Common__TargetCpc;
        /**
         * A bidding strategy that automatically optimizes cost per thousand impressions.
         */
        targetCpm?: Schema$GoogleAdsSearchads360V23Common__TargetCpm;
        /**
         * Target Impression Share bidding strategy. An automated bidding strategy that sets bids to achieve a chosen percentage of impressions.
         */
        targetImpressionShare?: Schema$GoogleAdsSearchads360V23Common__TargetImpressionShare;
        /**
         * Setting for targeting related features.
         */
        targetingSetting?: Schema$GoogleAdsSearchads360V23Common__TargetingSetting;
        /**
         * Standard Target ROAS bidding strategy that automatically maximizes revenue while averaging a specific target return on ad spend (ROAS).
         */
        targetRoas?: Schema$GoogleAdsSearchads360V23Common__TargetRoas;
        /**
         * Standard Target Spend bidding strategy that automatically sets your bids to help get as many clicks as possible within your budget.
         */
        targetSpend?: Schema$GoogleAdsSearchads360V23Common__TargetSpend;
        /**
         * Third-Party integration partners.
         */
        thirdPartyIntegrationPartners?: Schema$GoogleAdsSearchads360V23Common__CampaignThirdPartyIntegrationPartners;
        /**
         * Output only. Campaign-level settings for tracking information.
         */
        trackingSetting?: Schema$GoogleAdsSearchads360V23Resources_Campaign_TrackingSetting;
        /**
         * The URL template for constructing a tracking URL.
         */
        trackingUrlTemplate?: string | null;
        /**
         * Settings for Travel campaign.
         */
        travelCampaignSettings?: Schema$GoogleAdsSearchads360V23Resources_Campaign_TravelCampaignSettings;
        /**
         * The list of mappings used to substitute custom parameter tags in a `tracking_url_template`, `final_urls`, or `mobile_final_urls`.
         */
        urlCustomParameters?: Schema$GoogleAdsSearchads360V23Common__CustomParameter[];
        /**
         * Describes how unbranded pharma ads will be displayed.
         */
        vanityPharma?: Schema$GoogleAdsSearchads360V23Resources_Campaign_VanityPharma;
        /**
         * Brand Safety setting at the individual campaign level. Allows for selecting an inventory type to show your ads on content that is the right fit for your brand. See https://support.google.com/google-ads/answer/7515513.
         */
        videoBrandSafetySuitability?: string | null;
    }
    /**
     * A link between a Campaign and an Asset.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources__CampaignAsset {
        /**
         * Immutable. The asset which is linked to the campaign.
         */
        asset?: string | null;
        /**
         * Immutable. The campaign to which the asset is linked.
         */
        campaign?: string | null;
        /**
         * Immutable. Role that the asset takes under the linked campaign. Required.
         */
        fieldType?: string | null;
        /**
         * Output only. Provides the PrimaryStatus of this asset link. Primary status is meant essentially to differentiate between the plain "status" field, which has advertiser set values of enabled, paused, or removed. The primary status takes into account other signals (for assets its mainly policy and quality approvals) to come up with a more comprehensive status to indicate its serving state.
         */
        primaryStatus?: string | null;
        /**
         * Output only. Provides the details of the primary status and its associated reasons.
         */
        primaryStatusDetails?: Schema$GoogleAdsSearchads360V23Common__AssetLinkPrimaryStatusDetails[];
        /**
         * Output only. Provides a list of reasons for why an asset is not serving or not serving at full capacity.
         */
        primaryStatusReasons?: string[] | null;
        /**
         * Immutable. The resource name of the campaign asset. CampaignAsset resource names have the form: `customers/{customer_id\}/campaignAssets/{campaign_id\}~{asset_id\}~{field_type\}`
         */
        resourceName?: string | null;
        /**
         * Output only. Source of the campaign asset link.
         */
        source?: string | null;
        /**
         * Status of the campaign asset.
         */
        status?: string | null;
    }
    /**
     * CampaignAssetSet is the linkage between a campaign and an asset set. Adding a CampaignAssetSet links an asset set with a campaign.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources__CampaignAssetSet {
        /**
         * Immutable. The asset set which is linked to the campaign.
         */
        assetSet?: string | null;
        /**
         * Immutable. The campaign to which this asset set is linked.
         */
        campaign?: string | null;
        /**
         * Immutable. The resource name of the campaign asset set. Asset set asset resource names have the form: `customers/{customer_id\}/campaignAssetSets/{campaign_id\}~{asset_set_id\}`
         */
        resourceName?: string | null;
        /**
         * Output only. The status of the campaign asset set asset. Read-only.
         */
        status?: string | null;
    }
    /**
     * A campaign audience view. Includes performance data from interests and remarketing lists for Display Network and YouTube Network ads, and remarketing lists for search ads (RLSA), aggregated by campaign and audience criterion. This view only includes audiences attached at the campaign level.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources__CampaignAudienceView {
        /**
         * Output only. The resource name of the campaign audience view. Campaign audience view resource names have the form: `customers/{customer_id\}/campaignAudienceViews/{campaign_id\}~{criterion_id\}`
         */
        resourceName?: string | null;
    }
    /**
     * Represents a bid-modifiable only criterion at the campaign level.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources__CampaignBidModifier {
        /**
         * The modifier for the bid when the criterion matches.
         */
        bidModifier?: number | null;
        /**
         * Output only. The campaign to which this criterion belongs.
         */
        campaign?: string | null;
        /**
         * Output only. The ID of the criterion to bid modify. This field is ignored for mutates.
         */
        criterionId?: string | null;
        /**
         * Immutable. Criterion for interaction type. Only supported for search campaigns.
         */
        interactionType?: Schema$GoogleAdsSearchads360V23Common__InteractionTypeInfo;
        /**
         * Immutable. The resource name of the campaign bid modifier. Campaign bid modifier resource names have the form: `customers/{customer_id\}/campaignBidModifiers/{campaign_id\}~{criterion_id\}`
         */
        resourceName?: string | null;
    }
    /**
     * A campaign budget.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources__CampaignBudget {
        /**
         * ID of the portfolio bidding strategy that this shared campaign budget is aligned with. When a bidding strategy and a campaign budget are aligned, they are attached to the same set of campaigns. After a campaign budget is aligned with a bidding strategy, campaigns that are added to the campaign budget must also use the aligned bidding strategy.
         */
        alignedBiddingStrategyId?: string | null;
        /**
         * The average daily amount to be spent by the campaign. This field is used when the CampaignBudget `period` is set to `DAILY`, which is the default. Amount is specified in micros in the account's local currency. One million micros is equivalent to one currency unit. The effective monthly spend is capped at 30.4 times this daily amount. This field is mutually exclusive with 'total_amount_micros'. Only one of 'amount_micros' or 'total_amount_micros' should be set.
         */
        amountMicros?: string | null;
        /**
         * The delivery method that determines the rate at which the campaign budget is spent. Defaults to STANDARD if unspecified in a create operation.
         */
        deliveryMethod?: string | null;
        /**
         * Specifies whether the budget is explicitly shared. Defaults to true if unspecified in a create operation. If true, the budget was created with the purpose of sharing across one or more campaigns. If false, the budget was created with the intention of only being used with a single campaign. The budget's name and status will stay in sync with the campaign's name and status. Attempting to share the budget with a second campaign will result in an error. A non-shared budget can become an explicitly shared. The same operation must also assign the budget a name. A shared campaign budget can never become non-shared.
         */
        explicitlyShared?: boolean | null;
        /**
         * Output only. Indicates whether there is a recommended budget for this campaign budget. This field is read-only.
         */
        hasRecommendedBudget?: boolean | null;
        /**
         * Output only. The ID of the campaign budget. A campaign budget is created using the CampaignBudgetService create operation and is assigned a budget ID. A budget ID can be shared across different campaigns; the system will then allocate the campaign budget among different campaigns to get optimum results.
         */
        id?: string | null;
        /**
         * The name of the campaign budget. When creating a campaign budget through CampaignBudgetService, every explicitly shared campaign budget must have a non-null, non-empty name. Campaign budgets that are not explicitly shared derive their name from the attached campaign's name. The length of this string must be between 1 and 255, inclusive, in UTF-8 bytes, (trimmed).
         */
        name?: string | null;
        /**
         * Immutable. Period over which to spend the budget. Defaults to DAILY if not specified.
         */
        period?: string | null;
        /**
         * Output only. The recommended budget amount. If no recommendation is available, this will be set to the budget amount. Amount is specified in micros, where one million is equivalent to one currency unit. This field is read-only.
         */
        recommendedBudgetAmountMicros?: string | null;
        /**
         * Output only. The estimated change in weekly clicks if the recommended budget is applied. This field is read-only.
         */
        recommendedBudgetEstimatedChangeWeeklyClicks?: string | null;
        /**
         * Output only. The estimated change in weekly cost in micros if the recommended budget is applied. One million is equivalent to one currency unit. This field is read-only.
         */
        recommendedBudgetEstimatedChangeWeeklyCostMicros?: string | null;
        /**
         * Output only. The estimated change in weekly interactions if the recommended budget is applied. This field is read-only.
         */
        recommendedBudgetEstimatedChangeWeeklyInteractions?: string | null;
        /**
         * Output only. The estimated change in weekly views if the recommended budget is applied. This field is read-only.
         */
        recommendedBudgetEstimatedChangeWeeklyViews?: string | null;
        /**
         * Output only. The number of campaigns actively using the budget. This field is read-only.
         */
        referenceCount?: string | null;
        /**
         * Immutable. The resource name of the campaign budget. Campaign budget resource names have the form: `customers/{customer_id\}/campaignBudgets/{campaign_budget_id\}`
         */
        resourceName?: string | null;
        /**
         * Output only. The status of this campaign budget. This field is read-only.
         */
        status?: string | null;
        /**
         * The total amount to be spent by the campaign over its entire duration. This field is used *only* when the CampaignBudget `period` is set to `CUSTOM_PERIOD`. It represents the budget cap for the campaign's lifetime, rather than a daily limit. The amount is specified in micros in the account's local currency. One million micros is equivalent to one currency unit. This field is mutually exclusive with 'amount_micros'. Only one of 'total_amount_micros' or 'amount_micros' should be set.
         */
        totalAmountMicros?: string | null;
        /**
         * Immutable. The type of the campaign budget.
         */
        type?: string | null;
    }
    /**
     * The biddability setting for the specified campaign only for all conversion actions with a matching category and origin.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources__CampaignConversionGoal {
        /**
         * The biddability of the campaign conversion goal.
         */
        biddable?: boolean | null;
        /**
         * Immutable. The campaign with which this campaign conversion goal is associated.
         */
        campaign?: string | null;
        /**
         * The conversion category of this campaign conversion goal.
         */
        category?: string | null;
        /**
         * The conversion origin of this campaign conversion goal.
         */
        origin?: string | null;
        /**
         * Immutable. The resource name of the campaign conversion goal. Campaign conversion goal resource names have the form: `customers/{customer_id\}/campaignConversionGoals/{campaign_id\}~{category\}~{origin\}`
         */
        resourceName?: string | null;
        /**
         * Search Ads 360 biddability of the campaign conversion goal.
         */
        searchAds360Biddable?: boolean | null;
    }
    /**
     * A campaign criterion.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources__CampaignCriterion {
        /**
         * Immutable. Ad Schedule.
         */
        adSchedule?: Schema$GoogleAdsSearchads360V23Common__AdScheduleInfo;
        /**
         * Immutable. Age range.
         */
        ageRange?: Schema$GoogleAdsSearchads360V23Common__AgeRangeInfo;
        /**
         * The modifier for the bids when the criterion matches. The modifier must be in the range: 0.1 - 10.0. Most targetable criteria types support modifiers. Use 0 to opt out of a Device type.
         */
        bidModifier?: number | null;
        /**
         * Immutable. Brand list campaign criterion.
         */
        brandList?: Schema$GoogleAdsSearchads360V23Common__BrandListInfo;
        /**
         * Immutable. The campaign to which the criterion belongs.
         */
        campaign?: string | null;
        /**
         * Immutable. Carrier.
         */
        carrier?: Schema$GoogleAdsSearchads360V23Common__CarrierInfo;
        /**
         * Immutable. Combined Audience.
         */
        combinedAudience?: Schema$GoogleAdsSearchads360V23Common__CombinedAudienceInfo;
        /**
         * Immutable. ContentLabel.
         */
        contentLabel?: Schema$GoogleAdsSearchads360V23Common__ContentLabelInfo;
        /**
         * Output only. The ID of the criterion. This field is ignored during mutate.
         */
        criterionId?: string | null;
        /**
         * Immutable. Device.
         */
        device?: Schema$GoogleAdsSearchads360V23Common__DeviceInfo;
        /**
         * Output only. The display name of the criterion. This field is ignored for mutates.
         */
        displayName?: string | null;
        /**
         * Immutable. Extended demographic criterion.
         */
        extendedDemographic?: Schema$GoogleAdsSearchads360V23Common__ExtendedDemographicInfo;
        /**
         * Immutable. Gender.
         */
        gender?: Schema$GoogleAdsSearchads360V23Common__GenderInfo;
        /**
         * Immutable. Income range.
         */
        incomeRange?: Schema$GoogleAdsSearchads360V23Common__IncomeRangeInfo;
        /**
         * Immutable. IpBlock. You can exclude up to 500 IP addresses per campaign.
         */
        ipBlock?: Schema$GoogleAdsSearchads360V23Common__IpBlockInfo;
        /**
         * Immutable. Keyword.
         */
        keyword?: Schema$GoogleAdsSearchads360V23Common__KeywordInfo;
        /**
         * Immutable. Smart Campaign Keyword Theme.
         */
        keywordTheme?: Schema$GoogleAdsSearchads360V23Common__KeywordThemeInfo;
        /**
         * Immutable. Language.
         */
        language?: Schema$GoogleAdsSearchads360V23Common__LanguageInfo;
        /**
         * Output only. The datetime when this campaign criterion was last modified. The datetime is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss.ssssss" format.
         */
        lastModifiedTime?: string | null;
        /**
         * Immutable. Life event campaign criterion.
         */
        lifeEvent?: Schema$GoogleAdsSearchads360V23Common__LifeEventInfo;
        /**
         * Immutable. Listing scope.
         */
        listingScope?: Schema$GoogleAdsSearchads360V23Common__ListingScopeInfo;
        /**
         * Immutable. GLS service campaign criterion.
         */
        localServiceId?: Schema$GoogleAdsSearchads360V23Common__LocalServiceIdInfo;
        /**
         * Immutable. Location.
         */
        location?: Schema$GoogleAdsSearchads360V23Common__LocationInfo;
        /**
         * Immutable. Location Group
         */
        locationGroup?: Schema$GoogleAdsSearchads360V23Common__LocationGroupInfo;
        /**
         * Immutable. Mobile app category.
         */
        mobileAppCategory?: Schema$GoogleAdsSearchads360V23Common__MobileAppCategoryInfo;
        /**
         * Immutable. Mobile application.
         */
        mobileApplication?: Schema$GoogleAdsSearchads360V23Common__MobileApplicationInfo;
        /**
         * Immutable. Mobile Device.
         */
        mobileDevice?: Schema$GoogleAdsSearchads360V23Common__MobileDeviceInfo;
        /**
         * Immutable. Whether to target (`false`) or exclude (`true`) the criterion.
         */
        negative?: boolean | null;
        /**
         * Immutable. Operating system version.
         */
        operatingSystemVersion?: Schema$GoogleAdsSearchads360V23Common__OperatingSystemVersionInfo;
        /**
         * Immutable. Parental status.
         */
        parentalStatus?: Schema$GoogleAdsSearchads360V23Common__ParentalStatusInfo;
        /**
         * Immutable. Placement.
         */
        placement?: Schema$GoogleAdsSearchads360V23Common__PlacementInfo;
        /**
         * Immutable. Proximity.
         */
        proximity?: Schema$GoogleAdsSearchads360V23Common__ProximityInfo;
        /**
         * Immutable. The resource name of the campaign criterion. Campaign criterion resource names have the form: `customers/{customer_id\}/campaignCriteria/{campaign_id\}~{criterion_id\}`
         */
        resourceName?: string | null;
        /**
         * The status of the criterion.
         */
        status?: string | null;
        /**
         * Immutable. Topic.
         */
        topic?: Schema$GoogleAdsSearchads360V23Common__TopicInfo;
        /**
         * Output only. The type of the criterion.
         */
        type?: string | null;
        /**
         * Immutable. User Interest.
         */
        userInterest?: Schema$GoogleAdsSearchads360V23Common__UserInterestInfo;
        /**
         * Immutable. User List.
         */
        userList?: Schema$GoogleAdsSearchads360V23Common__UserListInfo;
        /**
         * Immutable. Video lineup criterion.
         */
        videoLineup?: Schema$GoogleAdsSearchads360V23Common__VideoLineupInfo;
        /**
         * Immutable. Webpage.
         */
        webpage?: Schema$GoogleAdsSearchads360V23Common__WebpageInfo;
        /**
         * Immutable. Webpage list. This criterion is not publicly available.
         */
        webpageList?: Schema$GoogleAdsSearchads360V23Common__WebpageListInfo;
        /**
         * Immutable. YouTube Channel.
         */
        youtubeChannel?: Schema$GoogleAdsSearchads360V23Common__YouTubeChannelInfo;
        /**
         * Immutable. YouTube Video.
         */
        youtubeVideo?: Schema$GoogleAdsSearchads360V23Common__YouTubeVideoInfo;
    }
    /**
     * A customizer value for the associated CustomizerAttribute at the Campaign level.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources__CampaignCustomizer {
        /**
         * Immutable. The campaign to which the customizer attribute is linked.
         */
        campaign?: string | null;
        /**
         * Required. Immutable. The customizer attribute which is linked to the campaign.
         */
        customizerAttribute?: string | null;
        /**
         * Immutable. The resource name of the campaign customizer. Campaign customizer resource names have the form: `customers/{customer_id\}/campaignCustomizers/{campaign_id\}~{customizer_attribute_id\}`
         */
        resourceName?: string | null;
        /**
         * Output only. The status of the campaign customizer.
         */
        status?: string | null;
        /**
         * Required. The value to associate with the customizer attribute at this level. The value must be of the type specified for the CustomizerAttribute.
         */
        value?: Schema$GoogleAdsSearchads360V23Common__CustomizerValue;
    }
    /**
     * A campaign draft.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources__CampaignDraft {
        /**
         * Immutable. The base campaign to which the draft belongs.
         */
        baseCampaign?: string | null;
        /**
         * Output only. Resource name of the Campaign that results from overlaying the draft changes onto the base campaign. This field is read-only.
         */
        draftCampaign?: string | null;
        /**
         * Output only. The ID of the draft. This field is read-only.
         */
        draftId?: string | null;
        /**
         * Output only. Whether there is an experiment based on this draft currently serving.
         */
        hasExperimentRunning?: boolean | null;
        /**
         * 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.
         */
        longRunningOperation?: string | null;
        /**
         * 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.
         */
        name?: string | null;
        /**
         * Immutable. The resource name of the campaign draft. Campaign draft resource names have the form: `customers/{customer_id\}/campaignDrafts/{base_campaign_id\}~{draft_id\}`
         */
        resourceName?: string | null;
        /**
         * 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.
         */
        status?: string | null;
    }
    /**
     * Represents a relationship between a campaign and an effective label. An effective label is a label inherited or directly assigned to this campaign.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources__CampaignEffectiveLabel {
        /**
         * Immutable. The campaign to which the effective label is attached.
         */
        campaign?: string | null;
        /**
         * Immutable. The effective label assigned to the campaign.
         */
        label?: string | null;
        /**
         * Output only. The ID of the Customer which owns the effective label.
         */
        ownerCustomerId?: string | null;
        /**
         * Immutable. Name of the resource. CampaignEffectivelabel resource names have the form: `customers/{owner_customer_id\}/campaignEffectiveLabels/{campaign_id\}~{label_id\}`
         */
        resourceName?: string | null;
    }
    /**
     * A link between a campaign and a goal enabling campaign-specific optimization.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources__CampaignGoalConfig {
        /**
         * Immutable. The resource name of the campaign for this link.
         */
        campaign?: string | null;
        /**
         * Retention goal campaign settings.
         */
        campaignRetentionSettings?: Schema$GoogleAdsSearchads360V23Common_CampaignGoalSettings_CampaignRetentionGoalSettings;
        /**
         * Immutable. The resource name of the goal this link is attached to.
         */
        goal?: string | null;
        /**
         * Output only. The goal type this link is attached to.
         */
        goalType?: string | null;
        /**
         * Immutable. The resource name of the campaign goal config. campaign goal config resource names have the form: `customers/{customer_id\}/campaignGoalConfigs/{campaign_id\}~{goal_id\}`
         */
        resourceName?: string | null;
    }
    /**
     * A campaign group.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources__CampaignGroup {
        /**
         * Output only. The ID of the campaign group.
         */
        id?: string | null;
        /**
         * The name of the campaign group. This field is required and should not be empty when creating new campaign groups. It must not contain any null (code point 0x0), NL line feed (code point 0xA) or carriage return (code point 0xD) characters.
         */
        name?: string | null;
        /**
         * Immutable. The resource name of the campaign group. Campaign group resource names have the form: `customers/{customer_id\}/campaignGroups/{campaign_group_id\}`
         */
        resourceName?: string | null;
        /**
         * The status of the campaign group. When a new campaign group is added, the status defaults to ENABLED.
         */
        status?: string | null;
    }
    /**
     * Represents a relationship between a campaign and a label.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources__CampaignLabel {
        /**
         * Immutable. The campaign to which the label is attached.
         */
        campaign?: string | null;
        /**
         * Immutable. The label assigned to the campaign.
         */
        label?: string | null;
        /**
         * Output only. The ID of the Customer which owns the label.
         */
        ownerCustomerId?: string | null;
        /**
         * Immutable. Name of the resource. Campaign label resource names have the form: `customers/{owner_customer_id\}/campaignLabels/{campaign_id\}~{label_id\}`
         */
        resourceName?: string | null;
    }
    /**
     * Campaign level customer lifecycle goal settings.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources__CampaignLifecycleGoal {
        /**
         * Output only. The campaign where the goal is attached.
         */
        campaign?: string | null;
        /**
         * Output only. The customer acquisition goal settings for the campaign. The customer acquisition goal is described in this article: https://support.google.com/google-ads/answer/12080169
         */
        customerAcquisitionGoalSettings?: Schema$GoogleAdsSearchads360V23Resources__CustomerAcquisitionGoalSettings;
        /**
         * Immutable. The resource name of the customer lifecycle goal of a campaign. `customers/{customer_id\}/campaignLifecycleGoal/{campaign_id\}`
         */
        resourceName?: string | null;
    }
    /**
     * This report provides a high-level view of search demand at the campaign level by grouping similar search terms into categories and showing their search volume. Historical data is available starting March 2023.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources__CampaignSearchTermInsight {
        /**
         * Output only. The ID of the campaign.
         */
        campaignId?: string | null;
        /**
         * Output only. The label for the search category. An empty string denotes the catch-all category for search terms that didn't fit into another category.
         */
        categoryLabel?: string | null;
        /**
         * Output only. The ID of the insight.
         */
        id?: string | null;
        /**
         * Output only. The resource name of the campaign level search term insight. Campaign level search term insight resource names have the form: `customers/{customer_id\}/campaignSearchTermInsights/{campaign_id\}~{category_id\}`
         */
        resourceName?: string | null;
    }
    /**
     * This report provides granular performance data, including cost metrics, for each individual search term that triggered your ads. If keyword-related segments are used, Performance Max data will be excluded from the results.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources__CampaignSearchTermView {
        /**
         * Output only. The campaign the search term served in.
         */
        campaign?: string | null;
        /**
         * Output only. The resource name of the campaign search term view. Campaign search term view resource names have the form: `customers/{customer_id\}/campaignSearchTermViews/{campaign_id\}~{URL-base64_search_term\}`
         */
        resourceName?: string | null;
        /**
         * Output only. The search term.
         */
        searchTerm?: string | null;
    }
    /**
     * CampaignSharedSets are used for managing the shared sets associated with a campaign.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources__CampaignSharedSet {
        /**
         * Immutable. The campaign to which the campaign shared set belongs.
         */
        campaign?: string | null;
        /**
         * Immutable. The resource name of the campaign shared set. Campaign shared set resource names have the form: `customers/{customer_id\}/campaignSharedSets/{campaign_id\}~{shared_set_id\}`
         */
        resourceName?: string | null;
        /**
         * Immutable. The shared set associated with the campaign. This may be a negative keyword shared set of another customer. This customer should be a manager of the other customer, otherwise the campaign shared set will exist but have no serving effect. Only negative keyword shared sets can be associated with Shopping campaigns. Only negative placement shared sets can be associated with Display mobile app campaigns.
         */
        sharedSet?: string | null;
        /**
         * Output only. The status of this campaign shared set. Read only.
         */
        status?: string | null;
    }
    /**
     * A campaign simulation. Supported combinations of advertising channel type, simulation type and simulation modification method is detailed below respectively. * SEARCH - CPC_BID - UNIFORM * SEARCH - CPC_BID - SCALING * SEARCH - TARGET_CPA - UNIFORM * SEARCH - TARGET_CPA - SCALING * SEARCH - TARGET_ROAS - UNIFORM * SEARCH - TARGET_IMPRESSION_SHARE - UNIFORM * SEARCH - BUDGET - UNIFORM * SHOPPING - BUDGET - UNIFORM * SHOPPING - TARGET_ROAS - UNIFORM * MULTI_CHANNEL - TARGET_CPA - UNIFORM * MULTI_CHANNEL - TARGET_ROAS - UNIFORM * DEMAND_GEN - TARGET_CPA - DEFAULT * DISPLAY - TARGET_CPA - UNIFORM * PERFORMANCE_MAX - TARGET_CPA - UNIFORM * PERFORMANCE_MAX - TARGET_ROAS - UNIFORM * PERFORMANCE_MAX - BUDGET - UNIFORM
     */
    export interface Schema$GoogleAdsSearchads360V23Resources__CampaignSimulation {
        /**
         * Output only. Simulation points if the simulation type is BUDGET.
         */
        budgetPointList?: Schema$GoogleAdsSearchads360V23Common__BudgetSimulationPointList;
        /**
         * Output only. Campaign id of the simulation.
         */
        campaignId?: string | null;
        /**
         * Output only. Simulation points if the simulation type is CPC_BID.
         */
        cpcBidPointList?: Schema$GoogleAdsSearchads360V23Common__CpcBidSimulationPointList;
        /**
         * Output only. Last day on which the simulation is based, in YYYY-MM-DD format
         */
        endDate?: string | null;
        /**
         * Output only. How the simulation modifies the field.
         */
        modificationMethod?: string | null;
        /**
         * Output only. The resource name of the campaign simulation. Campaign simulation resource names have the form: `customers/{customer_id\}/campaignSimulations/{campaign_id\}~{type\}~{modification_method\}~{start_date\}~{end_date\}`
         */
        resourceName?: string | null;
        /**
         * Output only. First day on which the simulation is based, in YYYY-MM-DD format.
         */
        startDate?: string | null;
        /**
         * Output only. Simulation points if the simulation type is TARGET_CPA.
         */
        targetCpaPointList?: Schema$GoogleAdsSearchads360V23Common__TargetCpaSimulationPointList;
        /**
         * Output only. Simulation points if the simulation type is TARGET_IMPRESSION_SHARE.
         */
        targetImpressionSharePointList?: Schema$GoogleAdsSearchads360V23Common__TargetImpressionShareSimulationPointList;
        /**
         * Output only. Simulation points if the simulation type is TARGET_ROAS.
         */
        targetRoasPointList?: Schema$GoogleAdsSearchads360V23Common__TargetRoasSimulationPointList;
        /**
         * Output only. The field that the simulation modifies.
         */
        type?: string | null;
    }
    /**
     * A carrier criterion that can be used in campaign targeting.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources__CarrierConstant {
        /**
         * Output only. The country code of the country where the carrier is located, for example, "AR", "FR", etc.
         */
        countryCode?: string | null;
        /**
         * Output only. The ID of the carrier criterion.
         */
        id?: string | null;
        /**
         * Output only. The full name of the carrier in English.
         */
        name?: string | null;
        /**
         * Output only. The resource name of the carrier criterion. Carrier criterion resource names have the form: `carrierConstants/{criterion_id\}`
         */
        resourceName?: string | null;
    }
    /**
     * Cart data sales view. Provides information about the products which were purchased if conversions with cart data is implemented. Performance metrics like revenue, gross profit, lead/cross-sell metrics etc. and Merchant Center attributes such as brand, category etc. are available for products defined in an inventory feed and sold as a result of Google ads. For purchases attributed to clicks on Shopping ads, dimensions of both clicked and sold products can be viewed together.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources__CartDataSalesView {
        /**
         * Output only. The resource name of the Cart data sales view. Cart data sales view resource names have the form: `customers/{customer_id\}/cartDataSalesView`
         */
        resourceName?: string | null;
    }
    /**
     * Describes the granular change of returned resources of certain resource types. Changes made through the UI or API in the past 30 days are included. Previous and new values of the changed fields are shown. ChangeEvent could have up to 3 minutes delay to reflect a new change.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources__ChangeEvent {
        /**
         * Output only. The AdGroup affected by this change.
         */
        adGroup?: string | null;
        /**
         * Output only. The Asset affected by this change.
         */
        asset?: string | null;
        /**
         * Output only. The Campaign affected by this change.
         */
        campaign?: string | null;
        /**
         * Output only. Time at which the change was committed on this resource.
         */
        changeDateTime?: string | null;
        /**
         * Output only. A list of fields that are changed in the returned resource.
         */
        changedFields?: string | null;
        /**
         * Output only. The Simply resource this change occurred on.
         */
        changeResourceName?: string | null;
        /**
         * Output only. The type of the changed resource. This dictates what resource will be set in old_resource and new_resource.
         */
        changeResourceType?: string | null;
        /**
         * Output only. Where the change was made through.
         */
        clientType?: string | null;
        /**
         * Output only. The new resource after the change. Only changed fields will be populated.
         */
        newResource?: Schema$GoogleAdsSearchads360V23Resources_ChangeEvent_ChangedResource;
        /**
         * Output only. The old resource before the change. Only changed fields will be populated.
         */
        oldResource?: Schema$GoogleAdsSearchads360V23Resources_ChangeEvent_ChangedResource;
        /**
         * Output only. The operation on the changed resource.
         */
        resourceChangeOperation?: string | null;
        /**
         * Output only. The resource name of the change event. Change event resource names have the form: `customers/{customer_id\}/changeEvents/{timestamp_micros\}~{command_index\}~{mutate_index\}`
         */
        resourceName?: string | null;
        /**
         * Output only. The email of the user who made this change.
         */
        userEmail?: string | null;
    }
    /**
     * Describes the status of returned resource. ChangeStatus could have up to 3 minutes delay to reflect a new change.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources__ChangeStatus {
        /**
         * Output only. The AdGroup affected by this change.
         */
        adGroup?: string | null;
        /**
         * Output only. The AdGroupAd affected by this change.
         */
        adGroupAd?: string | null;
        /**
         * Output only. The AdGroupAsset affected by this change.
         */
        adGroupAsset?: string | null;
        /**
         * Output only. The AdGroupBidModifier affected by this change.
         */
        adGroupBidModifier?: string | null;
        /**
         * Output only. The AdGroupCriterion affected by this change.
         */
        adGroupCriterion?: string | null;
        /**
         * Output only. The Asset affected by this change.
         */
        asset?: string | null;
        /**
         * Output only. The AssetGroup affected by this change.
         */
        assetGroup?: string | null;
        /**
         * Output only. The AssetSet affected by this change.
         */
        assetSet?: string | null;
        /**
         * Output only. The Campaign affected by this change.
         */
        campaign?: string | null;
        /**
         * Output only. The CampaignAsset affected by this change.
         */
        campaignAsset?: string | null;
        /**
         * Output only. The CampaignAssetSet affected by this change.
         */
        campaignAssetSet?: string | null;
        /**
         * Output only. The CampaignBudget affected by this change.
         */
        campaignBudget?: string | null;
        /**
         * Output only. The CampaignCriterion affected by this change.
         */
        campaignCriterion?: string | null;
        /**
         * Output only. The CampaignSharedSet affected by this change.
         */
        campaignSharedSet?: string | null;
        /**
         * Output only. The CombinedAudience affected by this change.
         */
        combinedAudience?: string | null;
        /**
         * Output only. The CustomerAsset affected by this change.
         */
        customerAsset?: string | null;
        /**
         * Output only. Time at which the most recent change has occurred on this resource.
         */
        lastChangeDateTime?: string | null;
        /**
         * Output only. The resource name of the change status. Change status resource names have the form: `customers/{customer_id\}/changeStatus/{change_status_id\}`
         */
        resourceName?: string | null;
        /**
         * Output only. Represents the status of the changed resource.
         */
        resourceStatus?: string | null;
        /**
         * Output only. Represents the type of the changed resource. This dictates what fields will be set. For example, for AD_GROUP, campaign and ad_group fields will be set.
         */
        resourceType?: string | null;
        /**
         * Output only. The SharedSet affected by this change.
         */
        sharedSet?: string | null;
    }
    /**
     * A click view with metrics aggregated at each click level, including both valid and invalid clicks. For non-Search campaigns, metrics.clicks represents the number of valid and invalid interactions. Queries including ClickView must have a filter limiting the results to one day and can be requested for dates back to 90 days before the time of the request. GCLIDs are not available in this report for App Campaigns for Installs (ACi) and App Campaigns for Pre-registration (ACpre).
     */
    export interface Schema$GoogleAdsSearchads360V23Resources__ClickView {
        /**
         * Output only. The associated ad.
         */
        adGroupAd?: string | null;
        /**
         * Output only. The location criteria matching the area of interest associated with the impression.
         */
        areaOfInterest?: Schema$GoogleAdsSearchads360V23Common__ClickLocation;
        /**
         * Output only. The associated campaign location target, if one exists.
         */
        campaignLocationTarget?: string | null;
        /**
         * Output only. The Google Click ID.
         */
        gclid?: string | null;
        /**
         * Output only. The associated keyword, if one exists and the click corresponds to the SEARCH channel.
         */
        keyword?: string | null;
        /**
         * Output only. Basic information about the associated keyword, if it exists.
         */
        keywordInfo?: Schema$GoogleAdsSearchads360V23Common__KeywordInfo;
        /**
         * Output only. The location criteria matching the location of presence associated with the impression.
         */
        locationOfPresence?: Schema$GoogleAdsSearchads360V23Common__ClickLocation;
        /**
         * Output only. Page number in search results where the ad was shown.
         */
        pageNumber?: string | null;
        /**
         * Output only. The resource name of the click view. Click view resource names have the form: `customers/{customer_id\}/clickViews/{date (yyyy-MM-dd)\}~{gclid\}`
         */
        resourceName?: string | null;
        /**
         * Output only. The associated user list, if one exists.
         */
        userList?: string | null;
    }
    /**
     * Describe a resource for combined audiences which includes different audiences.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources__CombinedAudience {
        /**
         * Output only. Description of this combined audience.
         */
        description?: string | null;
        /**
         * Output only. ID of the combined audience.
         */
        id?: string | null;
        /**
         * Output only. Name of the combined audience. It should be unique across all combined audiences.
         */
        name?: string | null;
        /**
         * Immutable. The resource name of the combined audience. Combined audience names have the form: `customers/{customer_id\}/combinedAudience/{combined_audience_id\}`
         */
        resourceName?: string | null;
        /**
         * Output only. Status of this combined audience. Indicates whether the combined audience is enabled or removed.
         */
        status?: string | null;
    }
    /**
     * Fields containing consumer contact details.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources__ContactDetails {
        /**
         * Output only. Consumer name if consumer provided name from Message or Booking form on google.com
         */
        consumerName?: string | null;
        /**
         * Output only. Consumer email address.
         */
        email?: string | null;
        /**
         * Output only. Phone number of the consumer for the lead. This can be a real phone number or a tracking number. The phone number is returned in E164 format. See https://support.google.com/google-ads/answer/16355235?hl=en to learn more. Example: +16504519489.
         */
        phoneNumber?: string | null;
    }
    /**
     * A content criterion view.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources__ContentCriterionView {
        /**
         * Output only. The resource name of the content criterion view. Content criterion view resource names have the form: `customers/{customer_id\}/contentCriterionViews/{ad_group_id\}~{criterion_id\}`
         */
        resourceName?: string | null;
    }
    /**
     * A conversion.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources__Conversion {
        /**
         * Output only. Ad ID. A value of 0 indicates that the ad is unattributed.
         */
        adId?: string | null;
        /**
         * Output only. For offline conversions, this is an ID provided by advertisers. If an advertiser doesn't specify such an ID, Search Ads 360 generates one. For online conversions, this is equal to the id column or the floodlight_order_id column depending on the advertiser's Floodlight instructions.
         */
        advertiserConversionId?: string | null;
        /**
         * Output only. Asset field type of the conversion event.
         */
        assetFieldType?: string | null;
        /**
         * Output only. ID of the asset which was interacted with during the conversion event.
         */
        assetId?: string | null;
        /**
         * Output only. What the conversion is attributed to: Visit or Keyword+Ad.
         */
        attributionType?: string | null;
        /**
         * Output only. A unique string, for the visit that the conversion is attributed to, that is passed to the landing page as the click id URL parameter.
         */
        clickId?: string | null;
        /**
         * Output only. The timestamp of the conversion event.
         */
        conversionDateTime?: string | null;
        /**
         * Output only. The timestamp of the last time the conversion was modified.
         */
        conversionLastModifiedDateTime?: string | null;
        /**
         * Output only. The quantity of items recorded by the conversion, as determined by the qty url parameter. The advertiser is responsible for dynamically populating the parameter (such as number of items sold in the conversion), otherwise it defaults to 1.
         */
        conversionQuantity?: string | null;
        /**
         * Output only. The adjusted revenue in micros for the conversion event. This will always be in the currency of the serving account.
         */
        conversionRevenueMicros?: string | null;
        /**
         * Output only. The timestamp of the visit that the conversion is attributed to.
         */
        conversionVisitDateTime?: string | null;
        /**
         * Output only. Search Ads 360 criterion ID. A value of 0 indicates that the criterion is unattributed.
         */
        criterionId?: string | null;
        /**
         * Output only. The Floodlight order ID provided by the advertiser for the conversion.
         */
        floodlightOrderId?: string | null;
        /**
         * Output only. The original, unchanged revenue associated with the Floodlight event (in the currency of the current report), before Floodlight currency instruction modifications.
         */
        floodlightOriginalRevenue?: string | null;
        /**
         * Output only. The ID of the conversion
         */
        id?: string | null;
        /**
         * Output only. The Search Ads 360 inventory account ID containing the product that was clicked on. Search Ads 360 generates this ID when you link an inventory account in Search Ads 360.
         */
        merchantId?: string | null;
        /**
         * Output only. The sales channel of the product that was clicked on: Online or Local.
         */
        productChannel?: string | null;
        /**
         * Output only. The country (ISO-3166-format) registered for the inventory feed that contains the product clicked on.
         */
        productCountryCode?: string | null;
        /**
         * Output only. The ID of the product clicked on.
         */
        productId?: string | null;
        /**
         * Output only. The language (ISO-639-1) that has been set for the Merchant Center feed containing data about the product.
         */
        productLanguageCode?: string | null;
        /**
         * Output only. The store in the Local Inventory Ad that was clicked on. This should match the store IDs used in your local products feed.
         */
        productStoreId?: string | null;
        /**
         * Output only. The resource name of the conversion. Conversion resource names have the form: `customers/{customer_id\}/conversions/{ad_group_id\}~{criterion_id\}~{ds_conversion_id\}`
         */
        resourceName?: string | null;
        /**
         * Output only. The status of the conversion, either ENABLED or REMOVED..
         */
        status?: string | null;
        /**
         * Output only. The Search Ads 360 visit ID that the conversion is attributed to.
         */
        visitId?: string | null;
    }
    /**
     * A conversion action.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources__ConversionAction {
        /**
         * App ID for an app conversion action.
         */
        appId?: string | null;
        /**
         * Settings related to this conversion action's attribution model.
         */
        attributionModelSettings?: Schema$GoogleAdsSearchads360V23Resources_ConversionAction_AttributionModelSettings;
        /**
         * The category of conversions reported for this conversion action.
         */
        category?: string | null;
        /**
         * The maximum number of days that may elapse between an interaction (for example, a click) and a conversion event.
         */
        clickThroughLookbackWindowDays?: string | null;
        /**
         * How to count conversion events for the conversion action.
         */
        countingType?: string | null;
        /**
         * Output only. Timestamp of the Floodlight activity's creation, formatted in ISO 8601.
         */
        creationTime?: string | null;
        /**
         * Output only. Firebase settings for Firebase conversion types.
         */
        firebaseSettings?: Schema$GoogleAdsSearchads360V23Resources_ConversionAction_FirebaseSettings;
        /**
         * Output only. Floodlight settings for Floodlight conversion types.
         */
        floodlightSettings?: Schema$GoogleAdsSearchads360V23Resources_ConversionAction_FloodlightSettings;
        /**
         * Output only. Google Analytics 4 settings for Google Analytics 4 conversion types.
         */
        googleAnalytics4Settings?: Schema$GoogleAdsSearchads360V23Resources_ConversionAction_GoogleAnalytics4Settings;
        /**
         * Output only. The ID of the conversion action.
         */
        id?: string | null;
        /**
         * Whether this conversion action should be included in the "client_account_conversions" metric.
         */
        includeInClientAccountConversionsMetric?: boolean | null;
        /**
         * Output only. Whether this conversion action should be included in the "conversions" metric.
         */
        includeInConversionsMetric?: boolean | null;
        /**
         * Output only. Mobile app vendor for an app conversion action.
         */
        mobileAppVendor?: string | null;
        /**
         * The name of the conversion action. This field is required and should not be empty when creating new conversion actions.
         */
        name?: string | null;
        /**
         * Output only. The conversion origin of this conversion action.
         */
        origin?: string | null;
        /**
         * Output only. The resource name of the conversion action owner customer, or null if this is a system-defined conversion action.
         */
        ownerCustomer?: string | null;
        /**
         * The phone call duration in seconds after which a conversion should be reported for this conversion action. The value must be between 0 and 10000, inclusive.
         */
        phoneCallDurationSeconds?: string | null;
        /**
         * If a conversion action's primary_for_goal bit is false, the conversion action is non-biddable for all campaigns regardless of their customer conversion goal or campaign conversion goal. However, custom conversion goals do not respect primary_for_goal, so if a campaign has a custom conversion goal configured with a primary_for_goal = false conversion action, that conversion action is still biddable. By default, primary_for_goal will be true if not set. In V9, primary_for_goal can only be set to false after creation through an 'update' operation because it's not declared as optional.
         */
        primaryForGoal?: boolean | null;
        /**
         * Immutable. The resource name of the conversion action. Conversion action resource names have the form: `customers/{customer_id\}/conversionActions/{conversion_action_id\}`
         */
        resourceName?: string | null;
        /**
         * The status of this conversion action for conversion event accrual.
         */
        status?: string | null;
        /**
         * Output only. The snippets used for tracking conversions.
         */
        tagSnippets?: Schema$GoogleAdsSearchads360V23Common__TagSnippet[];
        /**
         * Output only. Third Party App Analytics settings for third party conversion types.
         */
        thirdPartyAppAnalyticsSettings?: Schema$GoogleAdsSearchads360V23Resources_ConversionAction_ThirdPartyAppAnalyticsSettings;
        /**
         * Immutable. The type of this conversion action.
         */
        type?: string | null;
        /**
         * Settings related to the value for conversion events associated with this conversion action.
         */
        valueSettings?: Schema$GoogleAdsSearchads360V23Resources_ConversionAction_ValueSettings;
        /**
         * The maximum number of days which may elapse between an impression and a conversion without an interaction.
         */
        viewThroughLookbackWindowDays?: string | null;
    }
    /**
     * A conversion custom variable. See "About custom Floodlight metrics and dimensions in the new Search Ads 360" at https://support.google.com/sa360/answer/13567857
     */
    export interface Schema$GoogleAdsSearchads360V23Resources__ConversionCustomVariable {
        /**
         * Output only. Cardinality of the conversion custom variable.
         */
        cardinality?: string | null;
        /**
         * Output only. The IDs of custom columns that use this conversion custom variable.
         */
        customColumnIds?: string[] | null;
        /**
         * Output only. Family of the conversion custom variable.
         */
        family?: string | null;
        /**
         * Output only. Fields for Search Ads 360 floodlight conversion custom variables.
         */
        floodlightConversionCustomVariableInfo?: Schema$GoogleAdsSearchads360V23Resources_ConversionCustomVariable_FloodlightConversionCustomVariableInfo;
        /**
         * Output only. The ID of the conversion custom variable.
         */
        id?: string | null;
        /**
         * Required. The name of the conversion custom variable. Name should be unique. The maximum length of name is 100 characters. There should not be any extra spaces before and after.
         */
        name?: string | null;
        /**
         * Output only. The resource name of the customer that owns the conversion custom variable.
         */
        ownerCustomer?: string | null;
        /**
         * Immutable. The resource name of the conversion custom variable. Conversion custom variable resource names have the form: `customers/{customer_id\}/conversionCustomVariables/{conversion_custom_variable_id\}`
         */
        resourceName?: string | null;
        /**
         * The status of the conversion custom variable for conversion event accrual.
         */
        status?: string | null;
        /**
         * Required. Immutable. The tag of the conversion custom variable. Tag should be unique and consist of a "u" character directly followed with a number less than ormequal to 100. For example: "u4".
         */
        tag?: string | null;
    }
    /**
     * Conversion goal settings for a Campaign.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources__ConversionGoalCampaignConfig {
        /**
         * Immutable. The campaign with which this conversion goal campaign config is associated.
         */
        campaign?: string | null;
        /**
         * The custom conversion goal the campaign is using for optimization.
         */
        customConversionGoal?: string | null;
        /**
         * The level of goal config the campaign is using.
         */
        goalConfigLevel?: string | null;
        /**
         * Immutable. The resource name of the conversion goal campaign config. Conversion goal campaign config resource names have the form: `customers/{customer_id\}/conversionGoalCampaignConfigs/{campaign_id\}`
         */
        resourceName?: string | null;
        /**
         * The Search Ads 360 custom conversion goal the campaign is using for optimization.
         */
        searchAds360CustomConversionGoal?: string | null;
        /**
         * The level of Search Ads 360 goal config the campaign is using.
         */
        searchAds360GoalConfigLevel?: string | null;
    }
    /**
     * A collection of customer-wide settings related to Search Ads 360 Conversion Tracking.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources__ConversionTrackingSetting {
        /**
         * Output only. Whether the customer has accepted customer data terms. If using cross-account conversion tracking, this value is inherited from the manager. This field is read-only. For more information, see https://support.google.com/adspolicy/answer/7475709.
         */
        acceptedCustomerDataTerms?: boolean | null;
        /**
         * Output only. The conversion tracking id used for this account. This id doesn't indicate whether the customer uses conversion tracking (conversion_tracking_status does). This field is read-only.
         */
        conversionTrackingId?: string | null;
        /**
         * Output only. Conversion tracking status. It indicates whether the customer is using conversion tracking, and who is the conversion tracking owner of this customer. If this customer is using cross-account conversion tracking, the value returned will differ based on the `login-customer-id` of the request.
         */
        conversionTrackingStatus?: string | null;
        /**
         * Output only. The conversion tracking id of the customer's manager. This is set when the customer is opted into cross-account conversion tracking, and it overrides conversion_tracking_id.
         */
        crossAccountConversionTrackingId?: string | null;
        /**
         * Output only. Whether the customer is opted-in for enhanced conversions for leads. If using cross-account conversion tracking, this value is inherited from the manager. This field is read-only.
         */
        enhancedConversionsForLeadsEnabled?: boolean | null;
        /**
         * The resource name of the customer where conversions are created and managed. This field is read-only.
         */
        googleAdsConversionCustomer?: string | null;
        /**
         * Output only. The conversion tracking id of the customer's manager. This is set when the customer is opted into conversion tracking, and it overrides conversion_tracking_id. This field can only be managed through the Google Ads UI. This field is read-only.
         */
        googleAdsCrossAccountConversionTrackingId?: string | null;
    }
    /**
     * A conversion value rule
     */
    export interface Schema$GoogleAdsSearchads360V23Resources__ConversionValueRule {
        /**
         * Action applied when the rule is triggered.
         */
        action?: Schema$GoogleAdsSearchads360V23Resources_ConversionValueRule_ValueRuleAction;
        /**
         * Condition for audience that must be satisfied for the value rule to apply.
         */
        audienceCondition?: Schema$GoogleAdsSearchads360V23Resources_ConversionValueRule_ValueRuleAudienceCondition;
        /**
         * Condition for device type that must be satisfied for the value rule to apply.
         */
        deviceCondition?: Schema$GoogleAdsSearchads360V23Resources_ConversionValueRule_ValueRuleDeviceCondition;
        /**
         * Condition for Geo location that must be satisfied for the value rule to apply.
         */
        geoLocationCondition?: Schema$GoogleAdsSearchads360V23Resources_ConversionValueRule_ValueRuleGeoLocationCondition;
        /**
         * Output only. The ID of the conversion value rule.
         */
        id?: string | null;
        /**
         * Condition for itinerary that must be satisfied for the value rule to apply.
         */
        itineraryCondition?: Schema$GoogleAdsSearchads360V23Resources_ConversionValueRule_ValueRuleItineraryCondition;
        /**
         * Output only. The resource name of the conversion value rule's owner customer. When the value rule is inherited from a manager customer, owner_customer will be the resource name of the manager whereas the customer in the resource_name will be of the requesting serving customer. ** Read-only **
         */
        ownerCustomer?: string | null;
        /**
         * Immutable. The resource name of the conversion value rule. Conversion value rule resource names have the form: `customers/{customer_id\}/conversionValueRules/{conversion_value_rule_id\}`
         */
        resourceName?: string | null;
        /**
         * The status of the conversion value rule.
         */
        status?: string | null;
    }
    /**
     * A conversion value rule set is a collection of conversion value rules that lets you adjust conversion values based on the dimensions specified in the `dimensions` field.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources__ConversionValueRuleSet {
        /**
         * Immutable. Defines the scope where the conversion value rule set is attached.
         */
        attachmentType?: string | null;
        /**
         * The resource name of the campaign when the conversion value rule set is attached to a campaign.
         */
        campaign?: string | null;
        /**
         * Immutable. The conversion action categories of the conversion value rule set.
         */
        conversionActionCategories?: string[] | null;
        /**
         * Resource names of rules within the rule set.
         */
        conversionValueRules?: string[] | null;
        /**
         * Defines dimensions for Value Rule conditions. The condition types of value rules within this value rule set must be of these dimensions. The first entry in this list is the primary dimension of the included value rules. When using value rule primary dimension segmentation, conversion values will be segmented into the values adjusted by value rules and the original values, if some value rules apply.
         */
        dimensions?: string[] | null;
        /**
         * Output only. The ID of the conversion value rule set.
         */
        id?: string | null;
        /**
         * Output only. The resource name of the conversion value rule set's owner customer. When the value rule set is inherited from a manager customer, owner_customer will be the resource name of the manager whereas the customer in the resource_name will be of the requesting serving customer. ** Read-only **
         */
        ownerCustomer?: string | null;
        /**
         * Immutable. The resource name of the conversion value rule set. Conversion value rule set resource names have the form: `customers/{customer_id\}/conversionValueRuleSets/{conversion_value_rule_set_id\}`
         */
        resourceName?: string | null;
        /**
         * Output only. The status of the conversion value rule set. ** Read-only **
         */
        status?: string | null;
    }
    /**
     * Represents the credit details of a lead.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources__CreditDetails {
        /**
         * Output only. Credit state of the lead.
         */
        creditState?: string | null;
        /**
         * Output only. The date time when the credit state of the lead was last updated. The format is "YYYY-MM-DD HH:MM:SS" in the Google Ads account's timezone. Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
         */
        creditStateLastUpdateDateTime?: string | null;
    }
    /**
     * A currency constant.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources__CurrencyConstant {
        /**
         * Output only. The billable unit for this currency. Billed amounts should be multiples of this value.
         */
        billableUnitMicros?: string | null;
        /**
         * Output only. ISO 4217 three-letter currency code, for example, "USD"
         */
        code?: string | null;
        /**
         * Output only. Full English name of the currency.
         */
        name?: string | null;
        /**
         * Output only. The resource name of the currency constant. Currency constant resource names have the form: `currencyConstants/{code\}`
         */
        resourceName?: string | null;
        /**
         * Output only. Standard symbol for describing this currency, for example, '$' for US Dollars.
         */
        symbol?: string | null;
    }
    /**
     * A custom audience. This is a list of users by interest. The unique key of a custom audience consists of the following fields: name. Violating the unique key constraint produces error: CustomAudienceError.NAME_ALREADY_USED
     */
    export interface Schema$GoogleAdsSearchads360V23Resources__CustomAudience {
        /**
         * Description of this custom audience.
         */
        description?: string | null;
        /**
         * Output only. ID of the custom audience.
         */
        id?: string | null;
        /**
         * List of custom audience members that this custom audience is composed of. Members can be added during CustomAudience creation. If members are presented in UPDATE operation, existing members will be overridden.
         */
        members?: Schema$GoogleAdsSearchads360V23Resources__CustomAudienceMember[];
        /**
         * Name of the custom audience. It should be unique for all custom audiences created by a customer. This field is required for creating operations.
         */
        name?: string | null;
        /**
         * Immutable. The resource name of the custom audience. Custom audience resource names have the form: `customers/{customer_id\}/customAudiences/{custom_audience_id\}`
         */
        resourceName?: string | null;
        /**
         * Output only. Status of this custom audience. Indicates whether the custom audience is enabled or removed.
         */
        status?: string | null;
        /**
         * Type of the custom audience. ("INTEREST" OR "PURCHASE_INTENT" is not allowed for newly created custom audience but kept for existing audiences)
         */
        type?: string | null;
    }
    /**
     * A member of custom audience. A member can be a KEYWORD, URL, PLACE_CATEGORY or APP. It can only be created or removed but not changed.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources__CustomAudienceMember {
        /**
         * A package name of Android apps which users installed such as com.google.example.
         */
        app?: string | null;
        /**
         * A keyword or keyword phrase — at most 10 words and 80 characters. Languages with double-width characters such as Chinese, Japanese, or Korean, are allowed 40 characters, which describes the user's interests or actions.
         */
        keyword?: string | null;
        /**
         * The type of custom audience member, KEYWORD, URL, PLACE_CATEGORY or APP.
         */
        memberType?: string | null;
        /**
         * A place type described by a place category users visit.
         */
        placeCategory?: string | null;
        /**
         * An HTTP URL, protocol-included — at most 2048 characters, which includes contents users have interests in.
         */
        url?: string | null;
    }
    /**
     * A custom column. See Search Ads 360 custom column at https://support.google.com/sa360/answer/9633916
     */
    export interface Schema$GoogleAdsSearchads360V23Resources__CustomColumn {
        /**
         * Output only. User-defined description of the custom column.
         */
        description?: string | null;
        /**
         * Output only. ID of the custom column.
         */
        id?: string | null;
        /**
         * Output only. User-defined name of the custom column.
         */
        name?: string | null;
        /**
         * Output only. True when the custom column is available to be used in the query of SearchAds360Service.Search and SearchAds360Service.SearchStream.
         */
        queryable?: boolean | null;
        /**
         * Output only. The list of the referenced system columns of this custom column. For example, A custom column "sum of impressions and clicks" has referenced system columns of {"metrics.clicks", "metrics.impressions"\}.
         */
        referencedSystemColumns?: string[] | null;
        /**
         * Output only. True when the custom column is referring to one or more attributes.
         */
        referencesAttributes?: boolean | null;
        /**
         * Output only. True when the custom column is referring to one or more metrics.
         */
        referencesMetrics?: boolean | null;
        /**
         * Output only. How the result value of the custom column should be interpreted.
         */
        renderType?: string | null;
        /**
         * Immutable. The resource name of the custom column. Custom column resource names have the form: `customers/{customer_id\}/customColumns/{custom_column_id\}`
         */
        resourceName?: string | null;
        /**
         * Output only. The type of the result value of the custom column.
         */
        valueType?: string | null;
    }
    /**
     * Custom conversion goal that can make arbitrary conversion actions biddable.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources__CustomConversionGoal {
        /**
         * Conversion actions that the custom conversion goal makes biddable.
         */
        conversionActions?: string[] | null;
        /**
         * Immutable. The ID for this custom conversion goal.
         */
        id?: string | null;
        /**
         * The name for this custom conversion goal.
         */
        name?: string | null;
        /**
         * Immutable. The resource name of the custom conversion goal. Custom conversion goal resource names have the form: `customers/{customer_id\}/customConversionGoals/{goal_id\}`
         */
        resourceName?: string | null;
        /**
         * The status of the custom conversion goal.
         */
        status?: string | null;
    }
    /**
     * A customer.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources__Customer {
        /**
         * Output only. The account level of the customer: Manager, Sub-manager, Associate manager, Service account.
         */
        accountLevel?: string | null;
        /**
         * Output only. Account status, for example, Enabled, Paused, Removed, etc.
         */
        accountStatus?: string | null;
        /**
         * Output only. Engine account type, for example, Google Ads, Microsoft Advertising, Yahoo Japan, Baidu, Facebook, Engine Track, etc.
         */
        accountType?: string | null;
        /**
         * Output only. The descriptive name of the associate manager.
         */
        associateManagerDescriptiveName?: string | null;
        /**
         * Output only. The customer ID of the associate manager. A 0 value indicates that the customer has no SA360 associate manager.
         */
        associateManagerId?: string | null;
        /**
         * Whether auto-tagging is enabled for the customer.
         */
        autoTaggingEnabled?: boolean | null;
        /**
         * Call reporting setting for a customer.
         */
        callReportingSetting?: Schema$GoogleAdsSearchads360V23Resources__CallReportingSetting;
        /**
         * Output only. Returns the advertiser self-declaration status of whether this customer contains political advertising content targeted towards the European Union. You can use the Google Ads UI to update this account-level declaration, or use the API to update the self-declaration status of individual campaigns.
         */
        containsEuPoliticalAdvertising?: string | null;
        /**
         * Conversion tracking setting for a customer.
         */
        conversionTrackingSetting?: Schema$GoogleAdsSearchads360V23Resources__ConversionTrackingSetting;
        /**
         * Output only. The timestamp when this customer was created. The timestamp is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss" format.
         */
        creationTime?: string | null;
        /**
         * Immutable. The currency in which the account operates. A subset of the currency codes from the ISO 4217 standard is supported.
         */
        currencyCode?: string | null;
        /**
         * Output only. Customer Agreement Setting for a customer.
         */
        customerAgreementSetting?: Schema$GoogleAdsSearchads360V23Resources__CustomerAgreementSetting;
        /**
         * Optional, non-unique descriptive name of the customer.
         */
        descriptiveName?: string | null;
        /**
         * Output only. DoubleClick Campaign Manager (DCM) setting for a manager customer.
         */
        doubleClickCampaignManagerSetting?: Schema$GoogleAdsSearchads360V23Resources__DoubleClickCampaignManagerSetting;
        /**
         * Output only. ID of the account in the external engine account.
         */
        engineId?: string | null;
        /**
         * The URL template for appending params to the final URL.
         */
        finalUrlSuffix?: string | null;
        /**
         * Output only. Whether the Customer has a Partners program badge. If the Customer is not associated with the Partners program, this will be false. For more information, see https://support.google.com/partners/answer/3125774.
         */
        hasPartnersBadge?: boolean | null;
        /**
         * Output only. The ID of the customer.
         */
        id?: string | null;
        /**
         * Output only. True if feed based image has been migrated to asset based image.
         */
        imageAssetAutoMigrationDone?: boolean | null;
        /**
         * Output only. Timestamp of migration from feed based image to asset base image in yyyy-MM-dd HH:mm:ss format.
         */
        imageAssetAutoMigrationDoneDateTime?: string | null;
        /**
         * Output only. The datetime when this customer was last modified. The datetime is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss.ssssss" format.
         */
        lastModifiedTime?: string | null;
        /**
         * Output only. Settings for Local Services customer.
         */
        localServicesSettings?: Schema$GoogleAdsSearchads360V23Resources__LocalServicesSettings;
        /**
         * Output only. True if feed based location has been migrated to asset based location.
         */
        locationAssetAutoMigrationDone?: boolean | null;
        /**
         * Output only. Timestamp of migration from feed based location to asset base location in yyyy-MM-dd HH:mm:ss format.
         */
        locationAssetAutoMigrationDoneDateTime?: string | null;
        /**
         * Output only. Whether the customer is a manager.
         */
        manager?: boolean | null;
        /**
         * Output only. The descriptive name of the manager.
         */
        managerDescriptiveName?: string | null;
        /**
         * Output only. The customer ID of the manager. A 0 value indicates that the customer has no SA360 manager.
         */
        managerId?: string | null;
        /**
         * Output only. Optimization score of the customer. Optimization score is an estimate of how well a customer's campaigns are set to perform. It ranges from 0% (0.0) to 100% (1.0). This field is null for all manager customers, and for unscored non-manager customers. See "About optimization score" at https://support.google.com/google-ads/answer/9061546. This field is read-only.
         */
        optimizationScore?: number | null;
        /**
         * Output only. Optimization score weight of the customer. Optimization score weight can be used to compare/aggregate optimization scores across multiple non-manager customers. The aggregate optimization score of a manager is computed as the sum over all of their customers of `Customer.optimization_score * Customer.optimization_score_weight`. This field is 0 for all manager customers, and for unscored non-manager customers. This field is read-only.
         */
        optimizationScoreWeight?: number | null;
        /**
         * Output only. Reasons why the customer is not eligible to use PaymentMode.CONVERSIONS. If the list is empty, the customer is eligible. This field is read-only.
         */
        payPerConversionEligibilityFailureReasons?: string[] | null;
        /**
         * Output only. Remarketing setting for a customer.
         */
        remarketingSetting?: Schema$GoogleAdsSearchads360V23Resources__RemarketingSetting;
        /**
         * Immutable. The resource name of the customer. Customer resource names have the form: `customers/{customer_id\}`
         */
        resourceName?: string | null;
        /**
         * Output only. The status of the customer.
         */
        status?: string | null;
        /**
         * Output only. The descriptive name of the sub manager.
         */
        subManagerDescriptiveName?: string | null;
        /**
         * Output only. The customer ID of the sub manager. A 0 value indicates that the customer has no sub SA360 manager.
         */
        subManagerId?: string | null;
        /**
         * Output only. Whether the customer is a test account.
         */
        testAccount?: boolean | null;
        /**
         * Immutable. The local timezone ID of the customer.
         */
        timeZone?: string | null;
        /**
         * The URL template for constructing a tracking URL out of parameters.
         */
        trackingUrlTemplate?: string | null;
        /**
         * Brand Safety setting at the account level. Allows for selecting an inventory type to show your ads on content that is the right fit for your brand. See https://support.google.com/google-ads/answer/7515513.
         */
        videoBrandSafetySuitability?: string | null;
        /**
         * Video specific information about a Customer.
         */
        videoCustomer?: Schema$GoogleAdsSearchads360V23Resources__VideoCustomer;
    }
    /**
     * The customer acquisition goal settings for the campaign.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources__CustomerAcquisitionGoalSettings {
        /**
         * Output only. Customer acquisition optimization mode of this campaign.
         */
        optimizationMode?: string | null;
        /**
         * Output only. Campaign specific values for the customer acquisition goal.
         */
        valueSettings?: Schema$GoogleAdsSearchads360V23Common__LifecycleGoalValueSettings;
    }
    /**
     * Customer Agreement Setting for a customer.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources__CustomerAgreementSetting {
        /**
         * Output only. Whether the customer has accepted lead form term of service.
         */
        acceptedLeadFormTerms?: boolean | null;
    }
    /**
     * A link between a customer and an asset.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources__CustomerAsset {
        /**
         * Required. Immutable. The asset which is linked to the customer.
         */
        asset?: string | null;
        /**
         * Required. Immutable. Role that the asset takes for the customer link.
         */
        fieldType?: string | null;
        /**
         * Output only. Provides the PrimaryStatus of this asset link. Primary status is meant essentially to differentiate between the plain "status" field, which has advertiser set values of enabled, paused, or removed. The primary status takes into account other signals (for assets its mainly policy and quality approvals) to come up with a more comprehensive status to indicate its serving state.
         */
        primaryStatus?: string | null;
        /**
         * Output only. Provides the details of the primary status and its associated reasons.
         */
        primaryStatusDetails?: Schema$GoogleAdsSearchads360V23Common__AssetLinkPrimaryStatusDetails[];
        /**
         * Output only. Provides a list of reasons for why an asset is not serving or not serving at full capacity.
         */
        primaryStatusReasons?: string[] | null;
        /**
         * Immutable. The resource name of the customer asset. CustomerAsset resource names have the form: `customers/{customer_id\}/customerAssets/{asset_id\}~{field_type\}`
         */
        resourceName?: string | null;
        /**
         * Output only. Source of the customer asset link.
         */
        source?: string | null;
        /**
         * Status of the customer asset.
         */
        status?: string | null;
    }
    /**
     * CustomerAssetSet is the linkage between a customer and an asset set. Adding a CustomerAssetSet links an asset set with a customer.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources__CustomerAssetSet {
        /**
         * Immutable. The asset set which is linked to the customer.
         */
        assetSet?: string | null;
        /**
         * Immutable. The customer to which this asset set is linked.
         */
        customer?: string | null;
        /**
         * Immutable. The resource name of the customer asset set. Asset set asset resource names have the form: `customers/{customer_id\}/customerAssetSets/{asset_set_id\}`
         */
        resourceName?: string | null;
        /**
         * Output only. The status of the customer asset set asset. Read-only.
         */
        status?: string | null;
    }
    /**
     * A link between the given customer and a client customer. CustomerClients only exist for manager customers. All direct and indirect client customers are included, as well as the manager itself.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources__CustomerClient {
        /**
         * Output only. The resource names of the labels owned by the requesting customer that are applied to the client customer. Label resource names have the form: `customers/{customer_id\}/labels/{label_id\}`
         */
        appliedLabels?: string[] | null;
        /**
         * Output only. The resource name of the client-customer which is linked to the given customer. Read only.
         */
        clientCustomer?: string | null;
        /**
         * Output only. Currency code (for example, 'USD', 'EUR') for the client. Read only.
         */
        currencyCode?: string | null;
        /**
         * Output only. Descriptive name for the client. Read only.
         */
        descriptiveName?: string | null;
        /**
         * Output only. Specifies whether this is a hidden account. Read only.
         */
        hidden?: boolean | null;
        /**
         * Output only. The ID of the client customer. Read only.
         */
        id?: string | null;
        /**
         * Output only. Distance between given customer and client. For self link, the level value will be 0. Read only.
         */
        level?: string | null;
        /**
         * Output only. Identifies if the client is a manager. Read only.
         */
        manager?: boolean | null;
        /**
         * Output only. The resource name of the customer client. CustomerClient resource names have the form: `customers/{customer_id\}/customerClients/{client_customer_id\}`
         */
        resourceName?: string | null;
        /**
         * Output only. The status of the client customer. Read only.
         */
        status?: string | null;
        /**
         * Output only. Identifies if the client is a test account. Read only.
         */
        testAccount?: boolean | null;
        /**
         * Output only. Common Locale Data Repository (CLDR) string representation of the time zone of the client, for example, America/Los_Angeles. Read only.
         */
        timeZone?: string | null;
    }
    /**
     * Represents customer client link relationship.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources__CustomerClientLink {
        /**
         * Immutable. The client customer linked to this customer.
         */
        clientCustomer?: string | null;
        /**
         * The visibility of the link. Users can choose whether or not to see hidden links in the Google Ads UI. Default value is false
         */
        hidden?: boolean | null;
        /**
         * Output only. This is uniquely identifies a customer client link. Read only.
         */
        managerLinkId?: string | null;
        /**
         * Immutable. Name of the resource. CustomerClientLink resource names have the form: `customers/{customer_id\}/customerClientLinks/{client_customer_id\}~{manager_link_id\}`
         */
        resourceName?: string | null;
        /**
         * This is the status of the link between client and manager.
         */
        status?: string | null;
    }
    /**
     * Biddability control for conversion actions with a matching category and origin.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources__CustomerConversionGoal {
        /**
         * The biddability of the customer conversion goal.
         */
        biddable?: boolean | null;
        /**
         * The conversion category of this customer conversion goal. Only conversion actions that have this category will be included in this goal.
         */
        category?: string | null;
        /**
         * The conversion origin of this customer conversion goal. Only conversion actions that have this conversion origin will be included in this goal.
         */
        origin?: string | null;
        /**
         * Immutable. The resource name of the customer conversion goal. Customer conversion goal resource names have the form: `customers/{customer_id\}/customerConversionGoals/{category\}~{origin\}`
         */
        resourceName?: string | null;
    }
    /**
     * A customizer value for the associated CustomizerAttribute at the Customer level.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources__CustomerCustomizer {
        /**
         * Required. Immutable. The customizer attribute which is linked to the customer.
         */
        customizerAttribute?: string | null;
        /**
         * Immutable. The resource name of the customer customizer. Customer customizer resource names have the form: `customers/{customer_id\}/customerCustomizers/{customizer_attribute_id\}`
         */
        resourceName?: string | null;
        /**
         * Output only. The status of the customer customizer attribute.
         */
        status?: string | null;
        /**
         * Required. The value to associate with the customizer attribute at this level. The value must be of the type specified for the CustomizerAttribute.
         */
        value?: Schema$GoogleAdsSearchads360V23Common__CustomizerValue;
    }
    /**
     * Represents a relationship between a customer and a label. This customer may not have access to all the labels attached to it. Additional CustomerLabels may be returned by increasing permissions with login-customer-id.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources__CustomerLabel {
        /**
         * Output only. The resource name of the customer to which the label is attached. This field should not be set when creating a new `CustomerLabel`.
         */
        customer?: string | null;
        /**
         * Output only. The resource name of the label assigned to the customer. This field should not be set when creating a new `CustomerLabel`. Note: the Customer ID portion of the label resource name is not validated when creating a new `CustomerLabel`.
         */
        label?: string | null;
        /**
         * Immutable. Name of the resource. Customer label resource names have the form: `customers/{customer_id\}/customerLabels/{label_id\}`
         */
        resourceName?: string | null;
    }
    /**
     * Account level customer lifecycle goal settings.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources__CustomerLifecycleGoal {
        /**
         * Output only. Customer acquisition goal customer level value settings.
         */
        customerAcquisitionGoalValueSettings?: Schema$GoogleAdsSearchads360V23Common__LifecycleGoalValueSettings;
        /**
         * Output only. The resource name of the customer which owns the lifecycle goal.
         */
        ownerCustomer?: string | null;
        /**
         * Immutable. The resource name of the customer lifecycle goal. Customer lifecycle resource names have the form: `customers/{customer_id\}/customerLifecycleGoal`
         */
        resourceName?: string | null;
    }
    /**
     * Represents customer-manager link relationship.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources__CustomerManagerLink {
        /**
         * Output only. The manager customer linked to the customer.
         */
        managerCustomer?: string | null;
        /**
         * Output only. ID of the customer-manager link. This field is read only.
         */
        managerLinkId?: string | null;
        /**
         * Immutable. Name of the resource. CustomerManagerLink resource names have the form: `customers/{customer_id\}/customerManagerLinks/{manager_customer_id\}~{manager_link_id\}`
         */
        resourceName?: string | null;
        /**
         * Output only. The timestamp when the CustomerManagerLink was created. The timestamp is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss" format.
         */
        startTime?: string | null;
        /**
         * Status of the link between the customer and the manager.
         */
        status?: string | null;
    }
    /**
     * A negative criterion for exclusions at the customer level.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources__CustomerNegativeCriterion {
        /**
         * Immutable. ContentLabel.
         */
        contentLabel?: Schema$GoogleAdsSearchads360V23Common__ContentLabelInfo;
        /**
         * Output only. The ID of the criterion.
         */
        id?: string | null;
        /**
         * Immutable. IpBlock. You can exclude up to 500 IP addresses per account.
         */
        ipBlock?: Schema$GoogleAdsSearchads360V23Common__IpBlockInfo;
        /**
         * Immutable. MobileAppCategory.
         */
        mobileAppCategory?: Schema$GoogleAdsSearchads360V23Common__MobileAppCategoryInfo;
        /**
         * Immutable. MobileApplication.
         */
        mobileApplication?: Schema$GoogleAdsSearchads360V23Common__MobileApplicationInfo;
        /**
         * Immutable. NegativeKeywordList.
         */
        negativeKeywordList?: Schema$GoogleAdsSearchads360V23Common__NegativeKeywordListInfo;
        /**
         * Immutable. Placement.
         */
        placement?: Schema$GoogleAdsSearchads360V23Common__PlacementInfo;
        /**
         * Immutable. PlacementList.
         */
        placementList?: Schema$GoogleAdsSearchads360V23Common__PlacementListInfo;
        /**
         * Immutable. The resource name of the customer negative criterion. Customer negative criterion resource names have the form: `customers/{customer_id\}/customerNegativeCriteria/{criterion_id\}`
         */
        resourceName?: string | null;
        /**
         * Output only. The type of the criterion.
         */
        type?: string | null;
        /**
         * Immutable. YouTube Channel.
         */
        youtubeChannel?: Schema$GoogleAdsSearchads360V23Common__YouTubeChannelInfo;
        /**
         * Immutable. YouTube Video.
         */
        youtubeVideo?: Schema$GoogleAdsSearchads360V23Common__YouTubeVideoInfo;
    }
    /**
     * This report provides a high-level view of search demand at the customer level by grouping similar search terms into categories and showing their search volume. Historical data is available starting March 2023.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources__CustomerSearchTermInsight {
        /**
         * Output only. The label for the search category. An empty string denotes the catch-all category for search terms that didn't fit into another category.
         */
        categoryLabel?: string | null;
        /**
         * Output only. The ID of the insight.
         */
        id?: string | null;
        /**
         * Output only. The resource name of the customer level search term insight. Customer level search term insight resource names have the form: `customers/{customer_id\}/customerSearchTermInsights/{category_id\}`
         */
        resourceName?: string | null;
    }
    /**
     * A CustomerSkAdNetworkConversionValueSchema.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources__CustomerSkAdNetworkConversionValueSchema {
        /**
         * Output only. The resource name of the schema. CustomerSkAdNetworkConversionValueSchema resource names have the form: customers/{customer_id\}/customerSkAdNetworkConversionValueSchemas/{account_link_id\}
         */
        resourceName?: string | null;
        /**
         * Output only. The schema for the specified resource.
         */
        schema?: Schema$GoogleAdsSearchads360V23Resources_CustomerSkAdNetworkConversionValueSchema_SkAdNetworkConversionValueSchema;
    }
    /**
     * Represents the permission of a single user onto a single customer.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources__CustomerUserAccess {
        /**
         * Output only. The customer user access creation time. Read only field The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
         */
        accessCreationDateTime?: string | null;
        /**
         * Access role of the user.
         */
        accessRole?: string | null;
        /**
         * Output only. Email address of the user. Read only field
         */
        emailAddress?: string | null;
        /**
         * Output only. The email address of the inviter user. Read only field
         */
        inviterUserEmailAddress?: string | null;
        /**
         * Immutable. Name of the resource. Resource names have the form: `customers/{customer_id\}/customerUserAccesses/{user_id\}`
         */
        resourceName?: string | null;
        /**
         * Output only. User id of the user with the customer access. Read only field
         */
        userId?: string | null;
    }
    /**
     * Represent an invitation to a new user on this customer account.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources__CustomerUserAccessInvitation {
        /**
         * Immutable. Access role of the user.
         */
        accessRole?: string | null;
        /**
         * Output only. Time invitation was created. This field is read-only. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
         */
        creationDateTime?: string | null;
        /**
         * Immutable. Email address the invitation was sent to. This can differ from the email address of the account that accepts the invite.
         */
        emailAddress?: string | null;
        /**
         * Output only. The ID of the invitation. This field is read-only.
         */
        invitationId?: string | null;
        /**
         * Output only. Invitation status of the user.
         */
        invitationStatus?: string | null;
        /**
         * Immutable. Name of the resource. Resource names have the form: `customers/{customer_id\}/customerUserAccessInvitations/{invitation_id\}`
         */
        resourceName?: string | null;
    }
    /**
     * A custom interest. This is a list of users by interest.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources__CustomInterest {
        /**
         * Description of this custom interest audience.
         */
        description?: string | null;
        /**
         * Output only. Id of the custom interest.
         */
        id?: string | null;
        /**
         * List of custom interest members that this custom interest is composed of. Members can be added during CustomInterest creation. If members are presented in UPDATE operation, existing members will be overridden.
         */
        members?: Schema$GoogleAdsSearchads360V23Resources__CustomInterestMember[];
        /**
         * Name of the custom interest. It should be unique across the same custom affinity audience. This field is required for create operations.
         */
        name?: string | null;
        /**
         * Immutable. The resource name of the custom interest. Custom interest resource names have the form: `customers/{customer_id\}/customInterests/{custom_interest_id\}`
         */
        resourceName?: string | null;
        /**
         * Status of this custom interest. Indicates whether the custom interest is enabled or removed.
         */
        status?: string | null;
        /**
         * Type of the custom interest, CUSTOM_AFFINITY or CUSTOM_INTENT. By default the type is set to CUSTOM_AFFINITY.
         */
        type?: string | null;
    }
    /**
     * A member of custom interest audience. A member can be a keyword or url. It is immutable, that is, it can only be created or removed but not changed.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources__CustomInterestMember {
        /**
         * The type of custom interest member, KEYWORD or URL.
         */
        memberType?: string | null;
        /**
         * Keyword text when member_type is KEYWORD or URL string when member_type is URL.
         */
        parameter?: string | null;
    }
    /**
     * A customizer attribute. Use CustomerCustomizer, CampaignCustomizer, AdGroupCustomizer, or AdGroupCriterionCustomizer to associate a customizer attribute and set its value at the customer, campaign, ad group, or ad group criterion level, respectively.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources__CustomizerAttribute {
        /**
         * Output only. The ID of the customizer attribute.
         */
        id?: string | null;
        /**
         * Required. Immutable. Name of the customizer attribute. Required. It must have a minimum length of 1 and maximum length of 40. Name of an enabled customizer attribute must be unique (case insensitive).
         */
        name?: string | null;
        /**
         * Immutable. The resource name of the customizer attribute. Customizer Attribute resource names have the form: `customers/{customer_id\}/customizerAttributes/{customizer_attribute_id\}`
         */
        resourceName?: string | null;
        /**
         * Output only. The status of the customizer attribute.
         */
        status?: string | null;
        /**
         * Immutable. The type of the customizer attribute.
         */
        type?: string | null;
    }
    /**
     * Fields in the submitted custom question
     */
    export interface Schema$GoogleAdsSearchads360V23Resources__CustomLeadFormSubmissionField {
        /**
         * Output only. Field value for custom question response, maximum number of characters is 70.
         */
        fieldValue?: string | null;
        /**
         * Output only. Question text for custom question, maximum number of characters is 300.
         */
        questionText?: string | null;
    }
    /**
     * Represents the data sharing connection between
     */
    export interface Schema$GoogleAdsSearchads360V23Resources__DataLink {
        /**
         * Output only. The ID of the data link. This field is read only.
         */
        dataLinkId?: string | null;
        /**
         * Output only. The ID of the link. This field is read only.
         */
        productLinkId?: string | null;
        /**
         * Immutable. Resource name of the product data link. DataLink resource names have the form: `
         */
        resourceName?: string | null;
        /**
         * Output only. The status of the data link.
         */
        status?: string | null;
        /**
         * Output only. The type of the data.
         */
        type?: string | null;
        /**
         * Immutable. A data link to YouTube video.
         */
        youtubeVideo?: Schema$GoogleAdsSearchads360V23Resources__YoutubeVideoIdentifier;
    }
    /**
     * The identifier for Data Partner account.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources__DataPartnerIdentifier {
        /**
         * Immutable. The customer ID of the Data partner account. This field is required and should not be empty when creating a new data partner link. It is unable to be modified after the creation of the link.
         */
        dataPartnerId?: string | null;
    }
    /**
     * A detail content suitability placement view.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources__DetailContentSuitabilityPlacementView {
        /**
         * Output only. The display name is URL for websites, YouTube video name for YouTube videos, and translated mobile app name for mobile apps.
         */
        displayName?: string | null;
        /**
         * Output only. The automatic placement string at detail level, for example. website url, mobile application id, or a YouTube video id.
         */
        placement?: string | null;
        /**
         * Output only. Represents the type of the placement, for example, Website, YouTubeVideo and MobileApplication.
         */
        placementType?: string | null;
        /**
         * Output only. The resource name of the detail content suitability placement view. Detail content suitability placement view resource names have the form: `customers/{customer_id\}/detailContentSuitabilityPlacementViews/{placement_fingerprint\}`
         */
        resourceName?: string | null;
        /**
         * Output only. URL of the placement, for example, website, link to the mobile application in app store, or a YouTube video URL.
         */
        targetUrl?: string | null;
    }
    /**
     * A detailed demographic: a particular interest-based vertical to be targeted to reach users based on long-term life facts.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources__DetailedDemographic {
        /**
         * Output only. Availability information of the detailed demographic.
         */
        availabilities?: Schema$GoogleAdsSearchads360V23Common__CriterionCategoryAvailability[];
        /**
         * Output only. The ID of the detailed demographic.
         */
        id?: string | null;
        /**
         * Output only. True if the detailed demographic is launched to all channels and locales.
         */
        launchedToAll?: boolean | null;
        /**
         * Output only. The name of the detailed demographic. For example,"Highest Level of Educational Attainment"
         */
        name?: string | null;
        /**
         * Output only. The parent of the detailed_demographic.
         */
        parent?: string | null;
        /**
         * Output only. The resource name of the detailed demographic. Detailed demographic resource names have the form: `customers/{customer_id\}/detailedDemographics/{detailed_demographic_id\}`
         */
        resourceName?: string | null;
    }
    /**
     * A view with metrics aggregated by ad group and URL or YouTube video. Provides granular performance data about specific URLs, YouTube videos, and apps where your ads showed. This offers a more detailed breakdown compared to the group_placement_view. This view primarily surfaces placement data from the Google Display Network. While you can select segments like `segments.ad_network_type`, this view generally does not include placement data from other networks, such as the Search Partners network. To understand performance on Search Partners, consider other reports and segmentations. Data for low-traffic placements may be aggregated.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources__DetailPlacementView {
        /**
         * Output only. The display name is URL name for websites, YouTube video name for YouTube videos, and translated mobile app name for mobile apps.
         */
        displayName?: string | null;
        /**
         * Output only. URL of the group placement, for example, domain, link to the mobile application in app store, or a YouTube channel URL.
         */
        groupPlacementTargetUrl?: string | null;
        /**
         * Output only. The automatic placement string at detail level, e. g. website URL, mobile application ID, or a YouTube video ID.
         */
        placement?: string | null;
        /**
         * Output only. Type of the placement, for example, Website, YouTube Video, and Mobile Application.
         */
        placementType?: string | null;
        /**
         * Output only. The resource name of the detail placement view. Detail placement view resource names have the form: `customers/{customer_id\}/detailPlacementViews/{ad_group_id\}~{base64_placement\}`
         */
        resourceName?: string | null;
        /**
         * Output only. URL of the placement, for example, website, link to the mobile application in app store, or a YouTube video URL.
         */
        targetUrl?: string | null;
    }
    /**
     * A display keyword view. Provides performance data for keywords used in Display Network campaigns. This view lets you analyze how your display keywords are performing across various segments. This view is primarily used to track the effectiveness of keyword targeting within your Display campaigns. To understand which network the metrics apply to, you can select the `segments.ad_network_type` field in your query. This field will segment the data by networks such as the Google Display Network, YouTube, Gmail, and so on. You can select fields from this resource along with metrics like impressions, clicks, and conversions to gauge performance. Attributed resources like `ad_group` and `campaign` can also be selected without segmenting metrics.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources__DisplayKeywordView {
        /**
         * Output only. The resource name of the display keyword view. Display Keyword view resource names have the form: `customers/{customer_id\}/displayKeywordViews/{ad_group_id\}~{criterion_id\}`
         */
        resourceName?: string | null;
    }
    /**
     * A distance view with metrics aggregated by the user's distance from an advertiser's location extensions. Each DistanceBucket includes all impressions that fall within its distance and a single impression will contribute to the metrics for all DistanceBuckets that include the user's distance.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources__DistanceView {
        /**
         * Output only. Grouping of user distance from location extensions.
         */
        distanceBucket?: string | null;
        /**
         * Output only. True if the DistanceBucket is using the metric system, false otherwise.
         */
        metricSystem?: boolean | null;
        /**
         * Output only. The resource name of the distance view. Distance view resource names have the form: `customers/{customer_id\}/distanceViews/1~{distance_bucket\}`
         */
        resourceName?: string | null;
    }
    /**
     * DoubleClick Campaign Manager (DCM) setting for a manager customer.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources__DoubleClickCampaignManagerSetting {
        /**
         * Output only. ID of the Campaign Manager advertiser associated with this customer.
         */
        advertiserId?: string | null;
        /**
         * Output only. ID of the Campaign Manager network associated with this customer.
         */
        networkId?: string | null;
        /**
         * Output only. Time zone of the Campaign Manager network associated with this customer in IANA Time Zone Database format, such as America/New_York.
         */
        timeZone?: string | null;
    }
    /**
     * A dynamic search ads search term view.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources__DynamicSearchAdsSearchTermView {
        /**
         * Output only. True if query is added to targeted keywords. This field is read-only.
         */
        hasMatchingKeyword?: boolean | null;
        /**
         * Output only. True if query matches a negative keyword. This field is read-only.
         */
        hasNegativeKeyword?: boolean | null;
        /**
         * Output only. True if query matches a negative url. This field is read-only.
         */
        hasNegativeUrl?: boolean | null;
        /**
         * Output only. The dynamically generated headline of the Dynamic Search Ad. This field is read-only.
         */
        headline?: string | null;
        /**
         * Output only. The dynamically selected landing page URL of the impression. This field is read-only.
         */
        landingPage?: string | null;
        /**
         * Output only. The URL of page feed item served for the impression. This field is read-only.
         */
        pageUrl?: string | null;
        /**
         * Output only. The resource name of the dynamic search ads search term view. Dynamic search ads search term view resource names have the form: `customers/{customer_id\}/dynamicSearchAdsSearchTermViews/{ad_group_id\}~{search_term_fingerprint\}~{headline_fingerprint\}~{landing_page_fingerprint\}~{page_url_fingerprint\}`
         */
        resourceName?: string | null;
        /**
         * Output only. Search term This field is read-only.
         */
        searchTerm?: string | null;
    }
    /**
     * A landing page view with metrics aggregated at the expanded final URL level.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources__ExpandedLandingPageView {
        /**
         * Output only. The final URL that clicks are directed to.
         */
        expandedFinalUrl?: string | null;
        /**
         * Output only. The resource name of the expanded landing page view. Expanded landing page view resource names have the form: `customers/{customer_id\}/expandedLandingPageViews/{expanded_final_url_fingerprint\}`
         */
        resourceName?: string | null;
    }
    /**
     * A Google ads experiment for users to experiment changes on multiple campaigns, compare the performance, and apply the effective changes.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources__Experiment {
        /**
         * The description of the experiment. It must have a minimum length of 1 and maximum length of 2048.
         */
        description?: string | null;
        /**
         * Date when the experiment ends. By default, the experiment ends on the campaign's end date. If this field is set, then the experiment ends at the end of the specified date in the customer's time zone. Format: YYYY-MM-DD Example: 2019-04-18
         */
        endDate?: string | null;
        /**
         * Output only. The ID of the experiment. Read only.
         */
        experimentId?: string | null;
        /**
         * The goals of this experiment.
         */
        goals?: Schema$GoogleAdsSearchads360V23Common__MetricGoal[];
        /**
         * Output only. The resource name of the long-running operation that can be used to poll for completion of experiment schedule or promote. The most recent long running operation is returned.
         */
        longRunningOperation?: string | null;
        /**
         * Required. The name of the experiment. It must have a minimum length of 1 and maximum length of 1024. It must be unique under a customer.
         */
        name?: string | null;
        /**
         * Output only. The status of the experiment promotion process.
         */
        promoteStatus?: string | null;
        /**
         * Immutable. The resource name of the experiment. Experiment resource names have the form: `customers/{customer_id\}/experiments/{experiment_id\}`
         */
        resourceName?: string | null;
        /**
         * Date when the experiment starts. By default, the experiment starts now or on the campaign's start date, whichever is later. If this field is set, then the experiment starts at the beginning of the specified date in the customer's time zone. Format: YYYY-MM-DD Example: 2019-03-14
         */
        startDate?: string | null;
        /**
         * The Advertiser-chosen status of this experiment.
         */
        status?: string | null;
        /**
         * For system managed experiments, the advertiser must provide a suffix during construction, in the setup stage before moving to initiated. The suffix will be appended to the in-design and experiment campaign names so that the name is base campaign name + suffix.
         */
        suffix?: string | null;
        /**
         * Immutable. Set to true if changes to base campaigns should be synced to the trial campaigns. Any changes made directly to trial campaigns will be preserved. This field can only be set when the experiment is being created.
         */
        syncEnabled?: boolean | null;
        /**
         * Required. The product/feature that uses this experiment.
         */
        type?: string | null;
    }
    /**
     * A Google ads experiment for users to experiment changes on multiple campaigns, compare the performance, and apply the effective changes.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources__ExperimentArm {
        /**
         * List of asset groups in the experiment arm. The max length is one. In the Optimize Assets experiment construction, the control arm and treatment arm should both contain the same asset group ID.
         */
        assetGroups?: Schema$GoogleAdsSearchads360V23Resources_ExperimentArm_AssetGroupInfo[];
        /**
         * List of campaigns in the trial arm. The max length is one.
         */
        campaigns?: string[] | null;
        /**
         * Whether this arm is a control arm. A control arm is the arm against which the other arms are compared.
         */
        control?: boolean | null;
        /**
         * Immutable. The experiment to which the ExperimentArm belongs.
         */
        experiment?: string | null;
        /**
         * Output only. The in design campaigns in the treatment experiment arm.
         */
        inDesignCampaigns?: string[] | null;
        /**
         * Required. The name of the experiment arm. It must have a minimum length of 1 and maximum length of 1024. It must be unique under an experiment.
         */
        name?: string | null;
        /**
         * Immutable. The resource name of the experiment arm. Experiment arm resource names have the form: `customers/{customer_id\}/experimentArms/{TrialArm.trial_id\}~{TrialArm.trial_arm_id\}`
         */
        resourceName?: string | null;
        /**
         * Traffic split of the trial arm. The value should be between 1 and 100 and must total 100 between the two trial arms.
         */
        trafficSplit?: string | null;
    }
    /**
     * Details about the employee's medical Fellowship. Fellowship is a period of medical training that the professional undertakes after finishing their residency.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources__Fellowship {
        /**
         * Output only. Year of completion.
         */
        completionYear?: number | null;
        /**
         * Output only. Name of the instutition at which the fellowship was completed.
         */
        institutionName?: string | null;
    }
    /**
     * FinalUrlExpansionAssetView Resource.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources__FinalUrlExpansionAssetView {
        /**
         * Output only. Ad Group in which FinalUrlExpansionAsset served.
         */
        adGroup?: string | null;
        /**
         * Output only. The ID of the asset.
         */
        asset?: string | null;
        /**
         * Output only. Asset Group in which FinalUrlExpansionAsset served.
         */
        assetGroup?: string | null;
        /**
         * Output only. Campaign in which the asset served.
         */
        campaign?: string | null;
        /**
         * Output only. The field type of the asset.
         */
        fieldType?: string | null;
        /**
         * Output only. Final URL of the FinalUrlExpansionAsset.
         */
        finalUrl?: string | null;
        /**
         * Output only. The resource name of the FinalUrlExpansionAsset.
         */
        resourceName?: string | null;
        /**
         * Output only. Status of the FinalUrlExpansionAsset.
         */
        status?: string | null;
    }
    /**
     * A gender view resource. Represents the view of a customer's performance metrics aggregated by gender. All statistics are aggregated at the ad group level. Note: While you can segment metrics by age range using `age_range_view` or by gender using `gender_view`, the Search Ads 360 API does not support segmenting metrics by both age range and gender simultaneously in a single query. Analyzing performance across both dimensions combined is not supported in the Search Ads 360 API.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources__GenderView {
        /**
         * Output only. The resource name of the gender view. Gender view resource names have the form: `customers/{customer_id\}/genderViews/{ad_group_id\}~{criterion_id\}`
         */
        resourceName?: string | null;
    }
    /**
     * A geographic view. Geographic View includes all metrics aggregated at the country level, one row per country. It reports metrics at either actual physical location of the user or an area of interest. If other segment fields are used, you may get more than one row per country.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources__GeographicView {
        /**
         * Output only. Criterion Id for the country.
         */
        countryCriterionId?: string | null;
        /**
         * Output only. Type of the geo targeting of the campaign.
         */
        locationType?: string | null;
        /**
         * Output only. The resource name of the geographic view. Geographic view resource names have the form: `customers/{customer_id\}/geographicViews/{country_criterion_id\}~{location_type\}`
         */
        resourceName?: string | null;
    }
    /**
     * A geo target constant.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources__GeoTargetConstant {
        /**
         * Output only. The fully qualified English name, consisting of the target's name and that of its parent and country.
         */
        canonicalName?: string | null;
        /**
         * Output only. The ISO-3166-1 alpha-2 country code that is associated with the target.
         */
        countryCode?: string | null;
        /**
         * Output only. The ID of the geo target constant.
         */
        id?: string | null;
        /**
         * Output only. Geo target constant English name.
         */
        name?: string | null;
        /**
         * Output only. The resource name of the parent geo target constant. Geo target constant resource names have the form: `geoTargetConstants/{parent_geo_target_constant_id\}`
         */
        parentGeoTarget?: string | null;
        /**
         * Output only. The resource name of the geo target constant. Geo target constant resource names have the form: `geoTargetConstants/{geo_target_constant_id\}`
         */
        resourceName?: string | null;
        /**
         * Output only. Geo target constant status.
         */
        status?: string | null;
        /**
         * Output only. Geo target constant target type.
         */
        targetType?: string | null;
    }
    /**
     * Representation of goals.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources__Goal {
        /**
         * Output only. The ID of this goal.
         */
        goalId?: string | null;
        /**
         * Output only. The type of this goal.
         */
        goalType?: string | null;
        /**
         * Output only. Indicates if this goal is eligible for campaign optimization.
         */
        optimizationEligibility?: string | null;
        /**
         * Output only. The resource name of the goal owner customer.
         */
        ownerCustomer?: string | null;
        /**
         * Immutable. The resource name of the goal. Goal resource names have the form: `customers/{customer_id\}/goals/{goal_id\}`
         */
        resourceName?: string | null;
        /**
         * Retention goal settings.
         */
        retentionGoalSettings?: Schema$GoogleAdsSearchads360V23Common_GoalSetting_RetentionGoal;
    }
    /**
     * The identifier for Google Ads account.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources__GoogleAdsIdentifier {
        /**
         * Immutable. The resource name of the Google Ads account. This field is required and should not be empty when creating a new Google Ads link. It is unable to be modified after the creation of the link.
         */
        customer?: string | null;
    }
    /**
     * Insurance status at geo + vertical level.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources__GranularInsuranceStatus {
        /**
         * Output only. Service category associated with the status. For example, xcat:service_area_business_plumber. For more details see: https://developers.google.com/google-ads/api/data/codes-formats#local_services_ids
         */
        categoryId?: string | null;
        /**
         * Output only. Geotarget criterion ID associated with the status. Can be on country or state/province geo level, depending on requirements and location. See https://developers.google.com/google-ads/api/data/geotargets for more information.
         */
        geoCriterionId?: string | null;
        /**
         * Output only. Granular insurance status, per geo + vertical.
         */
        verificationStatus?: string | null;
    }
    /**
     * License status at geo + vertical level.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources__GranularLicenseStatus {
        /**
         * Output only. Service category associated with the status. For example, xcat:service_area_business_plumber. For more details see: https://developers.google.com/google-ads/api/data/codes-formats#local_services_ids
         */
        categoryId?: string | null;
        /**
         * Output only. Geotarget criterion ID associated with the status. Can be on country or state/province geo level, depending on requirements and location. See https://developers.google.com/google-ads/api/data/geotargets for more information.
         */
        geoCriterionId?: string | null;
        /**
         * Output only. Granular license status, per geo + vertical.
         */
        verificationStatus?: string | null;
    }
    /**
     * A group content suitability placement view.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources__GroupContentSuitabilityPlacementView {
        /**
         * Output only. The display name is URL for websites, YouTube video name for YouTube videos, and translated mobile app name for mobile apps.
         */
        displayName?: string | null;
        /**
         * Output only. The automatic placement string at group level, for example. website url, mobile application id, or a YouTube video id.
         */
        placement?: string | null;
        /**
         * Output only. Represents the type of the placement, for example, Website, YouTubeVideo and MobileApplication.
         */
        placementType?: string | null;
        /**
         * Output only. The resource name of the group content suitability placement view. Group content suitability placement view resource names have the form: `customers/{customer_id\}/groupContentSuitabilityPlacementViews/{placement_fingerprint\}`
         */
        resourceName?: string | null;
        /**
         * Output only. URL of the placement, for example, website, link to the mobile application in app store, or a YouTube video URL.
         */
        targetUrl?: string | null;
    }
    /**
     * A view showing performance data for where your ads actually served on the Display Network and YouTube, including both targeted (managed) and automatic placements. Data for low-traffic placements may be aggregated. The scope of placements shown is influenced by the ad group's `TargetingSetting` for the `PLACEMENT` dimension.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources__GroupPlacementView {
        /**
         * Output only. Domain name for websites and YouTube channel name for YouTube channels.
         */
        displayName?: string | null;
        /**
         * Output only. The automatic placement string at group level, e. g. web domain, mobile app ID, or a YouTube channel ID.
         */
        placement?: string | null;
        /**
         * Output only. Type of the placement, for example, Website, YouTube Channel, Mobile Application.
         */
        placementType?: string | null;
        /**
         * Output only. The resource name of the group placement view. Group placement view resource names have the form: `customers/{customer_id\}/groupPlacementViews/{ad_group_id\}~{base64_placement\}`
         */
        resourceName?: string | null;
        /**
         * Output only. URL of the group placement, for example, domain, link to the mobile application in app store, or a YouTube channel URL.
         */
        targetUrl?: string | null;
    }
    /**
     * The identifier for Hotel account.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources__HotelCenterLinkInvitationIdentifier {
        /**
         * Output only. The hotel center id of the hotel account. This field is read only
         */
        hotelCenterId?: string | null;
    }
    /**
     * A hotel group view.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources__HotelGroupView {
        /**
         * Output only. The resource name of the hotel group view. Hotel Group view resource names have the form: `customers/{customer_id\}/hotelGroupViews/{ad_group_id\}~{criterion_id\}`
         */
        resourceName?: string | null;
    }
    /**
     * A hotel performance view.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources__HotelPerformanceView {
        /**
         * Output only. The resource name of the hotel performance view. Hotel performance view resource names have the form: `customers/{customer_id\}/hotelPerformanceView`
         */
        resourceName?: string | null;
    }
    /**
     * A hotel reconciliation. It contains conversion information from Hotel bookings to reconcile with advertiser records. These rows may be updated or canceled before billing through Bulk Uploads.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources__HotelReconciliation {
        /**
         * Output only. Whether a given booking has been billed. Once billed, a booking can't be modified.
         */
        billed?: boolean | null;
        /**
         * Output only. The resource name for the Campaign associated with the conversion.
         */
        campaign?: string | null;
        /**
         * Output only. Check-in date recorded when the booking is made. If the check-in date is modified at reconciliation, the revised date will then take the place of the original date in this column. Format is YYYY-MM-DD.
         */
        checkInDate?: string | null;
        /**
         * Output only. Check-out date recorded when the booking is made. If the check-in date is modified at reconciliation, the revised date will then take the place of the original date in this column. Format is YYYY-MM-DD.
         */
        checkOutDate?: string | null;
        /**
         * Required. Output only. The commission ID is Google's ID for this booking. Every booking event is assigned a Commission ID to help you match it to a guest stay.
         */
        commissionId?: string | null;
        /**
         * Output only. Identifier for the Hotel Center account which provides the rates for the Hotel campaign.
         */
        hotelCenterId?: string | null;
        /**
         * Output only. Unique identifier for the booked property, as provided in the Hotel Center feed. The hotel ID comes from the 'ID' parameter of the conversion tracking tag.
         */
        hotelId?: string | null;
        /**
         * Output only. The order ID is the identifier for this booking as provided in the 'transaction_id' parameter of the conversion tracking tag.
         */
        orderId?: string | null;
        /**
         * Required. Output only. Reconciled value is the final value of a booking as paid by the guest. If original booking value changes for any reason, such as itinerary changes or room upsells, the reconciled value should be the full final amount collected. If a booking is canceled, the reconciled value should include the value of any cancellation fees or non-refundable nights charged. Value is in millionths of the base unit currency. For example, $12.35 would be represented as 12350000. Currency unit is in the default customer currency.
         */
        reconciledValueMicros?: string | null;
        /**
         * Immutable. The resource name of the hotel reconciliation. Hotel reconciliation resource names have the form: `customers/{customer_id\}/hotelReconciliations/{commission_id\}`
         */
        resourceName?: string | null;
        /**
         * Required. Output only. Current status of a booking with regards to reconciliation and billing. Bookings should be reconciled within 45 days after the check-out date. Any booking not reconciled within 45 days will be billed at its original value.
         */
        status?: string | null;
    }
    /**
     * An income range view.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources__IncomeRangeView {
        /**
         * Output only. The resource name of the income range view. Income range view resource names have the form: `customers/{customer_id\}/incomeRangeViews/{ad_group_id\}~{criterion_id\}`
         */
        resourceName?: string | null;
    }
    /**
     * specific to a local services insurance.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources__InsuranceVerificationArtifact {
        /**
         * Output only. Insurance amount. This is measured in "micros" of the currency mentioned in the insurance document.
         */
        amountMicros?: string | null;
        /**
         * Output only. The timestamp when this insurance expires. The format is "YYYY-MM-DD HH:MM:SS" in the Google Ads account's timezone. Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
         */
        expirationDateTime?: string | null;
        /**
         * Output only. The readonly field containing the information for an uploaded insurance document.
         */
        insuranceDocumentReadonly?: Schema$GoogleAdsSearchads360V23Common__LocalServicesDocumentReadOnly;
        /**
         * Output only. Insurance document's rejection reason.
         */
        rejectionReason?: string | null;
    }
    /**
     * An invoice. All invoice information is snapshotted to match the PDF invoice. For invoices older than the launch of InvoiceService, the snapshotted information may not match the PDF invoice.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources__Invoice {
        /**
         * Output only. The list of summarized account budget information associated with this invoice.
         */
        accountBudgetSummaries?: Schema$GoogleAdsSearchads360V23Resources_Invoice_AccountBudgetSummary[];
        /**
         * Output only. The list of summarized account information associated with this invoice.
         */
        accountSummaries?: Schema$GoogleAdsSearchads360V23Resources_Invoice_AccountSummary[];
        /**
         * Output only. The pretax subtotal amount of invoice level adjustments, in micros.
         */
        adjustmentsSubtotalAmountMicros?: string | null;
        /**
         * Output only. The sum of taxes on the invoice level adjustments, in micros.
         */
        adjustmentsTaxAmountMicros?: string | null;
        /**
         * Output only. The total amount of invoice level adjustments, in micros.
         */
        adjustmentsTotalAmountMicros?: string | null;
        /**
         * Output only. The resource name of this invoice's billing setup. `customers/{customer_id\}/billingSetups/{billing_setup_id\}`
         */
        billingSetup?: string | null;
        /**
         * Output only. The resource name of the original invoice corrected, wrote off, or canceled by this invoice, if applicable. If `corrected_invoice` is set, `replaced_invoices` will not be set. Invoice resource names have the form: `customers/{customer_id\}/invoices/{invoice_id\}`
         */
        correctedInvoice?: string | null;
        /**
         * Output only. The currency code. All costs are returned in this currency. A subset of the currency codes derived from the ISO 4217 standard is supported.
         */
        currencyCode?: string | null;
        /**
         * Output only. The due date in yyyy-mm-dd format.
         */
        dueDate?: string | null;
        /**
         * Output only. The pretax subtotal amount of invoice level export charges, in micros.
         */
        exportChargeSubtotalAmountMicros?: string | null;
        /**
         * Output only. The sum of taxes on the invoice level export charges, in micros.
         */
        exportChargeTaxAmountMicros?: string | null;
        /**
         * Output only. The total amount of invoice level export charges, in micros.
         */
        exportChargeTotalAmountMicros?: string | null;
        /**
         * Output only. The ID of the invoice. It appears on the invoice PDF as "Invoice number".
         */
        id?: string | null;
        /**
         * Output only. The issue date in yyyy-mm-dd format. It appears on the invoice PDF as either "Issue date" or "Invoice date".
         */
        issueDate?: string | null;
        /**
         * Output only. A 16 digit ID used to identify the payments account associated with the billing setup, for example, "1234-5678-9012-3456". It appears on the invoice PDF as "Billing Account Number".
         */
        paymentsAccountId?: string | null;
        /**
         * Output only. A 12 digit ID used to identify the payments profile associated with the billing setup, for example, "1234-5678-9012". It appears on the invoice PDF as "Billing ID".
         */
        paymentsProfileId?: string | null;
        /**
         * Output only. The URL to a PDF copy of the invoice. Users need to pass in their OAuth token to request the PDF with this URL.
         */
        pdfUrl?: string | null;
        /**
         * Output only. The pretax subtotal amount of invoice level regulatory costs, in micros.
         */
        regulatoryCostsSubtotalAmountMicros?: string | null;
        /**
         * Output only. The sum of taxes on the invoice level regulatory costs, in micros.
         */
        regulatoryCostsTaxAmountMicros?: string | null;
        /**
         * Output only. The total amount of invoice level regulatory costs, in micros.
         */
        regulatoryCostsTotalAmountMicros?: string | null;
        /**
         * Output only. The resource name of the original invoice(s) being rebilled or replaced by this invoice, if applicable. There might be multiple replaced invoices due to invoice consolidation. The replaced invoices may not belong to the same payments account. If `replaced_invoices` is set, `corrected_invoice` will not be set. Invoice resource names have the form: `customers/{customer_id\}/invoices/{invoice_id\}`
         */
        replacedInvoices?: string[] | null;
        /**
         * Output only. The resource name of the invoice. Multiple customers can share a given invoice, so multiple resource names may point to the same invoice. Invoice resource names have the form: `customers/{customer_id\}/invoices/{invoice_id\}`
         */
        resourceName?: string | null;
        /**
         * Output only. The service period date range of this invoice. The end date is inclusive.
         */
        serviceDateRange?: Schema$GoogleAdsSearchads360V23Common__DateRange;
        /**
         * Output only. The pretax subtotal amount, in micros. This is equal to the sum of the AccountBudgetSummary subtotal amounts and Invoice.adjustments_subtotal_amount_micros.
         */
        subtotalAmountMicros?: string | null;
        /**
         * Output only. The sum of all taxes on the invoice, in micros. This equals the sum of the AccountBudgetSummary tax amounts, plus taxes not associated with a specific account budget.
         */
        taxAmountMicros?: string | null;
        /**
         * Output only. The total amount, in micros. This equals the sum of Invoice.subtotal_amount_micros, Invoice.tax_amount_micros, Invoice.regulatory_costs_subtotal_amount_micros, and Invoice.export_charge_subtotal_amount_micros (which is separated into a separate line item starting with V14.1).
         */
        totalAmountMicros?: string | null;
        /**
         * Output only. The type of invoice.
         */
        type?: string | null;
    }
    /**
     * A Keyword Planner plan. Max number of saved keyword plans: 10000. It's possible to remove plans if limit is reached.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources__KeywordPlan {
        /**
         * The date period used for forecasting the plan.
         */
        forecastPeriod?: Schema$GoogleAdsSearchads360V23Resources__KeywordPlanForecastPeriod;
        /**
         * Output only. The ID of the keyword plan.
         */
        id?: string | null;
        /**
         * The name of the keyword plan. This field is required and should not be empty when creating new keyword plans.
         */
        name?: string | null;
        /**
         * Immutable. The resource name of the Keyword Planner plan. KeywordPlan resource names have the form: `customers/{customer_id\}/keywordPlans/{kp_plan_id\}`
         */
        resourceName?: string | null;
    }
    /**
     * A Keyword Planner ad group. Max number of keyword plan ad groups per plan: 200.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources__KeywordPlanAdGroup {
        /**
         * A default ad group max cpc bid in micros in account currency for all biddable keywords under the keyword plan ad group. If not set, will inherit from parent campaign.
         */
        cpcBidMicros?: string | null;
        /**
         * Output only. The ID of the keyword plan ad group.
         */
        id?: string | null;
        /**
         * The keyword plan campaign to which this ad group belongs.
         */
        keywordPlanCampaign?: string | null;
        /**
         * The name of the keyword plan ad group. This field is required and should not be empty when creating keyword plan ad group.
         */
        name?: string | null;
        /**
         * Immutable. The resource name of the Keyword Planner ad group. KeywordPlanAdGroup resource names have the form: `customers/{customer_id\}/keywordPlanAdGroups/{kp_ad_group_id\}`
         */
        resourceName?: string | null;
    }
    /**
     * A Keyword Plan ad group keyword. Max number of keyword plan keywords per plan: 10000.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources__KeywordPlanAdGroupKeyword {
        /**
         * A keyword level max cpc bid in micros (for example, $1 = 1mm). The currency is the same as the account currency code. This will override any CPC bid set at the keyword plan ad group level. Not applicable for negative keywords. (negative = true) This field is Optional.
         */
        cpcBidMicros?: string | null;
        /**
         * Output only. The ID of the Keyword Plan keyword.
         */
        id?: string | null;
        /**
         * The Keyword Plan ad group to which this keyword belongs.
         */
        keywordPlanAdGroup?: string | null;
        /**
         * The keyword match type.
         */
        matchType?: string | null;
        /**
         * Immutable. If true, the keyword is negative.
         */
        negative?: boolean | null;
        /**
         * Immutable. The resource name of the Keyword Plan ad group keyword. KeywordPlanAdGroupKeyword resource names have the form: `customers/{customer_id\}/keywordPlanAdGroupKeywords/{kp_ad_group_keyword_id\}`
         */
        resourceName?: string | null;
        /**
         * The keyword text.
         */
        text?: string | null;
    }
    /**
     * A Keyword Plan campaign. Max number of keyword plan campaigns per plan allowed: 1.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources__KeywordPlanCampaign {
        /**
         * A default max cpc bid in micros, and in the account currency, for all ad groups under the campaign. This field is required and should not be empty when creating Keyword Plan campaigns.
         */
        cpcBidMicros?: string | null;
        /**
         * The geo targets. Max number allowed: 20.
         */
        geoTargets?: Schema$GoogleAdsSearchads360V23Resources__KeywordPlanGeoTarget[];
        /**
         * Output only. The ID of the Keyword Plan campaign.
         */
        id?: string | null;
        /**
         * The keyword plan this campaign belongs to.
         */
        keywordPlan?: string | null;
        /**
         * Targeting network. This field is required and should not be empty when creating Keyword Plan campaigns.
         */
        keywordPlanNetwork?: string | null;
        /**
         * The languages targeted for the Keyword Plan campaign. Max allowed: 1.
         */
        languageConstants?: string[] | null;
        /**
         * The name of the Keyword Plan campaign. This field is required and should not be empty when creating Keyword Plan campaigns.
         */
        name?: string | null;
        /**
         * Immutable. The resource name of the Keyword Plan campaign. KeywordPlanCampaign resource names have the form: `customers/{customer_id\}/keywordPlanCampaigns/{kp_campaign_id\}`
         */
        resourceName?: string | null;
    }
    /**
     * A Keyword Plan Campaign keyword. Only negative keywords are supported for Campaign Keyword.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources__KeywordPlanCampaignKeyword {
        /**
         * Output only. The ID of the Keyword Plan negative keyword.
         */
        id?: string | null;
        /**
         * The Keyword Plan campaign to which this negative keyword belongs.
         */
        keywordPlanCampaign?: string | null;
        /**
         * The keyword match type.
         */
        matchType?: string | null;
        /**
         * Immutable. If true, the keyword is negative. Must be set to true. Only negative campaign keywords are supported.
         */
        negative?: boolean | null;
        /**
         * Immutable. The resource name of the Keyword Plan Campaign keyword. KeywordPlanCampaignKeyword resource names have the form: `customers/{customer_id\}/keywordPlanCampaignKeywords/{kp_campaign_keyword_id\}`
         */
        resourceName?: string | null;
        /**
         * The keyword text.
         */
        text?: string | null;
    }
    /**
     * The forecasting period associated with the keyword plan.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources__KeywordPlanForecastPeriod {
        /**
         * A future date range relative to the current date used for forecasting.
         */
        dateInterval?: string | null;
        /**
         * The custom date range used for forecasting. It cannot be greater than a year. The start and end dates must be in the future. Otherwise, an error will be returned when the forecasting action is performed. The start and end dates are inclusive.
         */
        dateRange?: Schema$GoogleAdsSearchads360V23Common__DateRange;
    }
    /**
     * A geo target.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources__KeywordPlanGeoTarget {
        /**
         * Required. The resource name of the geo target.
         */
        geoTargetConstant?: string | null;
    }
    /**
     * A Smart Campaign keyword theme constant.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources__KeywordThemeConstant {
        /**
         * Output only. The ISO-3166 Alpha-2 country code of the constant, eg. "US". To display and query matching purpose, the keyword theme needs to be localized.
         */
        countryCode?: string | null;
        /**
         * Output only. The display name of the keyword theme or sub keyword theme.
         */
        displayName?: string | null;
        /**
         * Output only. The ISO-639-1 language code with 2 letters of the constant, eg. "en". To display and query matching purpose, the keyword theme needs to be localized.
         */
        languageCode?: string | null;
        /**
         * Output only. The resource name of the keyword theme constant. Keyword theme constant resource names have the form: `keywordThemeConstants/{keyword_theme_id\}~{sub_keyword_theme_id\}`
         */
        resourceName?: string | null;
    }
    /**
     * A keyword view.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources__KeywordView {
        /**
         * Output only. The resource name of the keyword view. Keyword view resource names have the form: `customers/{customer_id\}/keywordViews/{ad_group_id\}~{criterion_id\}`
         */
        resourceName?: string | null;
    }
    /**
     * A label.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources__Label {
        /**
         * Output only. ID of the label. Read only.
         */
        id?: string | null;
        /**
         * The name of the label. This field is required and should not be empty when creating a new label. The length of this string should be between 1 and 80, inclusive.
         */
        name?: string | null;
        /**
         * Immutable. Name of the resource. Label resource names have the form: `customers/{owner_customer_id\}/labels/{label_id\}`
         */
        resourceName?: string | null;
        /**
         * Output only. Status of the label. Read only.
         */
        status?: string | null;
        /**
         * A type of label displaying text on a colored background.
         */
        textLabel?: Schema$GoogleAdsSearchads360V23Common__TextLabel;
    }
    /**
     * A landing page view with metrics aggregated at the unexpanded final URL level.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources__LandingPageView {
        /**
         * Output only. The resource name of the landing page view. Landing page view resource names have the form: `customers/{customer_id\}/landingPageViews/{unexpanded_final_url_fingerprint\}`
         */
        resourceName?: string | null;
        /**
         * Output only. The advertiser-specified final URL.
         */
        unexpandedFinalUrl?: string | null;
    }
    /**
     * A language.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources__LanguageConstant {
        /**
         * Output only. The language code, for example, "en_US", "en_AU", "es", "fr", etc.
         */
        code?: string | null;
        /**
         * Output only. The ID of the language constant.
         */
        id?: string | null;
        /**
         * Output only. The full name of the language in English, for example, "English (US)", "Spanish", etc.
         */
        name?: string | null;
        /**
         * Output only. The resource name of the language constant. Language constant resource names have the form: `languageConstants/{criterion_id\}`
         */
        resourceName?: string | null;
        /**
         * Output only. Whether the language is targetable.
         */
        targetable?: boolean | null;
    }
    /**
     * Data from lead form submissions.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources__LeadFormSubmissionData {
        /**
         * Output only. AdGroup associated with the submitted lead form.
         */
        adGroup?: string | null;
        /**
         * Output only. AdGroupAd associated with the submitted lead form.
         */
        adGroupAd?: string | null;
        /**
         * Output only. Asset associated with the submitted lead form.
         */
        asset?: string | null;
        /**
         * Output only. Campaign associated with the submitted lead form.
         */
        campaign?: string | null;
        /**
         * Output only. Submission data associated with a custom lead form.
         */
        customLeadFormSubmissionFields?: Schema$GoogleAdsSearchads360V23Resources__CustomLeadFormSubmissionField[];
        /**
         * Output only. Google Click Id associated with the submissed lead form.
         */
        gclid?: string | null;
        /**
         * Output only. ID of this lead form submission.
         */
        id?: string | null;
        /**
         * Output only. Submission data associated with a lead form.
         */
        leadFormSubmissionFields?: Schema$GoogleAdsSearchads360V23Resources__LeadFormSubmissionField[];
        /**
         * Output only. The resource name of the lead form submission data. Lead form submission data resource names have the form: `customers/{customer_id\}/leadFormSubmissionData/{lead_form_submission_data_id\}`
         */
        resourceName?: string | null;
        /**
         * Output only. The date and time at which the lead form was submitted. The format is "yyyy-mm-dd hh:mm:ss+|-hh:mm", for example, "2019-01-01 12:32:45-08:00".
         */
        submissionDateTime?: string | null;
    }
    /**
     * Fields in the submitted lead form.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources__LeadFormSubmissionField {
        /**
         * Output only. Field type for lead form fields.
         */
        fieldType?: string | null;
        /**
         * Output only. Field value for lead form fields.
         */
        fieldValue?: string | null;
    }
    /**
     * specific to a local services license.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources__LicenseVerificationArtifact {
        /**
         * Output only. The timestamp when this license expires. The format is "YYYY-MM-DD HH:MM:SS" in the Google Ads account's timezone. Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
         */
        expirationDateTime?: string | null;
        /**
         * Output only. The readonly field containing the information for an uploaded license document.
         */
        licenseDocumentReadonly?: Schema$GoogleAdsSearchads360V23Common__LocalServicesDocumentReadOnly;
        /**
         * Output only. First name of the licensee.
         */
        licenseeFirstName?: string | null;
        /**
         * Output only. Last name of the licensee.
         */
        licenseeLastName?: string | null;
        /**
         * Output only. License number.
         */
        licenseNumber?: string | null;
        /**
         * Output only. License type / name.
         */
        licenseType?: string | null;
        /**
         * Output only. License rejection reason.
         */
        rejectionReason?: string | null;
    }
    /**
     * A life event: a particular interest-based vertical to be targeted to reach users when they are in the midst of important life milestones.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources__LifeEvent {
        /**
         * Output only. Availability information of the life event.
         */
        availabilities?: Schema$GoogleAdsSearchads360V23Common__CriterionCategoryAvailability[];
        /**
         * Output only. The ID of the life event.
         */
        id?: string | null;
        /**
         * Output only. True if the life event is launched to all channels and locales.
         */
        launchedToAll?: boolean | null;
        /**
         * Output only. The name of the life event, for example,"Recently Moved"
         */
        name?: string | null;
        /**
         * Output only. The parent of the life_event.
         */
        parent?: string | null;
        /**
         * Output only. The resource name of the life event. Life event resource names have the form: `customers/{customer_id\}/lifeEvents/{life_event_id\}`
         */
        resourceName?: string | null;
    }
    /**
     * Listing dimensions for the asset group listing group filter.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources__ListingGroupFilterDimension {
        /**
         * Brand of a product offer.
         */
        productBrand?: Schema$GoogleAdsSearchads360V23Resources_ListingGroupFilterDimension_ProductBrand;
        /**
         * Category of a product offer.
         */
        productCategory?: Schema$GoogleAdsSearchads360V23Resources_ListingGroupFilterDimension_ProductCategory;
        /**
         * Locality of a product offer.
         */
        productChannel?: Schema$GoogleAdsSearchads360V23Resources_ListingGroupFilterDimension_ProductChannel;
        /**
         * Condition of a product offer.
         */
        productCondition?: Schema$GoogleAdsSearchads360V23Resources_ListingGroupFilterDimension_ProductCondition;
        /**
         * Custom attribute of a product offer.
         */
        productCustomAttribute?: Schema$GoogleAdsSearchads360V23Resources_ListingGroupFilterDimension_ProductCustomAttribute;
        /**
         * Item id of a product offer.
         */
        productItemId?: Schema$GoogleAdsSearchads360V23Resources_ListingGroupFilterDimension_ProductItemId;
        /**
         * Type of a product offer.
         */
        productType?: Schema$GoogleAdsSearchads360V23Resources_ListingGroupFilterDimension_ProductType;
        /**
         * Filters for URLs in a page feed and URLs from the advertiser web domain.
         */
        webpage?: Schema$GoogleAdsSearchads360V23Resources_ListingGroupFilterDimension_Webpage;
    }
    /**
     * The path defining of dimensions defining a listing group filter.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources__ListingGroupFilterDimensionPath {
        /**
         * Output only. The complete path of dimensions through the listing group filter hierarchy (excluding the root node) to this listing group filter.
         */
        dimensions?: Schema$GoogleAdsSearchads360V23Resources__ListingGroupFilterDimension[];
    }
    /**
     * A local services employee resource.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources__LocalServicesEmployee {
        /**
         * Output only. Category of the employee. A list of Local Services category IDs can be found at https://developers.google.com/google-ads/api/data/codes-formats#local_services_ids.
         */
        categoryIds?: string[] | null;
        /**
         * Output only. Timestamp of employee creation. The format is "YYYY-MM-DD HH:MM:SS" in the Google Ads account's timezone. Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
         */
        creationDateTime?: string | null;
        /**
         * Output only. Email address of the employee.
         */
        emailAddress?: string | null;
        /**
         * Output only. The institutions where the employee has completed their fellowship.
         */
        fellowships?: Schema$GoogleAdsSearchads360V23Resources__Fellowship[];
        /**
         * Output only. First name of the employee.
         */
        firstName?: string | null;
        /**
         * Output only. The ID of the employee.
         */
        id?: string | null;
        /**
         * Output only. Job title for this employee, such as "Senior partner" in legal verticals.
         */
        jobTitle?: string | null;
        /**
         * Output only. Languages that the employee speaks, represented as language tags from https://developers.google.com/admin-sdk/directory/v1/languages
         */
        languagesSpoken?: string[] | null;
        /**
         * Output only. Last name of the employee.
         */
        lastName?: string | null;
        /**
         * Output only. Middle name of the employee.
         */
        middleName?: string | null;
        /**
         * Output only. NPI id associated with the employee.
         */
        nationalProviderIdNumber?: string | null;
        /**
         * Output only. The institutions where the employee has completed their residency.
         */
        residencies?: Schema$GoogleAdsSearchads360V23Resources__Residency[];
        /**
         * Immutable. The resource name of the Local Services Verification. Local Services Verification resource names have the form: `customers/{customer_id\}/localServicesEmployees/{gls_employee_id\}`
         */
        resourceName?: string | null;
        /**
         * Output only. Employee status, such as DELETED or ENABLED.
         */
        status?: string | null;
        /**
         * Output only. Employee type.
         */
        type?: string | null;
        /**
         * Output only. A list of degrees this employee has obtained, and wants to feature.
         */
        universityDegrees?: Schema$GoogleAdsSearchads360V23Resources__UniversityDegree[];
        /**
         * Output only. The year that this employee started practicing in this field.
         */
        yearStartedPracticing?: number | null;
    }
    /**
     * Data from Local Services Lead. Contains details of Lead which is generated when user calls, messages or books service from advertiser. More info: https://ads.google.com/local-services-ads
     */
    export interface Schema$GoogleAdsSearchads360V23Resources__LocalServicesLead {
        /**
         * Output only. Service category of the lead. For example: `xcat:service_area_business_hvac`, `xcat:service_area_business_real_estate_agent`, etc. For more details see: https://developers.google.com/google-ads/api/data/codes-formats#local_services_ids
         */
        categoryId?: string | null;
        /**
         * Output only. Lead's contact details.
         */
        contactDetails?: Schema$GoogleAdsSearchads360V23Resources__ContactDetails;
        /**
         * Output only. The date time at which lead was created by Local Services Ads. The format is "YYYY-MM-DD HH:MM:SS" in the Google Ads account's timezone. Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
         */
        creationDateTime?: string | null;
        /**
         * Output only. Credit details of the lead.
         */
        creditDetails?: Schema$GoogleAdsSearchads360V23Resources__CreditDetails;
        /**
         * Output only. ID of this Lead.
         */
        id?: string | null;
        /**
         * Output only. True if the advertiser was charged for the lead.
         */
        leadCharged?: boolean | null;
        /**
         * Output only. True if the advertiser submitted feedback for the lead.
         */
        leadFeedbackSubmitted?: boolean | null;
        /**
         * Output only. Current status of lead.
         */
        leadStatus?: string | null;
        /**
         * Output only. Type of Local Services lead: phone, message, booking, etc.
         */
        leadType?: string | null;
        /**
         * Output only. Language used by the Local Services provider linked to lead. See https://developers.google.com/google-ads/api/data/codes-formats#locales
         */
        locale?: string | null;
        /**
         * Output only. Note added by advertiser for the lead.
         */
        note?: Schema$GoogleAdsSearchads360V23Resources__Note;
        /**
         * Immutable. The resource name of the local services lead data. Local Services Lead resource name have the form `customers/{customer_id\}/localServicesLead/{local_services_lead_id\}`
         */
        resourceName?: string | null;
        /**
         * Output only. Service for the category. For example: `buyer_agent`, `seller_agent` for the category of `xcat:service_area_business_real_estate_agent`.
         */
        serviceId?: string | null;
    }
    /**
     * Data from Local Services Lead Conversation. Contains details of Lead Conversation which is generated when user calls, messages or books service from advertiser. These are appended to a Lead. More info: https://ads.google.com/local-services-ads
     */
    export interface Schema$GoogleAdsSearchads360V23Resources__LocalServicesLeadConversation {
        /**
         * Output only. Type of GLS lead conversation, EMAIL, MESSAGE, PHONE_CALL, SMS, etc.
         */
        conversationChannel?: string | null;
        /**
         * Output only. The date time at which lead conversation was created by Local Services Ads. The format is "YYYY-MM-DD HH:MM:SS" in the Google Ads account's timezone. Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
         */
        eventDateTime?: string | null;
        /**
         * Output only. ID of this Lead Conversation.
         */
        id?: string | null;
        /**
         * Output only. Resource name of Lead associated to the Lead Conversation.
         */
        lead?: string | null;
        /**
         * Output only. Details of message conversation in case of EMAIL, MESSAGE or SMS.
         */
        messageDetails?: Schema$GoogleAdsSearchads360V23Resources__MessageDetails;
        /**
         * Output only. Type of participant in the lead conversation, ADVERTISER or CONSUMER.
         */
        participantType?: string | null;
        /**
         * Output only. Details of phone call conversation in case of PHONE_CALL.
         */
        phoneCallDetails?: Schema$GoogleAdsSearchads360V23Resources__PhoneCallDetails;
        /**
         * Output only. The resource name of the local services lead conversation data. Local Services Lead Conversation resource name have the form `customers/{customer_id\}/localServicesLeadConversation/{local_services_lead_conversation_id\}`
         */
        resourceName?: string | null;
    }
    /**
     * Settings for Local Services customer.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources__LocalServicesSettings {
        /**
         * Output only. A read-only list of geo vertical level insurance statuses.
         */
        granularInsuranceStatuses?: Schema$GoogleAdsSearchads360V23Resources__GranularInsuranceStatus[];
        /**
         * Output only. A read-only list of geo vertical level license statuses.
         */
        granularLicenseStatuses?: Schema$GoogleAdsSearchads360V23Resources__GranularLicenseStatus[];
    }
    /**
     * A local services verification resource.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources__LocalServicesVerificationArtifact {
        /**
         * Output only. The type of the verification artifact.
         */
        artifactType?: string | null;
        /**
         * Output only. A background check verification artifact.
         */
        backgroundCheckVerificationArtifact?: Schema$GoogleAdsSearchads360V23Resources__BackgroundCheckVerificationArtifact;
        /**
         * Output only. A business registration check verification artifact.
         */
        businessRegistrationCheckVerificationArtifact?: Schema$GoogleAdsSearchads360V23Resources__BusinessRegistrationCheckVerificationArtifact;
        /**
         * Output only. The timestamp when this verification artifact was created. The format is "YYYY-MM-DD HH:MM:SS" in the Google Ads account's timezone. Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
         */
        creationDateTime?: string | null;
        /**
         * Output only. The ID of the verification artifact.
         */
        id?: string | null;
        /**
         * Output only. An insurance verification artifact.
         */
        insuranceVerificationArtifact?: Schema$GoogleAdsSearchads360V23Resources__InsuranceVerificationArtifact;
        /**
         * Output only. A license verification artifact.
         */
        licenseVerificationArtifact?: Schema$GoogleAdsSearchads360V23Resources__LicenseVerificationArtifact;
        /**
         * Immutable. The resource name of the Local Services Verification. Local Services Verification resource names have the form: `customers/{customer_id\}/localServicesVerificationArtifacts/{verification_artifact_id\}`
         */
        resourceName?: string | null;
        /**
         * Output only. The status of the verification artifact.
         */
        status?: string | null;
    }
    /**
     * A location interest view summarizes the performance of adgroup location interest criteria.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources__LocationInterestView {
        /**
         * Output only. The resource name of the location interest view. Location interest view resource names have the form: `customers/{customer_id\}/locationInterestViews/{campaign_id\}~{ad_group_id\}~{criterion_id\}`
         */
        resourceName?: string | null;
    }
    /**
     * A location view summarizes the performance of campaigns by a Location criterion.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources__LocationView {
        /**
         * Output only. The resource name of the location view. Location view resource names have the form: `customers/{customer_id\}/locationViews/{campaign_id\}~{criterion_id\}`
         */
        resourceName?: string | null;
    }
    /**
     * A view providing performance data for placements explicitly targeted in your ad groups.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources__ManagedPlacementView {
        /**
         * Output only. The resource name of the Managed Placement view. Managed placement view resource names have the form: `customers/{customer_id\}/managedPlacementViews/{ad_group_id\}~{criterion_id\}`
         */
        resourceName?: string | null;
    }
    /**
     * A view that reports metrics for locations where users showed interest, and which matched the advertiser's location interest targeting (defined as geo targets at the AdGroup level). The data is aggregated at the country level by default. This view is currently only available for AI Max campaigns.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources__MatchedLocationInterestView {
        /**
         * Output only. The resource name of the matched location interest view. Matched location interest view resource names have the form: `customers/{customer_id\}/matchedLocationInterestViews/{country_criterion_id\}`
         */
        resourceName?: string | null;
    }
    /**
     * Encapsulates an Audio.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources__MediaAudio {
        /**
         * Output only. The duration of the Audio in milliseconds.
         */
        adDurationMillis?: string | null;
    }
    /**
     * Represents a ZIP archive media the content of which contains HTML5 assets.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources__MediaBundle {
        /**
         * Immutable. Raw zipped data.
         */
        data?: string | null;
        /**
         * Output only. The url to access the uploaded zipped data. For example, https://tpc.googlesyndication.com/simgad/123 This field is read-only.
         */
        url?: string | null;
    }
    /**
     * A media file.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources__MediaFile {
        /**
         * Output only. Encapsulates an Audio.
         */
        audio?: Schema$GoogleAdsSearchads360V23Resources__MediaAudio;
        /**
         * Output only. The size of the media file in bytes.
         */
        fileSize?: string | null;
        /**
         * Output only. The ID of the media file.
         */
        id?: string | null;
        /**
         * Immutable. Encapsulates an Image.
         */
        image?: Schema$GoogleAdsSearchads360V23Resources__MediaImage;
        /**
         * Immutable. A ZIP archive media the content of which contains HTML5 assets.
         */
        mediaBundle?: Schema$GoogleAdsSearchads360V23Resources__MediaBundle;
        /**
         * Output only. The mime type of the media file.
         */
        mimeType?: string | null;
        /**
         * Immutable. The name of the media file. The name can be used by clients to help identify previously uploaded media.
         */
        name?: string | null;
        /**
         * Immutable. The resource name of the media file. Media file resource names have the form: `customers/{customer_id\}/mediaFiles/{media_file_id\}`
         */
        resourceName?: string | null;
        /**
         * Immutable. The URL of where the original media file was downloaded from (or a file name). Only used for media of type AUDIO and IMAGE.
         */
        sourceUrl?: string | null;
        /**
         * Immutable. Type of the media file.
         */
        type?: string | null;
        /**
         * Immutable. Encapsulates a Video.
         */
        video?: Schema$GoogleAdsSearchads360V23Resources__MediaVideo;
    }
    /**
     * Encapsulates an Image.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources__MediaImage {
        /**
         * Immutable. Raw image data.
         */
        data?: string | null;
        /**
         * Output only. The url to the full size version of the image.
         */
        fullSizeImageUrl?: string | null;
        /**
         * Output only. The url to the preview size version of the image.
         */
        previewSizeImageUrl?: string | null;
    }
    /**
     * Encapsulates a Video.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources__MediaVideo {
        /**
         * Output only. The duration of the Video in milliseconds.
         */
        adDurationMillis?: string | null;
        /**
         * Output only. The Advertising Digital Identification code for this video, as defined by the American Association of Advertising Agencies, used mainly for television commercials.
         */
        advertisingIdCode?: string | null;
        /**
         * Output only. The Industry Standard Commercial Identifier code for this video, used mainly for television commercials.
         */
        isciCode?: string | null;
        /**
         * Immutable. The YouTube video ID (as seen in YouTube URLs). Adding prefix "https://www.youtube.com/watch?v=" to this ID will get the YouTube streaming URL for this video.
         */
        youtubeVideoId?: string | null;
    }
    /**
     * The identifier for Google Merchant Center account
     */
    export interface Schema$GoogleAdsSearchads360V23Resources__MerchantCenterIdentifier {
        /**
         * Immutable. The customer ID of the Google Merchant Center account. This field is required and should not be empty when creating a new Merchant Center link. It is unable to be modified after the creation of the link.
         */
        merchantCenterId?: string | null;
    }
    /**
     * The identifier for Merchant Center Account.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources__MerchantCenterLinkInvitationIdentifier {
        /**
         * Output only. The Merchant Center id of the Merchant account. This field is read only
         */
        merchantCenterId?: string | null;
    }
    /**
     * Represents details of text message in case of email, message or SMS.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources__MessageDetails {
        /**
         * Output only. URL to the SMS or email attachments. These URLs can be used to download the contents of the attachment by using the developer token.
         */
        attachmentUrls?: string[] | null;
        /**
         * Output only. Textual content of the message.
         */
        text?: string | null;
    }
    /**
     * A mobile application category constant.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources__MobileAppCategoryConstant {
        /**
         * Output only. The ID of the mobile app category constant.
         */
        id?: number | null;
        /**
         * Output only. Mobile app category name.
         */
        name?: string | null;
        /**
         * Output only. The resource name of the mobile app category constant. Mobile app category constant resource names have the form: `mobileAppCategoryConstants/{mobile_app_category_id\}`
         */
        resourceName?: string | null;
    }
    /**
     * A mobile device constant.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources__MobileDeviceConstant {
        /**
         * Output only. The ID of the mobile device constant.
         */
        id?: string | null;
        /**
         * Output only. The manufacturer of the mobile device.
         */
        manufacturerName?: string | null;
        /**
         * Output only. The name of the mobile device.
         */
        name?: string | null;
        /**
         * Output only. The operating system of the mobile device.
         */
        operatingSystemName?: string | null;
        /**
         * Output only. The resource name of the mobile device constant. Mobile device constant resource names have the form: `mobileDeviceConstants/{criterion_id\}`
         */
        resourceName?: string | null;
        /**
         * Output only. The type of mobile device.
         */
        type?: string | null;
    }
    /**
     * Represents a note added to a lead by the advertiser. Advertisers can edit notes, which will reset edit time and change description.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources__Note {
        /**
         * Output only. Content of lead note.
         */
        description?: string | null;
        /**
         * Output only. The date time when lead note was edited. The format is "YYYY-MM-DD HH:MM:SS" in the Google Ads account's timezone. Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
         */
        editDateTime?: string | null;
    }
    /**
     * Alert for offline conversion client summary.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources__OfflineConversionAlert {
        /**
         * Output only. Error for offline conversion client alert.
         */
        error?: Schema$GoogleAdsSearchads360V23Resources__OfflineConversionError;
        /**
         * Output only. Percentage of the error, the range of this field should be [0, 1.0].
         */
        errorPercentage?: number | null;
    }
    /**
     * Possible errors for offline conversion client summary.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources__OfflineConversionError {
        /**
         * Output only. Collection size error.
         */
        collectionSizeError?: string | null;
        /**
         * Output only. Conversion adjustment upload error.
         */
        conversionAdjustmentUploadError?: string | null;
        /**
         * Output only. Conversion upload error.
         */
        conversionUploadError?: string | null;
        /**
         * Output only. Date error.
         */
        dateError?: string | null;
        /**
         * Output only. Distinct error.
         */
        distinctError?: string | null;
        /**
         * Output only. Field error.
         */
        fieldError?: string | null;
        /**
         * Output only. Mutate error.
         */
        mutateError?: string | null;
        /**
         * Output only. Not allowlisted error.
         */
        notAllowlistedError?: string | null;
        /**
         * Output only. String format error.
         */
        stringFormatError?: string | null;
        /**
         * Output only. String length error.
         */
        stringLengthError?: string | null;
    }
    /**
     * Historical upload summary, grouped by upload date or job.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources__OfflineConversionSummary {
        /**
         * Output only. Total count of failed event.
         */
        failedCount?: string | null;
        /**
         * Output only. Dimension key for last N jobs.
         */
        jobId?: string | null;
        /**
         * Output only. Total count of pending uploaded event.
         */
        pendingCount?: string | null;
        /**
         * Output only. Total count of successful event.
         */
        successfulCount?: string | null;
        /**
         * Output only. Dimension key for last N days.
         */
        uploadDate?: string | null;
    }
    /**
     * Offline conversion upload summary at customer level.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources__OfflineConversionUploadClientSummary {
        /**
         * Output only. Details for each error code. Alerts are generated from most recent calendar day with upload stats.
         */
        alerts?: Schema$GoogleAdsSearchads360V23Resources__OfflineConversionAlert[];
        /**
         * Output only. Client type of the upload event.
         */
        client?: string | null;
        /**
         * Output only. Summary of history stats by last N days.
         */
        dailySummaries?: Schema$GoogleAdsSearchads360V23Resources__OfflineConversionSummary[];
        /**
         * Output only. Summary of history stats by last N jobs.
         */
        jobSummaries?: Schema$GoogleAdsSearchads360V23Resources__OfflineConversionSummary[];
        /**
         * Output only. Date for the latest upload batch. The format is "yyyy-mm-dd hh:mm:ss", and it's in the time zone of the Google Ads account.
         */
        lastUploadDateTime?: string | null;
        /**
         * Output only. Total count of pending uploaded events.
         */
        pendingEventCount?: string | null;
        /**
         * Output only. The ratio of total pending events to total events.
         */
        pendingRate?: number | null;
        /**
         * Output only. The resource name of the offline conversion upload summary at customer level. Offline conversion upload client summary resource names have the form: `customers/{customer_id\}/offlineConversionUploadClientSummaries/{client\}`
         */
        resourceName?: string | null;
        /**
         * Output only. Overall status for offline conversion client summary. Status is generated from most recent calendar day with upload stats.
         */
        status?: string | null;
        /**
         * Output only. Total count of successful uploaded events.
         */
        successfulEventCount?: string | null;
        /**
         * Output only. Successful rate.
         */
        successRate?: number | null;
        /**
         * Output only. Total count of uploaded events.
         */
        totalEventCount?: string | null;
    }
    /**
     * Offline conversion upload summary at conversion action level.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources__OfflineConversionUploadConversionActionSummary {
        /**
         * Output only. Details for each error code. Alerts are generated from most recent calendar day with upload stats.
         */
        alerts?: Schema$GoogleAdsSearchads360V23Resources__OfflineConversionAlert[];
        /**
         * Output only. Client type of the upload event.
         */
        client?: string | null;
        /**
         * Output only. Conversion action id.
         */
        conversionActionId?: string | null;
        /**
         * Output only. The name of the conversion action.
         */
        conversionActionName?: string | null;
        /**
         * Output only. Summary of history stats by last N days.
         */
        dailySummaries?: Schema$GoogleAdsSearchads360V23Resources__OfflineConversionSummary[];
        /**
         * Output only. Summary of history stats by last N jobs.
         */
        jobSummaries?: Schema$GoogleAdsSearchads360V23Resources__OfflineConversionSummary[];
        /**
         * Output only. Date for the latest upload batch. The format is "yyyy-mm-dd hh:mm:ss", and it's in the time zone of the Google Ads account.
         */
        lastUploadDateTime?: string | null;
        /**
         * Output only. Total count of pending uploaded events.
         */
        pendingEventCount?: string | null;
        /**
         * Output only. The resource name of the offline conversion upload summary at conversion action level. Offline conversion upload conversion action summary resource names have the form: `customers/{customer_id\}/offlineConversionUploadConversionActionSummaries/{conversion_action_id\}~{client\}`
         */
        resourceName?: string | null;
        /**
         * Output only. Overall status for offline conversion upload conversion action summary. Status is generated from most recent calendar day with upload stats.
         */
        status?: string | null;
        /**
         * Output only. Total count of successful uploaded events.
         */
        successfulEventCount?: string | null;
        /**
         * Output only. Total count of uploaded events.
         */
        totalEventCount?: string | null;
    }
    /**
     * A job containing offline user data of store visitors, or user list members that will be processed asynchronously. The uploaded data isn't readable and the processing results of the job can only be read using
     */
    export interface Schema$GoogleAdsSearchads360V23Resources__OfflineUserDataJob {
        /**
         * Immutable. Metadata for data updates to a CRM-based user list.
         */
        customerMatchUserListMetadata?: Schema$GoogleAdsSearchads360V23Common__CustomerMatchUserListMetadata;
        /**
         * Immutable. User specified job ID.
         */
        externalId?: string | null;
        /**
         * Output only. Reason for the processing failure, if status is FAILED.
         */
        failureReason?: string | null;
        /**
         * Output only. ID of this offline user data job.
         */
        id?: string | null;
        /**
         * Output only. Metadata of offline user data job depicting match rate range.
         */
        operationMetadata?: Schema$GoogleAdsSearchads360V23Resources__OfflineUserDataJobMetadata;
        /**
         * Immutable. The resource name of the offline user data job. Offline user data job resource names have the form: `customers/{customer_id\}/offlineUserDataJobs/{offline_user_data_job_id\}`
         */
        resourceName?: string | null;
        /**
         * Output only. Status of the job.
         */
        status?: string | null;
        /**
         * Immutable. Metadata for store sales data update.
         */
        storeSalesMetadata?: Schema$GoogleAdsSearchads360V23Common__StoreSalesMetadata;
        /**
         * Immutable. Type of the job.
         */
        type?: string | null;
    }
    /**
     * Metadata of offline user data job.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources__OfflineUserDataJobMetadata {
        /**
         * Output only. Match rate of the Customer Match user list upload. Describes the estimated match rate when the status of the job is "RUNNING" and final match rate when the final match rate is available after the status of the job is "SUCCESS/FAILED".
         */
        matchRateRange?: string | null;
    }
    /**
     * A mobile operating system version or a range of versions, depending on `operator_type`. List of available mobile platforms at https://developers.google.com/google-ads/api/reference/data/codes-formats#mobile-platforms
     */
    export interface Schema$GoogleAdsSearchads360V23Resources__OperatingSystemVersionConstant {
        /**
         * Output only. The ID of the operating system version.
         */
        id?: string | null;
        /**
         * Output only. Name of the operating system.
         */
        name?: string | null;
        /**
         * Output only. Determines whether this constant represents a single version or a range of versions.
         */
        operatorType?: string | null;
        /**
         * Output only. The OS Major Version number.
         */
        osMajorVersion?: number | null;
        /**
         * Output only. The OS Minor Version number.
         */
        osMinorVersion?: number | null;
        /**
         * Output only. The resource name of the operating system version constant. Operating system version constant resource names have the form: `operatingSystemVersionConstants/{criterion_id\}`
         */
        resourceName?: string | null;
    }
    /**
     * A paid organic search term view providing a view of search stats across ads and organic listings aggregated by search term at the ad group level.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources__PaidOrganicSearchTermView {
        /**
         * Output only. The resource name of the search term view. Search term view resource names have the form: `customers/{customer_id\}/paidOrganicSearchTermViews/{campaign_id\}~ {ad_group_id\}~{URL-base64 search term\}`
         */
        resourceName?: string | null;
        /**
         * Output only. The search term.
         */
        searchTerm?: string | null;
    }
    /**
     * A parental status view.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources__ParentalStatusView {
        /**
         * Output only. The resource name of the parental status view. Parental Status view resource names have the form: `customers/{customer_id\}/parentalStatusViews/{ad_group_id\}~{criterion_id\}`
         */
        resourceName?: string | null;
    }
    /**
     * A payments account, which can be used to set up billing for an Ads customer.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources__PaymentsAccount {
        /**
         * Output only. The currency code of the payments account. A subset of the currency codes derived from the ISO 4217 standard is supported.
         */
        currencyCode?: string | null;
        /**
         * Output only. The name of the payments account.
         */
        name?: string | null;
        /**
         * Output only. Paying manager of this payment account.
         */
        payingManagerCustomer?: string | null;
        /**
         * Output only. A 16 digit ID used to identify a payments account.
         */
        paymentsAccountId?: string | null;
        /**
         * Output only. A 12 digit ID used to identify the payments profile associated with the payments account.
         */
        paymentsProfileId?: string | null;
        /**
         * Output only. The resource name of the payments account. PaymentsAccount resource names have the form: `customers/{customer_id\}/paymentsAccounts/{payments_account_id\}`
         */
        resourceName?: string | null;
        /**
         * Output only. A secondary payments profile ID present in uncommon situations, for example, when a sequential liability agreement has been arranged.
         */
        secondaryPaymentsProfileId?: string | null;
    }
    /**
     * A view with impression metrics for Performance Max campaign placements.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources__PerformanceMaxPlacementView {
        /**
         * Output only. The name displayed to represent the placement, such as the URL name for websites, YouTube video name for YouTube videos, and translated mobile app name for mobile apps.
         */
        displayName?: string | null;
        /**
         * Output only. The default placement string, such as the website URL, mobile application ID, or a YouTube video ID.
         */
        placement?: string | null;
        /**
         * Output only. Type of the placement. Possible values for Performance Max placements are WEBSITE, MOBILE_APPLICATION, or YOUTUBE_VIDEO.
         */
        placementType?: string | null;
        /**
         * Output only. The resource name of the Performance Max placement view. Performance Max placement view resource names have the form: `customers/{customer_id\}/performanceMaxPlacementViews/{base_64_placement\}`
         */
        resourceName?: string | null;
        /**
         * Output only. URL of the placement, for example, website, link to the mobile application in app store, or a YouTube video URL.
         */
        targetUrl?: string | null;
    }
    /**
     * A per store view. This view provides per store impression reach and local action conversion stats for advertisers.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources__PerStoreView {
        /**
         * Output only. First line of the store's address.
         */
        address1?: string | null;
        /**
         * Output only. Second line of the store's address.
         */
        address2?: string | null;
        /**
         * Output only. The name of the business.
         */
        businessName?: string | null;
        /**
         * Output only. The city where the store is located.
         */
        city?: string | null;
        /**
         * Output only. The two-letter country code for the store's location (e.g., "US").
         */
        countryCode?: string | null;
        /**
         * Output only. The phone number of the store.
         */
        phoneNumber?: string | null;
        /**
         * Output only. The place ID of the per store view.
         */
        placeId?: string | null;
        /**
         * Output only. The postal code of the store's address.
         */
        postalCode?: string | null;
        /**
         * Output only. The province or state of the store's address.
         */
        province?: string | null;
        /**
         * Output only. The resource name of the per store view. Per Store view resource names have the form: `customers/{customer_id\}/perStoreViews/{place_id\}`
         */
        resourceName?: string | null;
    }
    /**
     * Represents details of a phone call conversation.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources__PhoneCallDetails {
        /**
         * Output only. The duration (in milliseconds) of the phone call (end to end).
         */
        callDurationMillis?: string | null;
        /**
         * Output only. URL to the call recording audio file.
         */
        callRecordingUrl?: string | null;
    }
    /**
     * A Product Category.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources__ProductCategoryConstant {
        /**
         * Output only. The ID of the product category. This ID is equivalent to the google_product_category ID as described in this article: https://support.google.com/merchants/answer/6324436.
         */
        categoryId?: string | null;
        /**
         * Output only. Level of the product category.
         */
        level?: string | null;
        /**
         * Output only. List of all available localizations of the product category.
         */
        localizations?: Schema$GoogleAdsSearchads360V23Resources_ProductCategoryConstant_ProductCategoryLocalization[];
        /**
         * Output only. Resource name of the parent product category.
         */
        productCategoryConstantParent?: string | null;
        /**
         * Output only. The resource name of the product category. Product category resource names have the form: `productCategoryConstants/{level\}~{category_id\}`
         */
        resourceName?: string | null;
        /**
         * Output only. State of the product category.
         */
        state?: string | null;
    }
    /**
     * A product group view.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources__ProductGroupView {
        /**
         * Output only. The resource name of the product group view. Product group view resource names have the form: `customers/{customer_id\}/productGroupViews/{ad_group_id\}~{criterion_id\}`
         */
        resourceName?: string | null;
    }
    /**
     * Represents the data sharing connection between
     */
    export interface Schema$GoogleAdsSearchads360V23Resources__ProductLink {
        /**
         * Output only. Advertising Partner link.
         */
        advertisingPartner?: Schema$GoogleAdsSearchads360V23Resources__AdvertisingPartnerIdentifier;
        /**
         * Immutable. Data partner link.
         */
        dataPartner?: Schema$GoogleAdsSearchads360V23Resources__DataPartnerIdentifier;
        /**
         * Immutable. Google Ads link.
         */
        googleAds?: Schema$GoogleAdsSearchads360V23Resources__GoogleAdsIdentifier;
        /**
         * Immutable. Google Merchant Center link.
         */
        merchantCenter?: Schema$GoogleAdsSearchads360V23Resources__MerchantCenterIdentifier;
        /**
         * Output only. The ID of the link. This field is read only.
         */
        productLinkId?: string | null;
        /**
         * Immutable. Resource name of the product link. ProductLink resource names have the form: ` `
         */
        resourceName?: string | null;
        /**
         * Output only. The type of the linked product.
         */
        type?: string | null;
    }
    /**
     * Represents an invitation for data sharing connection between a Google Ads account and another account.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources__ProductLinkInvitation {
        /**
         * Output only. Advertising Partner link invitation.
         */
        advertisingPartner?: Schema$GoogleAdsSearchads360V23Resources__AdvertisingPartnerLinkInvitationIdentifier;
        /**
         * Output only. Hotel link invitation.
         */
        hotelCenter?: Schema$GoogleAdsSearchads360V23Resources__HotelCenterLinkInvitationIdentifier;
        /**
         * Output only. Merchant Center link invitation.
         */
        merchantCenter?: Schema$GoogleAdsSearchads360V23Resources__MerchantCenterLinkInvitationIdentifier;
        /**
         * Output only. The ID of the product link invitation. This field is read only.
         */
        productLinkInvitationId?: string | null;
        /**
         * Immutable. The resource name of a product link invitation. Product link invitation resource names have the form: `customers/{customer_id\}/productLinkInvitations/{product_link_invitation_id\}`
         */
        resourceName?: string | null;
        /**
         * Output only. The status of the product link invitation. This field is read only.
         */
        status?: string | null;
        /**
         * Output only. The type of the invited account. This field is read only and can be used for filtering invitations with {@code GoogleAdsService.SearchGoogleAdsRequest\}.
         */
        type?: string | null;
    }
    /**
     * Qualifying Questions for Lead Form.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources__QualifyingQuestion {
        /**
         * Output only. The locale of the qualifying question.
         */
        locale?: string | null;
        /**
         * Output only. The id of the qualifying question.
         */
        qualifyingQuestionId?: string | null;
        /**
         * Output only. The resource name of the qualifying question. 'qualifyingQuestions/{qualifyingQuestionId\}'
         */
        resourceName?: string | null;
        /**
         * Output only. The qualifying question.
         */
        text?: string | null;
    }
    /**
     * A recommendation.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources__Recommendation {
        /**
         * Output only. The ad group targeted by this recommendation. This will be set only when the recommendation affects a single ad group. This field will be set for the following recommendation types: KEYWORD, OPTIMIZE_AD_ROTATION, TEXT_AD
         */
        adGroup?: string | null;
        /**
         * Output only. The call asset recommendation.
         */
        callAssetRecommendation?: Schema$GoogleAdsSearchads360V23Resources_Recommendation_CallAssetRecommendation;
        /**
         * Output only. The callout asset recommendation.
         */
        calloutAssetRecommendation?: Schema$GoogleAdsSearchads360V23Resources_Recommendation_CalloutAssetRecommendation;
        /**
         * Output only. The campaign targeted by this recommendation. This field will be set for the following recommendation types: CALL_EXTENSION, CALLOUT_EXTENSION, ENHANCED_CPC_OPT_IN, KEYWORD, KEYWORD_MATCH_TYPE, MAXIMIZE_CLICKS_OPT_IN, MAXIMIZE_CONVERSIONS_OPT_IN, OPTIMIZE_AD_ROTATION, SEARCH_PARTNERS_OPT_IN, SITELINK_EXTENSION, TARGET_CPA_OPT_IN, TARGET_ROAS_OPT_IN, TEXT_AD,
         */
        campaign?: string | null;
        /**
         * Output only. The budget targeted by this recommendation. This will be set only when the recommendation affects a single campaign budget. This field will be set for the following recommendation types: CAMPAIGN_BUDGET, FORECASTING_CAMPAIGN_BUDGET, MOVE_UNUSED_BUDGET
         */
        campaignBudget?: string | null;
        /**
         * Output only. The campaign budget recommendation.
         */
        campaignBudgetRecommendation?: Schema$GoogleAdsSearchads360V23Resources_Recommendation_CampaignBudgetRecommendation;
        /**
         * Output only. The campaigns targeted by this recommendation. This field will be set for the following recommendation types: CAMPAIGN_BUDGET, FORECASTING_CAMPAIGN_BUDGET, MARGINAL_ROI_CAMPAIGN_BUDGET and MOVE_UNUSED_BUDGET
         */
        campaigns?: string[] | null;
        /**
         * Output only. The custom audience opt in recommendation.
         */
        customAudienceOptInRecommendation?: Schema$GoogleAdsSearchads360V23Resources_Recommendation_CustomAudienceOptInRecommendation;
        /**
         * Output only. Whether the recommendation is dismissed or not.
         */
        dismissed?: boolean | null;
        /**
         * Output only. The Display Expansion opt-in recommendation.
         */
        displayExpansionOptInRecommendation?: Schema$GoogleAdsSearchads360V23Resources_Recommendation_DisplayExpansionOptInRecommendation;
        /**
         * Output only. Recommendation to enable dynamic image extensions on the account, allowing Google to find the best images from ad landing pages and complement text ads.
         */
        dynamicImageExtensionOptInRecommendation?: Schema$GoogleAdsSearchads360V23Resources_Recommendation_DynamicImageExtensionOptInRecommendation;
        /**
         * Output only. The Enhanced Cost-Per-Click Opt-In recommendation.
         */
        enhancedCpcOptInRecommendation?: Schema$GoogleAdsSearchads360V23Resources_Recommendation_EnhancedCpcOptInRecommendation;
        /**
         * Output only. The forecasting campaign budget recommendation.
         */
        forecastingCampaignBudgetRecommendation?: Schema$GoogleAdsSearchads360V23Resources_Recommendation_CampaignBudgetRecommendation;
        /**
         * Output only. The forecasting set target CPA recommendation.
         */
        forecastingSetTargetCpaRecommendation?: Schema$GoogleAdsSearchads360V23Resources_Recommendation_ForecastingSetTargetCpaRecommendation;
        /**
         * Output only. The forecasting set target ROAS recommendation.
         */
        forecastingSetTargetRoasRecommendation?: Schema$GoogleAdsSearchads360V23Resources_Recommendation_ForecastingSetTargetRoasRecommendation;
        /**
         * Output only. The impact on account performance as a result of applying the recommendation.
         */
        impact?: Schema$GoogleAdsSearchads360V23Resources_Recommendation_RecommendationImpact;
        /**
         * Output only. The improve Demand Gen ad strength recommendation.
         */
        improveDemandGenAdStrengthRecommendation?: Schema$GoogleAdsSearchads360V23Resources_Recommendation_ImproveDemandGenAdStrengthRecommendation;
        /**
         * Output only. Recommendation to deploy Google Tag on more pages.
         */
        improveGoogleTagCoverageRecommendation?: Schema$GoogleAdsSearchads360V23Resources_Recommendation_ImproveGoogleTagCoverageRecommendation;
        /**
         * Output only. The improve Performance Max ad strength recommendation.
         */
        improvePerformanceMaxAdStrengthRecommendation?: Schema$GoogleAdsSearchads360V23Resources_Recommendation_ImprovePerformanceMaxAdStrengthRecommendation;
        /**
         * Output only. The keyword match type recommendation.
         */
        keywordMatchTypeRecommendation?: Schema$GoogleAdsSearchads360V23Resources_Recommendation_KeywordMatchTypeRecommendation;
        /**
         * Output only. The keyword recommendation.
         */
        keywordRecommendation?: Schema$GoogleAdsSearchads360V23Resources_Recommendation_KeywordRecommendation;
        /**
         * Output only. The lead form asset recommendation.
         */
        leadFormAssetRecommendation?: Schema$GoogleAdsSearchads360V23Resources_Recommendation_LeadFormAssetRecommendation;
        /**
         * Output only. Recommendation to lower Target ROAS.
         */
        lowerTargetRoasRecommendation?: Schema$GoogleAdsSearchads360V23Resources_Recommendation_LowerTargetRoasRecommendation;
        /**
         * Output only. The marginal ROI campaign budget recommendation.
         */
        marginalRoiCampaignBudgetRecommendation?: Schema$GoogleAdsSearchads360V23Resources_Recommendation_CampaignBudgetRecommendation;
        /**
         * Output only. The MaximizeClicks Opt-In recommendation.
         */
        maximizeClicksOptInRecommendation?: Schema$GoogleAdsSearchads360V23Resources_Recommendation_MaximizeClicksOptInRecommendation;
        /**
         * Output only. The MaximizeConversions Opt-In recommendation.
         */
        maximizeConversionsOptInRecommendation?: Schema$GoogleAdsSearchads360V23Resources_Recommendation_MaximizeConversionsOptInRecommendation;
        /**
         * Output only. The Maximize Conversion Value opt-in recommendation.
         */
        maximizeConversionValueOptInRecommendation?: Schema$GoogleAdsSearchads360V23Resources_Recommendation_MaximizeConversionValueOptInRecommendation;
        /**
         * Output only. The Dynamic Search Ads to Performance Max migration recommendation.
         */
        migrateDynamicSearchAdsCampaignToPerformanceMaxRecommendation?: Schema$GoogleAdsSearchads360V23Resources_Recommendation_MigrateDynamicSearchAdsCampaignToPerformanceMaxRecommendation;
        /**
         * Output only. The move unused budget recommendation.
         */
        moveUnusedBudgetRecommendation?: Schema$GoogleAdsSearchads360V23Resources_Recommendation_MoveUnusedBudgetRecommendation;
        /**
         * Output only. The Optimize Ad Rotation recommendation.
         */
        optimizeAdRotationRecommendation?: Schema$GoogleAdsSearchads360V23Resources_Recommendation_OptimizeAdRotationRecommendation;
        /**
         * Output only. Recommendation to turn on Final URL expansion for your Performance Max campaigns.
         */
        performanceMaxFinalUrlOptInRecommendation?: Schema$GoogleAdsSearchads360V23Resources_Recommendation_PerformanceMaxFinalUrlOptInRecommendation;
        /**
         * Output only. The Performance Max Opt In recommendation.
         */
        performanceMaxOptInRecommendation?: Schema$GoogleAdsSearchads360V23Resources_Recommendation_PerformanceMaxOptInRecommendation;
        /**
         * Output only. The raise target CPA bid too low recommendation.
         */
        raiseTargetCpaBidTooLowRecommendation?: Schema$GoogleAdsSearchads360V23Resources_Recommendation_RaiseTargetCpaBidTooLowRecommendation;
        /**
         * Output only. Recommendation to raise Target CPA.
         */
        raiseTargetCpaRecommendation?: Schema$GoogleAdsSearchads360V23Resources_Recommendation_RaiseTargetCpaRecommendation;
        /**
         * Output only. The refresh customer list recommendation.
         */
        refreshCustomerMatchListRecommendation?: Schema$GoogleAdsSearchads360V23Resources_Recommendation_RefreshCustomerMatchListRecommendation;
        /**
         * Immutable. The resource name of the recommendation. `customers/{customer_id\}/recommendations/{recommendation_id\}`
         */
        resourceName?: string | null;
        /**
         * Output only. The responsive search ad asset recommendation.
         */
        responsiveSearchAdAssetRecommendation?: Schema$GoogleAdsSearchads360V23Resources_Recommendation_ResponsiveSearchAdAssetRecommendation;
        /**
         * Output only. The responsive search ad improve ad strength recommendation.
         */
        responsiveSearchAdImproveAdStrengthRecommendation?: Schema$GoogleAdsSearchads360V23Resources_Recommendation_ResponsiveSearchAdImproveAdStrengthRecommendation;
        /**
         * Output only. The add responsive search ad recommendation.
         */
        responsiveSearchAdRecommendation?: Schema$GoogleAdsSearchads360V23Resources_Recommendation_ResponsiveSearchAdRecommendation;
        /**
         * Output only. The Search Partners Opt-In recommendation.
         */
        searchPartnersOptInRecommendation?: Schema$GoogleAdsSearchads360V23Resources_Recommendation_SearchPartnersOptInRecommendation;
        /**
         * Output only. The set target CPA recommendation.
         */
        setTargetCpaRecommendation?: Schema$GoogleAdsSearchads360V23Resources_Recommendation_ForecastingSetTargetCpaRecommendation;
        /**
         * Output only. The set target ROAS recommendation.
         */
        setTargetRoasRecommendation?: Schema$GoogleAdsSearchads360V23Resources_Recommendation_ForecastingSetTargetRoasRecommendation;
        /**
         * Output only. The shopping add age group recommendation.
         */
        shoppingAddAgeGroupRecommendation?: Schema$GoogleAdsSearchads360V23Resources_Recommendation_ShoppingOfferAttributeRecommendation;
        /**
         * Output only. The shopping add color recommendation.
         */
        shoppingAddColorRecommendation?: Schema$GoogleAdsSearchads360V23Resources_Recommendation_ShoppingOfferAttributeRecommendation;
        /**
         * Output only. The shopping add gender recommendation.
         */
        shoppingAddGenderRecommendation?: Schema$GoogleAdsSearchads360V23Resources_Recommendation_ShoppingOfferAttributeRecommendation;
        /**
         * Output only. The shopping add GTIN recommendation.
         */
        shoppingAddGtinRecommendation?: Schema$GoogleAdsSearchads360V23Resources_Recommendation_ShoppingOfferAttributeRecommendation;
        /**
         * Output only. The shopping add more identifiers recommendation.
         */
        shoppingAddMoreIdentifiersRecommendation?: Schema$GoogleAdsSearchads360V23Resources_Recommendation_ShoppingOfferAttributeRecommendation;
        /**
         * Output only. The shopping add products to campaign recommendation.
         */
        shoppingAddProductsToCampaignRecommendation?: Schema$GoogleAdsSearchads360V23Resources_Recommendation_ShoppingAddProductsToCampaignRecommendation;
        /**
         * Output only. The shopping add size recommendation.
         */
        shoppingAddSizeRecommendation?: Schema$GoogleAdsSearchads360V23Resources_Recommendation_ShoppingOfferAttributeRecommendation;
        /**
         * Output only. The shopping fix disapproved products recommendation.
         */
        shoppingFixDisapprovedProductsRecommendation?: Schema$GoogleAdsSearchads360V23Resources_Recommendation_ShoppingFixDisapprovedProductsRecommendation;
        /**
         * Output only. The shopping fix Merchant Center account suspension warning recommendation.
         */
        shoppingFixMerchantCenterAccountSuspensionWarningRecommendation?: Schema$GoogleAdsSearchads360V23Resources_Recommendation_ShoppingMerchantCenterAccountSuspensionRecommendation;
        /**
         * Output only. The shopping fix suspended Merchant Center account recommendation.
         */
        shoppingFixSuspendedMerchantCenterAccountRecommendation?: Schema$GoogleAdsSearchads360V23Resources_Recommendation_ShoppingMerchantCenterAccountSuspensionRecommendation;
        /**
         * Output only. The shopping migrate Regular Shopping Campaign offers to Performance Max recommendation.
         */
        shoppingMigrateRegularShoppingCampaignOffersToPerformanceMaxRecommendation?: Schema$GoogleAdsSearchads360V23Resources_Recommendation_ShoppingMigrateRegularShoppingCampaignOffersToPerformanceMaxRecommendation;
        /**
         * Output only. The shopping target all offers recommendation.
         */
        shoppingTargetAllOffersRecommendation?: Schema$GoogleAdsSearchads360V23Resources_Recommendation_ShoppingTargetAllOffersRecommendation;
        /**
         * Output only. The sitelink asset recommendation.
         */
        sitelinkAssetRecommendation?: Schema$GoogleAdsSearchads360V23Resources_Recommendation_SitelinkAssetRecommendation;
        /**
         * Output only. The TargetCPA opt-in recommendation.
         */
        targetCpaOptInRecommendation?: Schema$GoogleAdsSearchads360V23Resources_Recommendation_TargetCpaOptInRecommendation;
        /**
         * Output only. The Target ROAS opt-in recommendation.
         */
        targetRoasOptInRecommendation?: Schema$GoogleAdsSearchads360V23Resources_Recommendation_TargetRoasOptInRecommendation;
        /**
         * Output only. Add expanded text ad recommendation.
         */
        textAdRecommendation?: Schema$GoogleAdsSearchads360V23Resources_Recommendation_TextAdRecommendation;
        /**
         * Output only. The type of recommendation.
         */
        type?: string | null;
        /**
         * Output only. The upgrade a Local campaign to a Performance Max campaign recommendation.
         */
        upgradeLocalCampaignToPerformanceMaxRecommendation?: Schema$GoogleAdsSearchads360V23Resources_Recommendation_UpgradeLocalCampaignToPerformanceMaxRecommendation;
        /**
         * Output only. The upgrade a Smart Shopping campaign to a Performance Max campaign recommendation.
         */
        upgradeSmartShoppingCampaignToPerformanceMaxRecommendation?: Schema$GoogleAdsSearchads360V23Resources_Recommendation_UpgradeSmartShoppingCampaignToPerformanceMaxRecommendation;
        /**
         * Output only. The use broad match keyword recommendation.
         */
        useBroadMatchKeywordRecommendation?: Schema$GoogleAdsSearchads360V23Resources_Recommendation_UseBroadMatchKeywordRecommendation;
    }
    /**
     * Recommendation Subscription resource
     */
    export interface Schema$GoogleAdsSearchads360V23Resources__RecommendationSubscription {
        /**
         * Output only. Time in seconds when the subscription was first created. The datetime is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss" format.
         */
        createDateTime?: string | null;
        /**
         * Output only. Contains the time in microseconds, when the Recommendation Subscription was last updated. The datetime is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss.ssssss" format.
         */
        modifyDateTime?: string | null;
        /**
         * Immutable. The resource name of the recommendation subscription. `customers/{customer_id\}/recommendationSubscriptions/{recommendation_type\}`
         */
        resourceName?: string | null;
        /**
         * Required. Status of the subscription, either enabled or paused.
         */
        status?: string | null;
        /**
         * Required. Immutable. The type of recommendation subscribed to.
         */
        type?: string | null;
    }
    /**
     * A remarketing action. A snippet of JavaScript code that will collect the product id and the type of page people visited (product page, shopping cart page, purchase page, general site visit) on an advertiser's website.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources__RemarketingAction {
        /**
         * Output only. Id of the remarketing action.
         */
        id?: string | null;
        /**
         * The name of the remarketing action. This field is required and should not be empty when creating new remarketing actions.
         */
        name?: string | null;
        /**
         * Immutable. The resource name of the remarketing action. Remarketing action resource names have the form: `customers/{customer_id\}/remarketingActions/{remarketing_action_id\}`
         */
        resourceName?: string | null;
        /**
         * Output only. The snippets used for tracking remarketing actions.
         */
        tagSnippets?: Schema$GoogleAdsSearchads360V23Common__TagSnippet[];
    }
    /**
     * Remarketing setting for a customer.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources__RemarketingSetting {
        /**
         * Output only. The Google tag.
         */
        googleGlobalSiteTag?: string | null;
    }
    /**
     * Details about the employee's medical residency. Residency is a stage of graduate medical education in which a qualified medical professional practices under the supervision of a senior clinician.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources__Residency {
        /**
         * Output only. Year of completion.
         */
        completionYear?: number | null;
        /**
         * Output only. Name of the institution at which the residency was completed.
         */
        institutionName?: string | null;
    }
    /**
     * A Search Ads 360 campaign.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources__SearchAds360Campaign {
        /**
         * The type of product attribution filtering to apply to this campaign.
         */
        productAttributionFilterType?: string | null;
        /**
         * Immutable. The resource name of the Search Ads 360 campaign. Search Ads 360 campaign resource names have the form: `customers/{customer_id\}/searchAds360Campaigns/{campaign_id\}`
         */
        resourceName?: string | null;
    }
    /**
     * A field or resource (artifact) used by SearchAds360Service.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources__SearchAds360Field {
        /**
         * Output only. The names of all resources that are selectable with the described artifact. Fields from these resources do not segment metrics when included in search queries. This field is only set for artifacts whose category is RESOURCE.
         */
        attributeResources?: string[] | null;
        /**
         * Output only. The category of the artifact.
         */
        category?: string | null;
        /**
         * Output only. This field determines the operators that can be used with the artifact in WHERE clauses.
         */
        dataType?: string | null;
        /**
         * Output only. Values the artifact can assume if it is a field of type ENUM. This field is only set for artifacts of category SEGMENT or ATTRIBUTE.
         */
        enumValues?: string[] | null;
        /**
         * Output only. Whether the artifact can be used in a WHERE clause in search queries.
         */
        filterable?: boolean | null;
        /**
         * Output only. Whether the field artifact is repeated.
         */
        isRepeated?: boolean | null;
        /**
         * Output only. This field lists the names of all metrics that are selectable with the described artifact when it is used in the FROM clause. It is only set for artifacts whose category is RESOURCE.
         */
        metrics?: string[] | null;
        /**
         * Output only. The name of the artifact.
         */
        name?: string | null;
        /**
         * Output only. The resource name of the artifact. Artifact resource names have the form: `SearchAds360Fields/{name\}`
         */
        resourceName?: string | null;
        /**
         * Output only. This field lists the names of all artifacts, whether a segment or another resource, that segment metrics when included in search queries and when the described artifact is used in the FROM clause. It is only set for artifacts whose category is RESOURCE.
         */
        segments?: string[] | null;
        /**
         * Output only. Whether the artifact can be used in a SELECT clause in search queries.
         */
        selectable?: boolean | null;
        /**
         * Output only. The names of all resources, segments, and metrics that are selectable with the described artifact.
         */
        selectableWith?: string[] | null;
        /**
         * Output only. Whether the artifact can be used in a ORDER BY clause in search queries.
         */
        sortable?: boolean | null;
        /**
         * Output only. The URL of proto describing the artifact's data type.
         */
        typeUrl?: string | null;
    }
    /**
     * A search term view with metrics aggregated by search term at the ad group level. This view does not include Performance Max data. If you are looking for Performance Max search term data, use the CampaignSearchTermView instead.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources__SearchTermView {
        /**
         * Output only. The ad group the search term served in.
         */
        adGroup?: string | null;
        /**
         * Output only. The resource name of the search term view. Search term view resource names have the form: `customers/{customer_id\}/searchTermViews/{campaign_id\}~{ad_group_id\}~{URL-base64_search_term\}`
         */
        resourceName?: string | null;
        /**
         * Output only. The search term.
         */
        searchTerm?: string | null;
        /**
         * Output only. Indicates whether the search term is currently one of your targeted or excluded keywords.
         */
        status?: string | null;
    }
    /**
     * A criterion belonging to a shared set.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources__SharedCriterion {
        /**
         * Immutable. Brand.
         */
        brand?: Schema$GoogleAdsSearchads360V23Common__BrandInfo;
        /**
         * Output only. The ID of the criterion. This field is ignored for mutates.
         */
        criterionId?: string | null;
        /**
         * Immutable. Keyword.
         */
        keyword?: Schema$GoogleAdsSearchads360V23Common__KeywordInfo;
        /**
         * Immutable. Mobile App Category.
         */
        mobileAppCategory?: Schema$GoogleAdsSearchads360V23Common__MobileAppCategoryInfo;
        /**
         * Immutable. Mobile application.
         */
        mobileApplication?: Schema$GoogleAdsSearchads360V23Common__MobileApplicationInfo;
        /**
         * Immutable. If true, the criterion is excluded. If false, the criterion is targeted.
         */
        negative?: boolean | null;
        /**
         * Immutable. Placement.
         */
        placement?: Schema$GoogleAdsSearchads360V23Common__PlacementInfo;
        /**
         * Immutable. The resource name of the shared criterion. Shared set resource names have the form: `customers/{customer_id\}/sharedCriteria/{shared_set_id\}~{criterion_id\}`
         */
        resourceName?: string | null;
        /**
         * Immutable. The shared set to which the shared criterion belongs.
         */
        sharedSet?: string | null;
        /**
         * Output only. The type of the criterion.
         */
        type?: string | null;
        /**
         * Immutable. Vertical ads item group rule.
         */
        verticalAdsItemGroupRule?: Schema$GoogleAdsSearchads360V23Common__VerticalAdsItemGroupRuleInfo;
        /**
         * Immutable. Webpage.
         */
        webpage?: Schema$GoogleAdsSearchads360V23Common__WebpageInfo;
        /**
         * Immutable. YouTube Channel.
         */
        youtubeChannel?: Schema$GoogleAdsSearchads360V23Common__YouTubeChannelInfo;
        /**
         * Immutable. YouTube Video.
         */
        youtubeVideo?: Schema$GoogleAdsSearchads360V23Common__YouTubeVideoInfo;
    }
    /**
     * SharedSets are used for sharing criterion exclusions across multiple campaigns.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources__SharedSet {
        /**
         * Output only. The ID of this shared set. Read only.
         */
        id?: string | null;
        /**
         * Output only. The number of shared criteria within this shared set. Read only.
         */
        memberCount?: string | null;
        /**
         * The name of this shared set. Required. Shared Sets must have names that are unique among active shared sets of the same type. The length of this string should be between 1 and 255 UTF-8 bytes, inclusive.
         */
        name?: string | null;
        /**
         * Output only. The number of campaigns associated with this shared set. Read only.
         */
        referenceCount?: string | null;
        /**
         * Immutable. The resource name of the shared set. Shared set resource names have the form: `customers/{customer_id\}/sharedSets/{shared_set_id\}`
         */
        resourceName?: string | null;
        /**
         * Output only. The status of this shared set. Read only.
         */
        status?: string | null;
        /**
         * Immutable. The type of this shared set: each shared set holds only a single kind of resource. Required. Immutable.
         */
        type?: string | null;
        /**
         * Immutable. Shared sets of type VERTICAL_ADS_ITEM_GROUP_RULE_LIST are associated with a particular vertical (e.g. hotels, things to do, flights, etc.). This field is required for shared sets of type VERTICAL_ADS_ITEM_GROUP_RULE_LIST.
         */
        verticalAdsItemVerticalType?: string | null;
    }
    /**
     * Shopping performance view. Provides Shopping campaign and Performance Max campaign statistics aggregated at several product dimension levels. Product dimension values from Merchant Center such as brand, category, custom attributes, product condition, and product type will reflect the state of each dimension as of the date and time when the corresponding event was recorded. The number of impressions and clicks that `shopping_performance_view` returns stats for may be different from campaign reports. `shopping_performance_view` shows impressions and clicks on products appearing in ads, while campaign reports show impressions and clicks on the ads themselves. Depending on the format, an ad can show from zero to several products, so the numbers may not match. In Search Ads 360 UI, you can query impressions and clicks of products appearing in ads by selecting a column from "Product attributes" in the report editor. For example, selecting the "Brand" column is equivalent to selecting `segments.product_brand`.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources__ShoppingPerformanceView {
        /**
         * Output only. The resource name of the Shopping performance view. Shopping performance view resource names have the form: `customers/{customer_id\}/shoppingPerformanceView`
         */
        resourceName?: string | null;
    }
    /**
     * A shopping product from Google Merchant Center that can be advertised by campaigns. The resource returns currently existing products from Google Merchant Center accounts linked with the customer. A campaign includes a product by specifying its merchant id (or, if available, the Multi Client Account id of the merchant) in the `ShoppingSetting`, and can limit the inclusion to products having a specified feed label. Standard Shopping campaigns can also limit the inclusion through a `campaign_criterion.listing_scope`. Queries to this resource specify a scope: * Account: - Filters on campaigns or ad groups are not specified. - All products from the linked Google Merchant Center accounts are returned. - Metrics and some fields (see the per-field documentation) are aggregated across all Shopping and Performance Max campaigns that include a product. * Campaign: - An equality filter on `campaign` is specified. Supported campaign types are Shopping, Performance Max, Demand Gen, Video, App. - Only products that are included by the specified campaign are returned. - Metrics and some fields (see the per-field documentation) are restricted to the specified campaign. - Only the following metrics are supported for Demand Gen, Video, App campaigns: impressions, clicks, ctr. * Ad group: - An equality filter on `ad_group` and `campaign` is specified. Supported campaign types are Shopping, Demand Gen, Video, App. - Only products that are included by the specified campaign are returned. - Metrics and some fields (see the per-field documentation) are restricted to the specified ad group. - Only the following metrics are supported for Demand Gen, Video, App campaigns: impressions, clicks, ctr. Note that segmentation by date segments is not permitted and will return UNSUPPORTED_DATE_SEGMENTATION error. On the other hand, filtering on date segments is allowed.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources__ShoppingProduct {
        /**
         * Output only. An ad group of a campaign that includes the product. This field is selectable only in the ad group scope, which requires an equality filter on `campaign` and `ad_group`.
         */
        adGroup?: string | null;
        /**
         * Output only. The availability of the product as provided by the merchant.
         */
        availability?: string | null;
        /**
         * Output only. The brand of the product as provided by the merchant.
         */
        brand?: string | null;
        /**
         * Output only. A campaign that includes the product. This field is selectable only in the campaign scope, which requires an equality filter on `campaign`.
         */
        campaign?: string | null;
        /**
         * Output only. The category level 1 of the product.
         */
        categoryLevel1?: string | null;
        /**
         * Output only. The category level 2 of the product.
         */
        categoryLevel2?: string | null;
        /**
         * Output only. The category level 3 of the product.
         */
        categoryLevel3?: string | null;
        /**
         * Output only. The category level 4 of the product.
         */
        categoryLevel4?: string | null;
        /**
         * Output only. The category level 5 of the product.
         */
        categoryLevel5?: string | null;
        /**
         * Output only. The product channel describing the locality of the product.
         */
        channel?: string | null;
        /**
         * Output only. The channel exclusivity of the product as provided by the merchant.
         */
        channelExclusivity?: string | null;
        /**
         * Output only. The condition of the product as provided by the merchant.
         */
        condition?: string | null;
        /**
         * Output only. The currency code as provided by the merchant, in ISO 4217 format.
         */
        currencyCode?: string | null;
        /**
         * Output only. The custom attribute 0 of the product as provided by the merchant.
         */
        customAttribute0?: string | null;
        /**
         * Output only. The custom attribute 1 of the product as provided by the merchant.
         */
        customAttribute1?: string | null;
        /**
         * Output only. The custom attribute 2 of the product as provided by the merchant.
         */
        customAttribute2?: string | null;
        /**
         * Output only. The custom attribute 3 of the product as provided by the merchant.
         */
        customAttribute3?: string | null;
        /**
         * Output only. The custom attribute 4 of the product as provided by the merchant.
         */
        customAttribute4?: string | null;
        /**
         * Output only. The effective maximum cost-per-click (effective max. CPC) of the product. This field is available only if the query specifies the campaign or ad group scope, and if the campaign uses manual bidding. The value is the highest bid set for the product in product groups across all enabled ad groups. It represents the most you're willing to pay for a click on the product. This field can take up to 24 hours to update.
         */
        effectiveMaxCpcMicros?: string | null;
        /**
         * Output only. The product feed label as provided by the merchant.
         */
        feedLabel?: string | null;
        /**
         * Output only. The list of issues affecting whether the product can show in ads. The value of this field is restricted to the scope specified in the query, see the documentation of the resource. This field can take up to 24 hours to update. This field is not supported for App campaigns.
         */
        issues?: Schema$GoogleAdsSearchads360V23Resources_ShoppingProduct_ProductIssue[];
        /**
         * Output only. The item id of the product as provided by the merchant.
         */
        itemId?: string | null;
        /**
         * Output only. The language code as provided by the merchant, in BCP 47 format.
         */
        languageCode?: string | null;
        /**
         * Output only. The id of the merchant that owns the product.
         */
        merchantCenterId?: string | null;
        /**
         * Output only. The id of the Multi Client Account of the merchant, if present.
         */
        multiClientAccountId?: string | null;
        /**
         * Output only. The price of the product in micros as provided by the merchant, in the currency specified in `currency_code` (e.g. $2.97 is reported as 2970000).
         */
        priceMicros?: string | null;
        /**
         * Output only. The URI of the product image as provided by the merchant.
         */
        productImageUri?: string | null;
        /**
         * Output only. The product type level 1 as provided by the merchant.
         */
        productTypeLevel1?: string | null;
        /**
         * Output only. The product type level 2 as provided by the merchant.
         */
        productTypeLevel2?: string | null;
        /**
         * Output only. The product type level 3 as provided by the merchant.
         */
        productTypeLevel3?: string | null;
        /**
         * Output only. The product type level 4 as provided by the merchant.
         */
        productTypeLevel4?: string | null;
        /**
         * Output only. The product type level 5 as provided by the merchant.
         */
        productTypeLevel5?: string | null;
        /**
         * Output only. The resource name of the shopping product. Shopping product resource names have the form: `customers/{customer_id\}/shoppingProducts/{merchant_center_id\}~{channel\}~{language_code\}~{feed_label\}~{item_id\}`
         */
        resourceName?: string | null;
        /**
         * Output only. The status that indicates whether the product can show in ads. The value of this field is restricted to the scope specified in the query, see the documentation of the resource. This field can take up to 24 hours to update. This field is not supported for App campaigns.
         */
        status?: string | null;
        /**
         * Output only. Upper-case two-letter ISO 3166-1 code of the regions where the product is intended to be shown in ads.
         */
        targetCountries?: string[] | null;
        /**
         * Output only. The title of the product as provided by the merchant.
         */
        title?: string | null;
    }
    /**
     * A Smart campaign search term view.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources__SmartCampaignSearchTermView {
        /**
         * Output only. The Smart campaign the search term served in.
         */
        campaign?: string | null;
        /**
         * Output only. The resource name of the Smart campaign search term view. Smart campaign search term view resource names have the form: `customers/{customer_id\}/smartCampaignSearchTermViews/{campaign_id\}~{URL-base64_search_term\}`
         */
        resourceName?: string | null;
        /**
         * Output only. The search term.
         */
        searchTerm?: string | null;
    }
    /**
     * Settings for configuring Smart campaigns.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources__SmartCampaignSetting {
        /**
         * Settings for configuring a business profile optimized for ads as this campaign's landing page. This campaign must be linked to a business profile to use this option. For more information on this feature, consult https://support.google.com/google-ads/answer/9827068.
         */
        adOptimizedBusinessProfileSetting?: Schema$GoogleAdsSearchads360V23Resources_SmartCampaignSetting_AdOptimizedBusinessProfileSetting;
        /**
         * The language code to advertise in from the set of [supported language codes] (https://developers.google.com/google-ads/api/reference/data/codes-formats#languages).
         */
        advertisingLanguageCode?: string | null;
        /**
         * The name of the business.
         */
        businessName?: string | null;
        /**
         * The resource name of a Business Profile location. Business Profile location resource names can be fetched through the Business Profile API and adhere to the following format: `locations/{locationId\}`. See the [Business Profile API] (https://developers.google.com/my-business/reference/businessinformation/rest/v1/accounts.locations) for additional details.
         */
        businessProfileLocation?: string | null;
        /**
         * Output only. The campaign to which these settings apply.
         */
        campaign?: string | null;
        /**
         * The user-provided landing page URL for this Campaign.
         */
        finalUrl?: string | null;
        /**
         * Phone number and country code.
         */
        phoneNumber?: Schema$GoogleAdsSearchads360V23Resources_SmartCampaignSetting_PhoneNumber;
        /**
         * Immutable. The resource name of the Smart campaign setting. Smart campaign setting resource names have the form: `customers/{customer_id\}/smartCampaignSettings/{campaign_id\}`
         */
        resourceName?: string | null;
    }
    /**
     * A targeting expansion view with metrics. Returns metrics for automated expansion over manual targeting.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources__TargetingExpansionView {
        /**
         * Output only. The resource name of the targeting expansion view. Targeting expansion view resource names have the form: `customers/{customer_id\}/targetingExpansionViews/{campaign_id\}~{targeting_expansion_type\}`
         */
        resourceName?: string | null;
    }
    /**
     * A data sharing connection, allowing the import of third party app analytics into a Google Ads Customer.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources__ThirdPartyAppAnalyticsLink {
        /**
         * Immutable. The resource name of the third party app analytics link. Third party app analytics link resource names have the form: `customers/{customer_id\}/thirdPartyAppAnalyticsLinks/{account_link_id\}`
         */
        resourceName?: string | null;
        /**
         * Output only. The shareable link ID that should be provided to the third party when setting up app analytics. This is able to be regenerated using regenerate method in the ThirdPartyAppAnalyticsLinkService.
         */
        shareableLinkId?: string | null;
    }
    /**
     * The identifiers of a Third Party App Analytics Link.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources__ThirdPartyAppAnalyticsLinkIdentifier {
        /**
         * Immutable. The ID of the app analytics provider. This field should not be empty when creating a new third party app analytics link. It is unable to be modified after the creation of the link.
         */
        appAnalyticsProviderId?: string | null;
        /**
         * Immutable. A string that uniquely identifies a mobile application from which the data was collected to the Google Ads API. For iOS, the ID string is the 9 digit string that appears at the end of an App Store URL (for example, "422689480" for "Gmail" whose App Store link is https://apps.apple.com/us/app/gmail-email-by-google/id422689480). For Android, the ID string is the application's package name (for example, "com.google.android.gm" for "Gmail" given Google Play link https://play.google.com/store/apps/details?id=com.google.android.gm) This field should not be empty when creating a new third party app analytics link. It is unable to be modified after the creation of the link.
         */
        appId?: string | null;
        /**
         * Immutable. The vendor of the app. This field should not be empty when creating a new third party app analytics link. It is unable to be modified after the creation of the link.
         */
        appVendor?: string | null;
    }
    /**
     * Use topics to target or exclude placements in the Google Display Network based on the category into which the placement falls (for example, "Pets & Animals/Pets/Dogs").
     */
    export interface Schema$GoogleAdsSearchads360V23Resources__TopicConstant {
        /**
         * Output only. The ID of the topic.
         */
        id?: string | null;
        /**
         * Output only. The category to target or exclude. Each subsequent element in the array describes a more specific sub-category. For example, {"Pets & Animals", "Pets", "Dogs"\} represents the "Pets & Animals/Pets/Dogs" category. List of available topic categories at https://developers.google.com/google-ads/api/data/topics
         */
        path?: string[] | null;
        /**
         * Output only. The resource name of the topic constant. topic constant resource names have the form: `topicConstants/{topic_id\}`
         */
        resourceName?: string | null;
        /**
         * Output only. Resource name of parent of the topic constant.
         */
        topicConstantParent?: string | null;
    }
    /**
     * A topic view.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources__TopicView {
        /**
         * Output only. The resource name of the topic view. Topic view resource names have the form: `customers/{customer_id\}/topicViews/{ad_group_id\}~{criterion_id\}`
         */
        resourceName?: string | null;
    }
    /**
     * A travel activity group view.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources__TravelActivityGroupView {
        /**
         * Output only. The resource name of the travel activity group view. Travel Activity Group view resource names have the form: `customers/{customer_id\}/travelActivityGroupViews/{ad_group_id\}~{criterion_id\}`
         */
        resourceName?: string | null;
    }
    /**
     * A travel activity performance view.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources__TravelActivityPerformanceView {
        /**
         * Output only. The resource name of the travel activity performance view. Travel Activity performance view resource names have the form: `customers/{customer_id\}/travelActivityPerformanceView`
         */
        resourceName?: string | null;
    }
    /**
     * A list of degrees this employee has obtained, and wants to feature.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources__UniversityDegree {
        /**
         * Output only. Name of the degree obtained.
         */
        degree?: string | null;
        /**
         * Output only. Year of graduation.
         */
        graduationYear?: number | null;
        /**
         * Output only. Name of the university at which the degree was obtained.
         */
        institutionName?: string | null;
    }
    /**
     * A user interest: a particular interest-based vertical to be targeted.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources__UserInterest {
        /**
         * Output only. Availability information of the user interest.
         */
        availabilities?: Schema$GoogleAdsSearchads360V23Common__CriterionCategoryAvailability[];
        /**
         * Output only. True if the user interest is launched to all channels and locales.
         */
        launchedToAll?: boolean | null;
        /**
         * Output only. The name of the user interest.
         */
        name?: string | null;
        /**
         * Output only. The resource name of the user interest. User interest resource names have the form: `customers/{customer_id\}/userInterests/{user_interest_id\}`
         */
        resourceName?: string | null;
        /**
         * Output only. Taxonomy type of the user interest.
         */
        taxonomyType?: string | null;
        /**
         * Output only. The ID of the user interest.
         */
        userInterestId?: string | null;
        /**
         * Output only. The parent of the user interest.
         */
        userInterestParent?: string | null;
    }
    /**
     * A user list. This is a list of users a customer may target. The unique key of a user list consists of the following fields: `id`. Note that the `name` must also be unique for user lists owned by a given customer, except in some cases where `access_reason` is set to `SHARED`. Violating the unique name constraint produces error: `UserListError.INVALID_NAME`.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources__UserList {
        /**
         * Output only. Indicates the reason this account has been granted access to the list. The reason can be SHARED, OWNED, LICENSED or SUBSCRIBED. This field is read-only.
         */
        accessReason?: string | null;
        /**
         * Indicates if this share is still enabled. When a UserList is shared with the user this field is set to ENABLED. Later the userList owner can decide to revoke the share and make it DISABLED. The default value of this field is set to ENABLED.
         */
        accountUserListStatus?: string | null;
        /**
         * User list targeting as a collection of conversion or remarketing actions.
         */
        basicUserList?: Schema$GoogleAdsSearchads360V23Common__BasicUserListInfo;
        /**
         * Indicating the reason why this user list membership status is closed. It is only populated on lists that were automatically closed due to inactivity, and will be cleared once the list membership status becomes open.
         */
        closingReason?: string | null;
        /**
         * User list of CRM users provided by the advertiser.
         */
        crmBasedUserList?: Schema$GoogleAdsSearchads360V23Common__CrmBasedUserListInfo;
        /**
         * Description of this user list.
         */
        description?: string | null;
        /**
         * Output only. Indicates this user list is eligible for Google Display Network. This field is read-only.
         */
        eligibleForDisplay?: boolean | null;
        /**
         * Indicates if this user list is eligible for Google Search Network.
         */
        eligibleForSearch?: boolean | null;
        /**
         * Output only. Id of the user list.
         */
        id?: string | null;
        /**
         * An ID from external system. It is used by user list sellers to correlate IDs on their systems.
         */
        integrationCode?: string | null;
        /**
         * User list that is a custom combination of user lists.
         */
        logicalUserList?: Schema$GoogleAdsSearchads360V23Common__LogicalUserListInfo;
        /**
         * Immutable. Lookalike User List.
         */
        lookalikeUserList?: Schema$GoogleAdsSearchads360V23Common__LookalikeUserListInfo;
        /**
         * Output only. Indicates match rate for Customer Match lists. The range of this field is [0-100]. This will be null for other list types or when it's not possible to calculate the match rate. This field is read-only.
         */
        matchRatePercentage?: number | null;
        /**
         * Number of days a user's cookie stays on your list since its most recent addition to the list. This field must be between 0 and 540 inclusive. However, for CRM based userlists, this field can be set to 10000 which means no expiration. Beginning on April 7, 2025, using a value of 10000 to indicate no expiration will no longer be supported. This field is ignored for logical_user_list and rule_based_user_list types. Membership to lists of these types depends on the rules defined by the lists.
         */
        membershipLifeSpan?: string | null;
        /**
         * Membership status of this user list. Indicates whether a user list is open or active. Only open user lists can accumulate more users and can be targeted to.
         */
        membershipStatus?: string | null;
        /**
         * Name of this user list. Unique per user list, except in some cases where a user list of the same name has `access_reason` set to `SHARED`.
         */
        name?: string | null;
        /**
         * Output only. An option that indicates if a user may edit a list. Depends on the list ownership and list type. For example, external remarketing user lists are not editable. This field is -only.
         */
        readOnly?: boolean | null;
        /**
         * Immutable. The resource name of the user list. User list resource names have the form: `customers/{customer_id\}/userLists/{user_list_id\}`
         */
        resourceName?: string | null;
        /**
         * User list generated by a rule.
         */
        ruleBasedUserList?: Schema$GoogleAdsSearchads360V23Common__RuleBasedUserListInfo;
        /**
         * Output only. User list which are similar to users from another UserList. These lists are readonly and automatically created by google.
         */
        similarUserList?: Schema$GoogleAdsSearchads360V23Common__SimilarUserListInfo;
        /**
         * Output only. Estimated number of users in this user list, on the Google Display Network. This value is if the number of users has not yet been determined. This field is -only.
         */
        sizeForDisplay?: string | null;
        /**
         * Output only. Estimated number of users in this user list in the google.com domain. These are the users available for targeting in Search campaigns. This value is null if the number of users has not yet been determined. This field is read-only.
         */
        sizeForSearch?: string | null;
        /**
         * Output only. Size range in terms of number of users of the UserList, on the Google Display Network. This field is read-only.
         */
        sizeRangeForDisplay?: string | null;
        /**
         * Output only. Size range in terms of number of users of the UserList, for Search ads. This field is read-only.
         */
        sizeRangeForSearch?: string | null;
        /**
         * Output only. Type of this list. This field is read-only.
         */
        type?: string | null;
    }
    /**
     * A user list customer type
     */
    export interface Schema$GoogleAdsSearchads360V23Resources__UserListCustomerType {
        /**
         * Immutable. The user list customer type category
         */
        customerTypeCategory?: string | null;
        /**
         * Immutable. The resource name of the user list customer type User list customer type resource names have the form: `customers/{customer_id\}/userListCustomerTypes/{user_list_id\}~{customer_type_category\}`
         */
        resourceName?: string | null;
        /**
         * Immutable. The resource name for the user list this user list customer type is associated with
         */
        userList?: string | null;
    }
    /**
     * A user location view. User Location View includes all metrics aggregated at the country level, one row per country. It reports metrics at the actual physical location of the user by targeted or not targeted location. If other segment fields are used, you may get more than one row per country.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources__UserLocationView {
        /**
         * Output only. Criterion Id for the country.
         */
        countryCriterionId?: string | null;
        /**
         * Output only. The resource name of the user location view. UserLocation view resource names have the form: `customers/{customer_id\}/userLocationViews/{country_criterion_id\}~{targeting_location\}`
         */
        resourceName?: string | null;
        /**
         * Output only. Indicates whether location was targeted or not.
         */
        targetingLocation?: boolean | null;
    }
    export interface Schema$GoogleAdsSearchads360V23Resources__Video {
        /**
         * Output only. The owner channel id of the video.
         */
        channelId?: string | null;
        /**
         * Output only. The duration of the video in milliseconds.
         */
        durationMillis?: string | null;
        /**
         * Output only. The ID of the video.
         */
        id?: string | null;
        /**
         * Output only. The resource name of the video. Video resource names have the form: `customers/{customer_id\}/videos/{video_id\}`
         */
        resourceName?: string | null;
        /**
         * Output only. The title of the video.
         */
        title?: string | null;
    }
    /**
     * Video specific information about a Customer.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources__VideoCustomer {
        /**
         * Third Party integration partners.
         */
        thirdPartyIntegrationPartners?: Schema$GoogleAdsSearchads360V23Common__CustomerThirdPartyIntegrationPartners;
    }
    /**
     * A visit.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources__Visit {
        /**
         * Output only. Ad ID. A value of 0 indicates that the ad is unattributed.
         */
        adId?: string | null;
        /**
         * Output only. Asset field type of the visit event.
         */
        assetFieldType?: string | null;
        /**
         * Output only. ID of the asset which was interacted with during the visit event.
         */
        assetId?: string | null;
        /**
         * Output only. A unique string for each visit that is passed to the landing page as the click id URL parameter.
         */
        clickId?: string | null;
        /**
         * Output only. Search Ads 360 keyword ID. A value of 0 indicates that the keyword is unattributed.
         */
        criterionId?: string | null;
        /**
         * Output only. The ID of the visit.
         */
        id?: string | null;
        /**
         * Output only. The Search Ads 360 inventory account ID containing the product that was clicked on. Search Ads 360 generates this ID when you link an inventory account in Search Ads 360.
         */
        merchantId?: string | null;
        /**
         * Output only. The sales channel of the product that was clicked on: Online or Local.
         */
        productChannel?: string | null;
        /**
         * Output only. The country (ISO-3166 format) registered for the inventory feed that contains the product clicked on.
         */
        productCountryCode?: string | null;
        /**
         * Output only. The ID of the product clicked on.
         */
        productId?: string | null;
        /**
         * Output only. The language (ISO-639-1) that has been set for the Merchant Center feed containing data about the product.
         */
        productLanguageCode?: string | null;
        /**
         * Output only. The store in the Local Inventory Ad that was clicked on. This should match the store IDs used in your local products feed.
         */
        productStoreId?: string | null;
        /**
         * Output only. The resource name of the visit. Visit resource names have the form: `customers/{customer_id\}/visits/{ad_group_id\}~{criterion_id\}~{ds_visit_id\}`
         */
        resourceName?: string | null;
        /**
         * Output only. The timestamp of the visit event. The timestamp is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss" format.
         */
        visitDateTime?: string | null;
    }
    /**
     * A webpage view.
     */
    export interface Schema$GoogleAdsSearchads360V23Resources__WebpageView {
        /**
         * Output only. The resource name of the webpage view. Webpage view resource names have the form: `customers/{customer_id\}/webpageViews/{ad_group_id\}~{criterion_id\}`
         */
        resourceName?: string | null;
    }
    /**
     * The identifier for YouTube video
     */
    export interface Schema$GoogleAdsSearchads360V23Resources__YoutubeVideoIdentifier {
        /**
         * Immutable. The ID of the hosting channel of the video. This is a string value with “UC” prefix. For example, "UCK8sQmJBp8GCxrOtXWBpyEA".
         */
        channelId?: string | null;
        /**
         * Immutable. The ID of the video associated with the video link. This is the 11 character string value used in the YouTube video URL. For example, video ID is jV1vkHv4zq8 from the YouTube video URL "https://www.youtube.com/watch?v=jV1vkHv4zq8&t=2s".
         */
        videoId?: string | null;
    }
    /**
     * Common parameters used when applying ad asset recommendations.
     */
    export interface Schema$GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_AdAssetApplyParameters {
        /**
         * The resource names of existing assets to attach to a scope. This may be combined with new_assets in the same call.
         */
        existingAssets?: string[] | null;
        /**
         * The assets to create and attach to a scope. This may be combined with existing_assets in the same call.
         */
        newAssets?: Schema$GoogleAdsSearchads360V23Resources__Asset[];
        /**
         * Required. The scope at which to apply the assets. Assets at the campaign scope level will be applied to the campaign associated with the recommendation. Assets at the customer scope will apply to the entire account. Assets at the campaign scope will override any attached at the customer scope.
         */
        scope?: string | null;
    }
    /**
     * Parameters to use when applying call asset recommendations.
     */
    export interface Schema$GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_CallAssetParameters {
        /**
         * Required. Call assets to be added. This is a required field.
         */
        adAssetApplyParameters?: Schema$GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_AdAssetApplyParameters;
    }
    /**
     * Parameters to use when applying call extension recommendation.
     */
    export interface Schema$GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_CallExtensionParameters {
        /**
         * Call extensions to be added. This is a required field.
         */
        callExtensions?: Schema$GoogleAdsSearchads360V23Common__CallFeedItem[];
    }
    /**
     * Parameters to use when applying callout asset recommendations.
     */
    export interface Schema$GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_CalloutAssetParameters {
        /**
         * Required. Callout assets to be added. This is a required field.
         */
        adAssetApplyParameters?: Schema$GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_AdAssetApplyParameters;
    }
    /**
     * Parameters to use when applying callout extension recommendation.
     */
    export interface Schema$GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_CalloutExtensionParameters {
        /**
         * Callout extensions to be added. This is a required field.
         */
        calloutExtensions?: Schema$GoogleAdsSearchads360V23Common__CalloutFeedItem[];
    }
    /**
     * Parameters to use when applying a campaign budget recommendation.
     */
    export interface Schema$GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_CampaignBudgetParameters {
        /**
         * New budget amount to set for target budget resource. This is a required field.
         */
        newBudgetAmountMicros?: string | null;
    }
    /**
     * Parameters to use when applying a set target CPA recommendation.
     */
    export interface Schema$GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_ForecastingSetTargetCpaParameters {
        /**
         * New campaign budget amount to set for a campaign resource.
         */
        campaignBudgetAmountMicros?: string | null;
        /**
         * Average CPA to use for Target CPA bidding strategy.
         */
        targetCpaMicros?: string | null;
    }
    /**
     * Parameters to use when applying a forecasting set target roas recommendation.
     */
    export interface Schema$GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_ForecastingSetTargetRoasParameters {
        /**
         * New campaign budget amount to set for a campaign resource.
         */
        campaignBudgetAmountMicros?: string | null;
        /**
         * New target ROAS (revenue per unit of spend) to set for a campaign resource. The value is between 0.01 and 1000.0, inclusive.
         */
        targetRoas?: number | null;
    }
    /**
     * Parameters to use when applying keyword recommendation.
     */
    export interface Schema$GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_KeywordParameters {
        /**
         * The ad group resource to add keyword to. This is a required field.
         */
        adGroup?: string | null;
        /**
         * Optional, CPC bid to set for the keyword. If not set, keyword will use bid based on bidding strategy used by target ad group.
         */
        cpcBidMicros?: string | null;
        /**
         * The match type of the keyword. This is a required field.
         */
        matchType?: string | null;
    }
    /**
     * Parameters to use when applying a lead form asset recommendation.
     */
    export interface Schema$GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_LeadFormAssetParameters {
        /**
         * Required. Lead form assets to be added. This is a required field.
         */
        adAssetApplyParameters?: Schema$GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_AdAssetApplyParameters;
        /**
         * If true, the "Submit Lead Form" goal will be set on the target campaign. As a result, ads will be shown as lead form creative ads. If false, the "Submit Lead Form" goal will not be set on the campaign and ads will contain lead form assets.
         */
        setSubmitLeadFormAssetCampaignGoal?: boolean | null;
    }
    /**
     * Parameters to use when applying lower Target ROAS recommendations.
     */
    export interface Schema$GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_LowerTargetRoasParameters {
        /**
         * Required. Target to set ROAS multiplier to. This is a required field.
         */
        targetRoasMultiplier?: number | null;
    }
    /**
     * Parameters to use when applying move unused budget recommendation.
     */
    export interface Schema$GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_MoveUnusedBudgetParameters {
        /**
         * Budget amount to move from excess budget to constrained budget. This is a required field.
         */
        budgetMicrosToMove?: string | null;
    }
    /**
     * Parameters to use when applying a raise target CPA bid too low recommendation. The apply is asynchronous and can take minutes depending on the number of ad groups there is in the related campaign..
     */
    export interface Schema$GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_RaiseTargetCpaBidTooLowParameters {
        /**
         * Required. A number greater than 1.0 indicating the factor by which to increase the target CPA. This is a required field.
         */
        targetMultiplier?: number | null;
    }
    /**
     * Parameters to use when applying raise Target CPA recommendations.
     */
    export interface Schema$GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_RaiseTargetCpaParameters {
        /**
         * Required. Target to set CPA multiplier to. This is a required field.
         */
        targetCpaMultiplier?: number | null;
    }
    /**
     * Parameters to use when applying a responsive search ad asset recommendation.
     */
    export interface Schema$GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_ResponsiveSearchAdAssetParameters {
        /**
         * Updated ad. The current ad's content will be replaced.
         */
        updatedAd?: Schema$GoogleAdsSearchads360V23Resources__Ad;
    }
    /**
     * Parameters to use when applying a responsive search ad improve ad strength recommendation.
     */
    export interface Schema$GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_ResponsiveSearchAdImproveAdStrengthParameters {
        /**
         * Updated ad. The current ad's content will be replaced.
         */
        updatedAd?: Schema$GoogleAdsSearchads360V23Resources__Ad;
    }
    /**
     * Parameters to use when applying a responsive search ad recommendation.
     */
    export interface Schema$GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_ResponsiveSearchAdParameters {
        /**
         * Required. New ad to add to recommended ad group.
         */
        ad?: Schema$GoogleAdsSearchads360V23Resources__Ad;
    }
    /**
     * Parameters to use when applying sitelink asset recommendations.
     */
    export interface Schema$GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_SitelinkAssetParameters {
        /**
         * Required. Sitelink assets to be added. This is a required field.
         */
        adAssetApplyParameters?: Schema$GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_AdAssetApplyParameters;
    }
    /**
     * Parameters to use when applying sitelink recommendation.
     */
    export interface Schema$GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_SitelinkExtensionParameters {
        /**
         * Sitelinks to be added. This is a required field.
         */
        sitelinkExtensions?: Schema$GoogleAdsSearchads360V23Common__SitelinkFeedItem[];
    }
    /**
     * Parameters to use when applying Target CPA recommendation.
     */
    export interface Schema$GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_TargetCpaOptInParameters {
        /**
         * Optional, budget amount to set for the campaign.
         */
        newCampaignBudgetAmountMicros?: string | null;
        /**
         * Average CPA to use for Target CPA bidding strategy. This is a required field.
         */
        targetCpaMicros?: string | null;
    }
    /**
     * Parameters to use when applying a Target ROAS opt-in recommendation.
     */
    export interface Schema$GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_TargetRoasOptInParameters {
        /**
         * Optional, budget amount to set for the campaign.
         */
        newCampaignBudgetAmountMicros?: string | null;
        /**
         * Average ROAS (revenue per unit of spend) to use for Target ROAS bidding strategy. The value is between 0.01 and 1000.0, inclusive. This is a required field, unless new_campaign_budget_amount_micros is set.
         */
        targetRoas?: number | null;
    }
    /**
     * Parameters to use when applying a text ad recommendation.
     */
    export interface Schema$GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_TextAdParameters {
        /**
         * New ad to add to recommended ad group. All necessary fields need to be set in this message. This is a required field.
         */
        ad?: Schema$GoogleAdsSearchads360V23Resources__Ad;
    }
    /**
     * Parameters to use when applying a use broad match keyword recommendation.
     */
    export interface Schema$GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_UseBroadMatchKeywordParameters {
        /**
         * New budget amount to set for target budget resource.
         */
        newBudgetAmountMicros?: string | null;
    }
    /**
     * Supported bidding strategies for new campaign forecasts.
     */
    export interface Schema$GoogleAdsSearchads360V23Services_CampaignToForecast_CampaignBiddingStrategy {
        /**
         * Use manual CPC bidding strategy for forecasting.
         */
        manualCpcBiddingStrategy?: Schema$GoogleAdsSearchads360V23Services__ManualCpcBiddingStrategy;
        /**
         * Use maximize clicks bidding strategy for forecasting.
         */
        maximizeClicksBiddingStrategy?: Schema$GoogleAdsSearchads360V23Services__MaximizeClicksBiddingStrategy;
        /**
         * Use maximize conversions bidding strategy for forecasting.
         */
        maximizeConversionsBiddingStrategy?: Schema$GoogleAdsSearchads360V23Services__MaximizeConversionsBiddingStrategy;
    }
    /**
     * Contains data of the items purchased.
     */
    export interface Schema$GoogleAdsSearchads360V23Services_CartData_Item {
        /**
         * The shopping id of the item. Must be equal to the Merchant Center product identifier.
         */
        productId?: string | null;
        /**
         * Number of items sold.
         */
        quantity?: number | null;
        /**
         * Unit price excluding tax, shipping, and any transaction level discounts. The currency code is the same as that in the `ClickConversion` message.
         */
        unitPrice?: number | null;
    }
    /**
     * Operation to dismiss a single recommendation identified by resource_name.
     */
    export interface Schema$GoogleAdsSearchads360V23Services_DismissRecommendationRequest_DismissRecommendationOperation {
        /**
         * The resource name of the recommendation to dismiss.
         */
        resourceName?: string | null;
    }
    /**
     * The result of dismissing a recommendation.
     */
    export interface Schema$GoogleAdsSearchads360V23Services_DismissRecommendationResponse_DismissRecommendationResult {
        /**
         * Returned for successful dismissals.
         */
        resourceName?: string | null;
    }
    /**
     * Current AdGroup Information of the campaign.
     */
    export interface Schema$GoogleAdsSearchads360V23Services_GenerateRecommendationsRequest_AdGroupInfo {
        /**
         * Optional. AdGroup Type of the AdGroup. This field is necessary for the following recommendation_types if ad_group_info is set: KEYWORD
         */
        adGroupType?: string | null;
        /**
         * Optional. Current keywords. This field is optional for the following recommendation_types if ad_group_info is set: KEYWORD
         */
        keywords?: Schema$GoogleAdsSearchads360V23Common__KeywordInfo[];
    }
    /**
     * Current AssetGroup information of the campaign.
     */
    export interface Schema$GoogleAdsSearchads360V23Services_GenerateRecommendationsRequest_AssetGroupInfo {
        /**
         * Optional. Current descriptions of the asset group. This field is optional for the following recommendation_types if asset_group_info is set: CAMPAIGN_BUDGET
         */
        description?: string[] | null;
        /**
         * Required. Current url of the asset group. This field is necessary for the following recommendation_types if asset_group_info is set: CAMPAIGN_BUDGET
         */
        finalUrl?: string | null;
        /**
         * Optional. Current headlines of the asset group. This field is optional for the following recommendation_types if asset_group_info is set: CAMPAIGN_BUDGET
         */
        headline?: string[] | null;
    }
    /**
     * Current bidding information of the campaign. Provides a wrapper for bidding-related signals that inform recommendations.
     */
    export interface Schema$GoogleAdsSearchads360V23Services_GenerateRecommendationsRequest_BiddingInfo {
        /**
         * Current bidding strategy. This field is necessary for the following recommendation_types: MAXIMIZE_CLICKS_OPT_IN, MAXIMIZE_CONVERSIONS_OPT_IN, MAXIMIZE_CONVERSION_VALUE_OPT_IN, SET_TARGET_CPA, SET_TARGET_ROAS, TARGET_CPA_OPT_IN, TARGET_ROAS_OPT_IN
         */
        biddingStrategyType?: string | null;
        /**
         * Current target_cpa in micros. This can be populated for campaigns with a bidding strategy type of TARGET_CPA or MAXIMIZE_CONVERSIONS.
         */
        targetCpaMicros?: string | null;
        /**
         * Optional. Current Target Impression Share information of the campaign. This field is necessary for the following recommendation_types: CAMPAIGN_BUDGET
         */
        targetImpressionShareInfo?: Schema$GoogleAdsSearchads360V23Services_GenerateRecommendationsRequest_TargetImpressionShareInfo;
        /**
         * Current target_roas. This can be populated for campaigns with a bidding strategy type of TARGET_ROAS or MAXIMIZE_CONVERSION_VALUE.
         */
        targetRoas?: number | null;
    }
    /**
     * Current budget information of the campaign.
     */
    export interface Schema$GoogleAdsSearchads360V23Services_GenerateRecommendationsRequest_BudgetInfo {
        /**
         * Required. Current budget amount in micros. This field is necessary for the following recommendation_types if budget_info is set: CAMPAIGN_BUDGET
         */
        currentBudget?: string | null;
    }
    /**
     * A keyword seed and a specific url to generate keywords from.
     */
    export interface Schema$GoogleAdsSearchads360V23Services_GenerateRecommendationsRequest_SeedInfo {
        /**
         * Optional. Keywords or phrases to generate ideas from, for example: cars or "car dealership near me".
         */
        keywordSeeds?: string[] | null;
        /**
         * A specific url to generate ideas from, for example: www.example.com/cars.
         */
        urlSeed?: string | null;
    }
    /**
     * Current Target Impression Share information of the campaign.
     */
    export interface Schema$GoogleAdsSearchads360V23Services_GenerateRecommendationsRequest_TargetImpressionShareInfo {
        /**
         * Required. The targeted location on the search results page. This is required for campaigns where the AdvertisingChannelType is SEARCH and the bidding strategy type is TARGET_IMPRESSION_SHARE.
         */
        location?: string | null;
        /**
         * Optional. Ceiling of max CPC bids in micros set by automated bidders. This is optional for campaigns with an AdvertisingChannelType of SEARCH and a bidding strategy type of TARGET_IMPRESSION_SHARE.
         */
        maxCpcBidCeiling?: string | null;
        /**
         * Required. The chosen fraction of targeted impression share in micros. For example, 1% equals 10,000. It must be a value between 1 and 1,000,000. This is required for campaigns with an AdvertisingChannelType of SEARCH and a bidding strategy type of TARGET_IMPRESSION_SHARE.
         */
        targetImpressionShareMicros?: string | null;
    }
    /**
     * Spend requirements for an incentive.
     */
    export interface Schema$GoogleAdsSearchads360V23Services_IncentiveRequirement_Spend {
        /**
         * Required. Amount in free spend that user will be granted after spending target amount. Denominated in the currency of the country passed in the get request.
         */
        awardAmount?: Schema$GoogleType__Money;
        /**
         * Required. Amount that user must spend to receive the award amount. Denominated in the currency of the country passed in the get request.
         */
        requiredAmount?: Schema$GoogleType__Money;
    }
    /**
     * Requirement for an incentive.
     */
    export interface Schema$GoogleAdsSearchads360V23Services_Incentive_Requirement {
        /**
         * Optional. Spend requirement for an incentive.
         */
        spend?: Schema$GoogleAdsSearchads360V23Services_IncentiveRequirement_Spend;
    }
    /**
     * The attribute of the metric in key value pair format.
     */
    export interface Schema$GoogleAdsSearchads360V23Services_MetricAttributes_Attribute {
        /**
         * The key of the attribute.
         */
        key?: string | null;
        /**
         * The value of the attribute.
         */
        value?: string | null;
    }
    /**
     * The list of marketing objectives to generate benchmarks metrics for.
     */
    export interface Schema$GoogleAdsSearchads360V23Services_ProductFilter_MarketingObjectiveList {
        /**
         * Required. Marketing objectives to generate benchmarks metrics for.
         */
        marketingObjectives?: string[] | null;
    }
    /**
     * The list of products to generate benchmarks metrics for.
     */
    export interface Schema$GoogleAdsSearchads360V23Services_ProductFilter_ProductList {
        /**
         * Required. Products to generate benchmarks metrics for.
         */
        productCodes?: string[] | null;
    }
    /**
     * A context that describes a business.
     */
    export interface Schema$GoogleAdsSearchads360V23Services_SmartCampaignSuggestionInfo_BusinessContext {
        /**
         * Optional. The name of the business.
         */
        businessName?: string | null;
    }
    /**
     * A list of locations.
     */
    export interface Schema$GoogleAdsSearchads360V23Services_SmartCampaignSuggestionInfo_LocationList {
        /**
         * Required. Locations.
         */
        locations?: Schema$GoogleAdsSearchads360V23Common__LocationInfo[];
    }
    /**
     * A list of geo target constant resource names.
     */
    export interface Schema$GoogleAdsSearchads360V23Services_SuggestGeoTargetConstantsRequest_GeoTargets {
        /**
         * A list of geo target constant resource names.
         */
        geoTargetConstants?: string[] | null;
    }
    /**
     * A list of location names.
     */
    export interface Schema$GoogleAdsSearchads360V23Services_SuggestGeoTargetConstantsRequest_LocationNames {
        /**
         * A list of location names.
         */
        names?: string[] | null;
    }
    /**
     * A Smart campaign keyword theme suggestion.
     */
    export interface Schema$GoogleAdsSearchads360V23Services_SuggestKeywordThemesResponse_KeywordTheme {
        /**
         * A free-form text keyword theme.
         */
        freeFormKeywordTheme?: string | null;
        /**
         * A Smart campaign keyword theme constant.
         */
        keywordThemeConstant?: Schema$GoogleAdsSearchads360V23Resources__KeywordThemeConstant;
    }
    /**
     * Smart Campaign budget option.
     */
    export interface Schema$GoogleAdsSearchads360V23Services_SuggestSmartCampaignBudgetOptionsResponse_BudgetOption {
        /**
         * The amount of the budget, in the local currency for the account. Amount is specified in micros, where one million is equivalent to one currency unit.
         */
        dailyAmountMicros?: string | null;
        /**
         * Metrics pertaining to the suggested budget, could be empty if there is not enough information to derive the estimates.
         */
        metrics?: Schema$GoogleAdsSearchads360V23Services_SuggestSmartCampaignBudgetOptionsResponse_Metrics;
    }
    /**
     * Performance metrics for a given budget option.
     */
    export interface Schema$GoogleAdsSearchads360V23Services_SuggestSmartCampaignBudgetOptionsResponse_Metrics {
        /**
         * The estimated max daily clicks.
         */
        maxDailyClicks?: string | null;
        /**
         * The estimated min daily clicks.
         */
        minDailyClicks?: string | null;
    }
    /**
     * A single operation to propose the creation of a new account-level budget or edit/end/remove an existing one.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__AccountBudgetProposalOperation {
        /**
         * Create operation: A new proposal to create a new budget, edit an existing budget, end an actively running budget, or remove an approved budget scheduled to start in the future. No resource name is expected for the new proposal.
         */
        create?: Schema$GoogleAdsSearchads360V23Resources__AccountBudgetProposal;
        /**
         * Remove operation: A resource name for the removed proposal is expected, in this format: `customers/{customer_id\}/accountBudgetProposals/{account_budget_proposal_id\}` A request may be cancelled iff it is pending.
         */
        remove?: string | null;
        /**
         * FieldMask that determines which budget fields are modified. While budgets may be modified, proposals that propose such modifications are final. Therefore, update operations are not supported for proposals. Proposals that modify budgets have the 'update' proposal type. Specifying a mask for any other proposal type is considered an error.
         */
        updateMask?: string | null;
    }
    /**
     * A single update on an account link.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__AccountLinkOperation {
        /**
         * Remove operation: A resource name for the account link to remove is expected, in this format: `customers/{customer_id\}/accountLinks/{account_link_id\}`
         */
        remove?: string | null;
        /**
         * Update operation: The account link is expected to have a valid resource name.
         */
        update?: Schema$GoogleAdsSearchads360V23Resources__AccountLink;
        /**
         * FieldMask that determines which resource fields are modified in an update.
         */
        updateMask?: string | null;
    }
    /**
     * Request message for BatchJobService.AddBatchJobOperations.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__AddBatchJobOperationsRequest {
        /**
         * Required. The list of mutates being added. Operations can use negative integers as temp ids to signify dependencies between entities created in this batch job. For example, a customer with id = 1234 can create a campaign and an ad group in that same campaign by creating a campaign in the first operation with the resource name explicitly set to "customers/1234/campaigns/-1", and creating an ad group in the second operation with the campaign field also set to "customers/1234/campaigns/-1".
         */
        mutateOperations?: Schema$GoogleAdsSearchads360V23Services__MutateOperation[];
        /**
         * A token used to enforce sequencing. The first AddBatchJobOperations request for a batch job should not set sequence_token. Subsequent requests must set sequence_token to the value of next_sequence_token received in the previous AddBatchJobOperations response.
         */
        sequenceToken?: string | null;
    }
    /**
     * Response message for BatchJobService.AddBatchJobOperations.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__AddBatchJobOperationsResponse {
        /**
         * The sequence token to be used when calling AddBatchJobOperations again if more operations need to be added. The next AddBatchJobOperations request must set the sequence_token field to the value of this field.
         */
        nextSequenceToken?: string | null;
        /**
         * The total number of operations added so far for this batch job.
         */
        totalOperations?: string | null;
    }
    /**
     * Request message for OfflineUserDataJobService.AddOfflineUserDataJobOperations.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__AddOfflineUserDataJobOperationsRequest {
        /**
         * True to enable partial failure for the offline user data job.
         */
        enablePartialFailure?: boolean | null;
        /**
         * True to enable warnings for the offline user data job. When enabled, a warning will not block the OfflineUserDataJobOperation, and will also return warning messages about malformed field values.
         */
        enableWarnings?: boolean | null;
        /**
         * Required. The list of operations to be done.
         */
        operations?: Schema$GoogleAdsSearchads360V23Services__OfflineUserDataJobOperation[];
        /**
         * If true, the request is validated but not executed. Only errors are returned, not results.
         */
        validateOnly?: boolean | null;
    }
    /**
     * Response message for OfflineUserDataJobService.AddOfflineUserDataJobOperations.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__AddOfflineUserDataJobOperationsResponse {
        /**
         * Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error.
         */
        partialFailureError?: Schema$GoogleRpc__Status;
        /**
         * Non blocking errors that pertain to operation failures in the warnings mode. Returned only when enable_warnings = true.
         */
        warning?: Schema$GoogleRpc__Status;
    }
    /**
     * A single operation (create, remove) on an ad group ad label.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__AdGroupAdLabelOperation {
        /**
         * Create operation: No resource name is expected for the new ad group ad label.
         */
        create?: Schema$GoogleAdsSearchads360V23Resources__AdGroupAdLabel;
        /**
         * Remove operation: A resource name for the ad group ad label being removed, in this format: `customers/{customer_id\}/adGroupAdLabels/{ad_group_id\}~{ad_id\}~{label_id\}`
         */
        remove?: string | null;
    }
    /**
     * A single operation (create, update, remove) on an ad group ad.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__AdGroupAdOperation {
        /**
         * Create operation: No resource name is expected for the new ad.
         */
        create?: Schema$GoogleAdsSearchads360V23Resources__AdGroupAd;
        /**
         * Configuration for how policies are validated.
         */
        policyValidationParameter?: Schema$GoogleAdsSearchads360V23Common__PolicyValidationParameter;
        /**
         * Remove operation: A resource name for the removed ad is expected, in this format: `customers/{customer_id\}/adGroupAds/{ad_group_id\}~{ad_id\}`
         */
        remove?: string | null;
        /**
         * Update operation: The ad is expected to have a valid resource name.
         */
        update?: Schema$GoogleAdsSearchads360V23Resources__AdGroupAd;
        /**
         * FieldMask that determines which resource fields are modified in an update.
         */
        updateMask?: string | null;
    }
    /**
     * A single operation (create, update, remove) on an ad group asset.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__AdGroupAssetOperation {
        /**
         * Create operation: No resource name is expected for the new ad group asset.
         */
        create?: Schema$GoogleAdsSearchads360V23Resources__AdGroupAsset;
        /**
         * Remove operation: A resource name for the removed ad group asset is expected, in this format: `customers/{customer_id\}/adGroupAssets/{ad_group_id\}~{asset_id\}~{field_type\}`
         */
        remove?: string | null;
        /**
         * Update operation: The ad group asset is expected to have a valid resource name.
         */
        update?: Schema$GoogleAdsSearchads360V23Resources__AdGroupAsset;
        /**
         * FieldMask that determines which resource fields are modified in an update.
         */
        updateMask?: string | null;
    }
    /**
     * A single operation (create, remove) on an ad group asset set.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__AdGroupAssetSetOperation {
        /**
         * Create operation: No resource name is expected for the new ad group asset set.
         */
        create?: Schema$GoogleAdsSearchads360V23Resources__AdGroupAssetSet;
        /**
         * Remove operation: A resource name for the removed ad group asset set is expected, in this format: `customers/{customer_id\}/adGroupAssetSets/{ad_group_id\}~{asset_set_id\}`
         */
        remove?: string | null;
    }
    /**
     * A single operation (create, remove, update) on an ad group bid modifier.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__AdGroupBidModifierOperation {
        /**
         * Create operation: No resource name is expected for the new ad group bid modifier.
         */
        create?: Schema$GoogleAdsSearchads360V23Resources__AdGroupBidModifier;
        /**
         * Remove operation: A resource name for the removed ad group bid modifier is expected, in this format: `customers/{customer_id\}/adGroupBidModifiers/{ad_group_id\}~{criterion_id\}`
         */
        remove?: string | null;
        /**
         * Update operation: The ad group bid modifier is expected to have a valid resource name.
         */
        update?: Schema$GoogleAdsSearchads360V23Resources__AdGroupBidModifier;
        /**
         * FieldMask that determines which resource fields are modified in an update.
         */
        updateMask?: string | null;
    }
    /**
     * A single operation (create, remove) on a customizer attribute.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__AdGroupCriterionCustomizerOperation {
        /**
         * Create operation: No resource name is expected for the new ad group criterion customizer.
         */
        create?: Schema$GoogleAdsSearchads360V23Resources__AdGroupCriterionCustomizer;
        /**
         * Remove operation: A resource name for the removed ad group criterion customizer is expected, in this format: `customers/{customer_id\}/adGroupCriterionCustomizers/{ad_group_id\}~{criterion_id\}~{customizer_attribute_id\}`
         */
        remove?: string | null;
    }
    /**
     * A single operation (create, remove) on an ad group criterion label.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__AdGroupCriterionLabelOperation {
        /**
         * Create operation: No resource name is expected for the new ad group label.
         */
        create?: Schema$GoogleAdsSearchads360V23Resources__AdGroupCriterionLabel;
        /**
         * Remove operation: A resource name for the ad group criterion label being removed, in this format: `customers/{customer_id\}/adGroupCriterionLabels/{ad_group_id\}~{criterion_id\}~{label_id\}`
         */
        remove?: string | null;
    }
    /**
     * A single operation (create, remove, update) on an ad group criterion.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__AdGroupCriterionOperation {
        /**
         * Create operation: No resource name is expected for the new criterion.
         */
        create?: Schema$GoogleAdsSearchads360V23Resources__AdGroupCriterion;
        /**
         * The list of policy violation keys that should not cause a PolicyViolationError to be reported. Not all policy violations are exemptable, refer to the is_exemptible field in the returned PolicyViolationError. Resources violating these polices will be saved, but will not be eligible to serve. They may begin serving at a later time due to a change in policies, re-review of the resource, or a change in advertiser certificates.
         */
        exemptPolicyViolationKeys?: Schema$GoogleAdsSearchads360V23Common__PolicyViolationKey[];
        /**
         * Remove operation: A resource name for the removed criterion is expected, in this format: `customers/{customer_id\}/adGroupCriteria/{ad_group_id\}~{criterion_id\}`
         */
        remove?: string | null;
        /**
         * Update operation: The criterion is expected to have a valid resource name.
         */
        update?: Schema$GoogleAdsSearchads360V23Resources__AdGroupCriterion;
        /**
         * FieldMask that determines which resource fields are modified in an update.
         */
        updateMask?: string | null;
    }
    /**
     * A single operation (create, remove) on a customizer attribute.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__AdGroupCustomizerOperation {
        /**
         * Create operation: No resource name is expected for the new ad group customizer
         */
        create?: Schema$GoogleAdsSearchads360V23Resources__AdGroupCustomizer;
        /**
         * Remove operation: A resource name for the removed ad group customizer is expected, in this format: `customers/{customer_id\}/adGroupCustomizers/{ad_group_id\}~{customizer_attribute_id\}`
         */
        remove?: string | null;
    }
    /**
     * The suggested text and AdGroup/Campaign pairing for a given keyword.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__AdGroupKeywordSuggestion {
        /**
         * The original keyword text.
         */
        keywordText?: string | null;
        /**
         * The suggested AdGroup for the keyword. Resource name format: `customers/{customer_id\}/adGroups/{ad_group_id\}`
         */
        suggestedAdGroup?: string | null;
        /**
         * The suggested Campaign for the keyword. Resource name format: `customers/{customer_id\}/campaigns/{campaign_id\}`
         */
        suggestedCampaign?: string | null;
        /**
         * The normalized version of keyword_text for BROAD/EXACT/PHRASE suggestions.
         */
        suggestedKeywordText?: string | null;
        /**
         * The suggested keyword match type.
         */
        suggestedMatchType?: string | null;
    }
    /**
     * A single operation (create, remove) on an ad group label.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__AdGroupLabelOperation {
        /**
         * Create operation: No resource name is expected for the new ad group label.
         */
        create?: Schema$GoogleAdsSearchads360V23Resources__AdGroupLabel;
        /**
         * Remove operation: A resource name for the ad group label being removed, in this format: `customers/{customer_id\}/adGroupLabels/{ad_group_id\}~{label_id\}`
         */
        remove?: string | null;
    }
    /**
     * A single operation (create, update, remove) on an ad group.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__AdGroupOperation {
        /**
         * Create operation: No resource name is expected for the new ad group.
         */
        create?: Schema$GoogleAdsSearchads360V23Resources__AdGroup;
        /**
         * Remove operation: A resource name for the removed ad group is expected, in this format: `customers/{customer_id\}/adGroups/{ad_group_id\}`
         */
        remove?: string | null;
        /**
         * Update operation: The ad group is expected to have a valid resource name.
         */
        update?: Schema$GoogleAdsSearchads360V23Resources__AdGroup;
        /**
         * FieldMask that determines which resource fields are modified in an update.
         */
        updateMask?: string | null;
    }
    /**
     * A single update operation on an ad.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__AdOperation {
        /**
         * Configuration for how policies are validated.
         */
        policyValidationParameter?: Schema$GoogleAdsSearchads360V23Common__PolicyValidationParameter;
        /**
         * Update operation: The ad is expected to have a valid resource name in this format: `customers/{customer_id\}/ads/{ad_id\}`
         */
        update?: Schema$GoogleAdsSearchads360V23Resources__Ad;
        /**
         * FieldMask that determines which resource fields are modified in an update.
         */
        updateMask?: string | null;
    }
    /**
     * A single operation (create, update, remove) on ad parameter.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__AdParameterOperation {
        /**
         * Create operation: No resource name is expected for the new ad parameter.
         */
        create?: Schema$GoogleAdsSearchads360V23Resources__AdParameter;
        /**
         * Remove operation: A resource name for the ad parameter to remove is expected in this format: `customers/{customer_id\}/adParameters/{ad_group_id\}~{criterion_id\}~{parameter_index\}`
         */
        remove?: string | null;
        /**
         * Update operation: The ad parameter is expected to have a valid resource name.
         */
        update?: Schema$GoogleAdsSearchads360V23Resources__AdParameter;
        /**
         * FieldMask that determines which resource fields are modified in an update.
         */
        updateMask?: string | null;
    }
    /**
     * Advanced targeting settings for products.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__AdvancedProductTargeting {
        /**
         * Surface targeting settings for this product.
         */
        surfaceTargetingSettings?: Schema$GoogleAdsSearchads360V23Services__SurfaceTargeting;
        /**
         * Settings for a Target frequency campaign. Must be set when selecting the TARGET_FREQUENCY product. See https://support.google.com/google-ads/answer/12400225 for more information about Target Frequency campaigns.
         */
        targetFrequencySettings?: Schema$GoogleAdsSearchads360V23Services__TargetFrequencySettings;
        /**
         * Settings for YouTube Select targeting.
         */
        youtubeSelectSettings?: Schema$GoogleAdsSearchads360V23Services__YouTubeSelectSettings;
    }
    /**
     * Request message for LocalServicesLeadService.AppendLeadConversation.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__AppendLeadConversationRequest {
        /**
         * Required. Conversations that are being appended.
         */
        conversations?: Schema$GoogleAdsSearchads360V23Services__Conversation[];
    }
    /**
     * Response message for LocalServicesLeadService.AppendLeadConversation.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__AppendLeadConversationResponse {
        /**
         * Required. List of append conversation operation results.
         */
        responses?: Schema$GoogleAdsSearchads360V23Services__ConversationOrError[];
    }
    /**
     * Request message for applying an incentive.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__ApplyIncentiveRequest {
        /**
         * Required. User's country code. Required. This field must be equal to the Google Ads account's billing country. Incentive eligibility, terms of service, and reward values are often country-specific. This country code is used to ensure the selected incentive is applicable to the user. Possible country codes: https://developers.google.com/google-ads/api/data/codes-formats#country_codes
         */
        countryCode?: string | null;
    }
    /**
     * Response for applying an incentive.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__ApplyIncentiveResponse {
        /**
         * The coupon code of the applied incentive. A globally unique identifier of the applied incentive. This code is separate and distinct from the selected_incentive_id in the request.
         */
        couponCode?: string | null;
        /**
         * The timestamp when this incentive was applied. The timestamp is in UTC timezone and in "yyyy-MM-dd HH:mm:ss" format.
         */
        creationTime?: string | null;
    }
    /**
     * Information about the operation to apply a recommendation and any parameters to customize it.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__ApplyRecommendationOperation {
        /**
         * Parameters to use when applying call asset recommendation.
         */
        callAsset?: Schema$GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_CallAssetParameters;
        /**
         * Parameters to use when applying call extension recommendation.
         */
        callExtension?: Schema$GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_CallExtensionParameters;
        /**
         * Parameters to use when applying callout asset recommendation.
         */
        calloutAsset?: Schema$GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_CalloutAssetParameters;
        /**
         * Parameters to use when applying callout extension recommendation.
         */
        calloutExtension?: Schema$GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_CalloutExtensionParameters;
        /**
         * Optional parameters to use when applying a campaign budget recommendation.
         */
        campaignBudget?: Schema$GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_CampaignBudgetParameters;
        /**
         * Parameters to use when applying forecasting set target CPA recommendation.
         */
        forecastingSetTargetCpa?: Schema$GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_ForecastingSetTargetCpaParameters;
        /**
         * Parameters to use when applying a forecasting set target ROAS recommendation.
         */
        forecastingSetTargetRoas?: Schema$GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_ForecastingSetTargetRoasParameters;
        /**
         * Optional parameters to use when applying keyword recommendation.
         */
        keyword?: Schema$GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_KeywordParameters;
        /**
         * Parameters to use when applying lead form asset recommendation.
         */
        leadFormAsset?: Schema$GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_LeadFormAssetParameters;
        /**
         * Parameters to use when applying lower Target ROAS recommendation.
         */
        lowerTargetRoas?: Schema$GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_LowerTargetRoasParameters;
        /**
         * Parameters to use when applying move unused budget recommendation.
         */
        moveUnusedBudget?: Schema$GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_MoveUnusedBudgetParameters;
        /**
         * Parameters to use when applying raise Target CPA recommendation.
         */
        raiseTargetCpa?: Schema$GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_RaiseTargetCpaParameters;
        /**
         * Parameters to use when applying a raise target CPA bid too low recommendation. The apply is asynchronous and can take minutes depending on the number of ad groups there is in the related campaign.
         */
        raiseTargetCpaBidTooLow?: Schema$GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_RaiseTargetCpaBidTooLowParameters;
        /**
         * The resource name of the recommendation to apply.
         */
        resourceName?: string | null;
        /**
         * Parameters to use when applying a responsive search ad recommendation.
         */
        responsiveSearchAd?: Schema$GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_ResponsiveSearchAdParameters;
        /**
         * Parameters to use when applying a responsive search ad asset recommendation.
         */
        responsiveSearchAdAsset?: Schema$GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_ResponsiveSearchAdAssetParameters;
        /**
         * Parameters to use when applying a responsive search ad improve ad strength recommendation.
         */
        responsiveSearchAdImproveAdStrength?: Schema$GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_ResponsiveSearchAdImproveAdStrengthParameters;
        /**
         * Parameters to use when applying set target CPA recommendation.
         */
        setTargetCpa?: Schema$GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_ForecastingSetTargetCpaParameters;
        /**
         * Parameters to use when applying set target ROAS recommendation.
         */
        setTargetRoas?: Schema$GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_ForecastingSetTargetRoasParameters;
        /**
         * Parameters to use when applying sitelink asset recommendation.
         */
        sitelinkAsset?: Schema$GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_SitelinkAssetParameters;
        /**
         * Parameters to use when applying sitelink recommendation.
         */
        sitelinkExtension?: Schema$GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_SitelinkExtensionParameters;
        /**
         * Optional parameters to use when applying target CPA opt-in recommendation.
         */
        targetCpaOptIn?: Schema$GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_TargetCpaOptInParameters;
        /**
         * Optional parameters to use when applying target ROAS opt-in recommendation.
         */
        targetRoasOptIn?: Schema$GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_TargetRoasOptInParameters;
        /**
         * Optional parameters to use when applying a text ad recommendation.
         */
        textAd?: Schema$GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_TextAdParameters;
        /**
         * Parameters to use when applying a use broad match keyword recommendation.
         */
        useBroadMatchKeyword?: Schema$GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_UseBroadMatchKeywordParameters;
    }
    /**
     * Request message for RecommendationService.ApplyRecommendation.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__ApplyRecommendationRequest {
        /**
         * Required. The list of operations to apply recommendations. If partial_failure=false all recommendations should be of the same type There is a limit of 100 operations per request.
         */
        operations?: Schema$GoogleAdsSearchads360V23Services__ApplyRecommendationOperation[];
        /**
         * If true, successful operations will be carried out and invalid operations will return errors. If false, operations will be carried out as a transaction if and only if they are all valid. Default is false.
         */
        partialFailure?: boolean | null;
    }
    /**
     * Response message for RecommendationService.ApplyRecommendation.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__ApplyRecommendationResponse {
        /**
         * Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors) we return the RPC level error.
         */
        partialFailureError?: Schema$GoogleRpc__Status;
        /**
         * Results of operations to apply recommendations.
         */
        results?: Schema$GoogleAdsSearchads360V23Services__ApplyRecommendationResult[];
    }
    /**
     * The result of applying a recommendation.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__ApplyRecommendationResult {
        /**
         * Returned for successful applies.
         */
        resourceName?: string | null;
    }
    /**
     * A single operation (create, remove) on an asset group asset.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__AssetGroupAssetOperation {
        /**
         * Create operation: No resource name is expected for the new asset group asset.
         */
        create?: Schema$GoogleAdsSearchads360V23Resources__AssetGroupAsset;
        /**
         * Remove operation: A resource name for the removed asset group asset is expected, in this format: `customers/{customer_id\}/assetGroupAssets/{asset_group_id\}~{asset_id\}~{field_type\}`
         */
        remove?: string | null;
        /**
         * Update operation: The asset group asset is expected to have a valid resource name.
         */
        update?: Schema$GoogleAdsSearchads360V23Resources__AssetGroupAsset;
        /**
         * FieldMask that determines which resource fields are modified in an update.
         */
        updateMask?: string | null;
    }
    /**
     * A single operation (create, remove) on an asset group listing group filter.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__AssetGroupListingGroupFilterOperation {
        /**
         * Create operation: No resource name is expected for the new asset group listing group filter.
         */
        create?: Schema$GoogleAdsSearchads360V23Resources__AssetGroupListingGroupFilter;
        /**
         * Remove operation: A resource name for the removed asset group listing group filter is expected, in this format: `customers/{customer_id\}/assetGroupListingGroupFilters/{asset_group_id\}~{listing_group_filter_id\}` An entity can be removed only if it's not referenced by other parent_listing_group_id. If multiple entities are being deleted, the mutates must be in the correct order.
         */
        remove?: string | null;
        /**
         * Update operation: The asset group listing group filter is expected to have a valid resource name.
         */
        update?: Schema$GoogleAdsSearchads360V23Resources__AssetGroupListingGroupFilter;
        /**
         * FieldMask that determines which resource fields are modified in an update.
         */
        updateMask?: string | null;
    }
    /**
     * A single operation (create, remove) on an asset group.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__AssetGroupOperation {
        /**
         * Create operation: No resource name is expected for the new asset group
         */
        create?: Schema$GoogleAdsSearchads360V23Resources__AssetGroup;
        /**
         * Remove operation: A resource name for the removed asset group is expected, in this format: `customers/{customer_id\}/assetGroups/{asset_group_id\}`
         */
        remove?: string | null;
        /**
         * Update operation: The asset group is expected to have a valid resource name.
         */
        update?: Schema$GoogleAdsSearchads360V23Resources__AssetGroup;
        /**
         * FieldMask that determines which resource fields are modified in an update.
         */
        updateMask?: string | null;
    }
    /**
     * A single operation (create, remove) on an asset group signal.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__AssetGroupSignalOperation {
        /**
         * Create operation: No resource name is expected for the new asset group signal.
         */
        create?: Schema$GoogleAdsSearchads360V23Resources__AssetGroupSignal;
        /**
         * Optional. The list of policy violation keys that should not cause a PolicyViolationError to be reported. Not all policy violations are exemptable, refer to the is_exemptible field in the returned PolicyViolationError. Resources violating these polices will be saved, but will not be eligible to serve. They may begin serving at a later time due to a change in policies, re-review of the resource, or a change in advertiser certificates.
         */
        exemptPolicyViolationKeys?: Schema$GoogleAdsSearchads360V23Common__PolicyViolationKey[];
        /**
         * Remove operation: A resource name for the removed asset group signal is expected, in this format: `customers/{customer_id\}/assetGroupSignals/{asset_group_id\}~{criterion_id\}`
         */
        remove?: string | null;
    }
    /**
     * A single operation to create an asset. Supported asset types are YoutubeVideoAsset, MediaBundleAsset, ImageAsset, LeadFormAsset, LocationAsset, and ImageAsset. TextAsset can be created with an Ad inline, but it can also be created apart from an Ad like other assets.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__AssetOperation {
        /**
         * Create operation: No resource name is expected for the new asset.
         */
        create?: Schema$GoogleAdsSearchads360V23Resources__Asset;
        /**
         * Update operation: The asset is expected to have a valid resource name in this format: `customers/{customer_id\}/assets/{asset_id\}`
         */
        update?: Schema$GoogleAdsSearchads360V23Resources__Asset;
        /**
         * FieldMask that determines which resource fields are modified in an update.
         */
        updateMask?: string | null;
    }
    /**
     * A single operation (create, remove) on an asset set asset.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__AssetSetAssetOperation {
        /**
         * Create operation: No resource name is expected for the new asset set asset
         */
        create?: Schema$GoogleAdsSearchads360V23Resources__AssetSetAsset;
        /**
         * Remove operation: A resource name for the removed asset set asset is expected, in this format: `customers/{customer_id\}/assetSetAssets/{asset_set_id\}~{asset_id\}`
         */
        remove?: string | null;
    }
    /**
     * A single operation (create, remove) on an asset set.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__AssetSetOperation {
        /**
         * Create operation: No resource name is expected for the new asset set
         */
        create?: Schema$GoogleAdsSearchads360V23Resources__AssetSet;
        /**
         * Remove operation: A resource name for the removed asset set is expected, in this format: `customers/{customer_id\}/assetSets/{asset_set_id\}`
         */
        remove?: string | null;
        /**
         * Update operation: The asset set is expected to have a valid resource name.
         */
        update?: Schema$GoogleAdsSearchads360V23Resources__AssetSet;
        /**
         * FieldMask that determines which resource fields are modified in an update.
         */
        updateMask?: string | null;
    }
    /**
     * The combination of system asset and field type to remove.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__AssetsWithFieldType {
        /**
         * Required. The resource name of the asset to be removed.
         */
        asset?: string | null;
        /**
         * Required. The asset field type.
         */
        assetFieldType?: string | null;
    }
    /**
     * An audience attribute with metadata and metrics.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__AudienceCompositionAttribute {
        /**
         * The attribute with its metadata.
         */
        attributeMetadata?: Schema$GoogleAdsSearchads360V23Common__AudienceInsightsAttributeMetadata;
        /**
         * Share and index metrics for the attribute.
         */
        metrics?: Schema$GoogleAdsSearchads360V23Services__AudienceCompositionMetrics;
    }
    /**
     * A collection of related attributes, with metadata and metrics, in an audience composition insights report.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__AudienceCompositionAttributeCluster {
        /**
         * The individual attributes that make up this cluster, with metadata and metrics.
         */
        attributes?: Schema$GoogleAdsSearchads360V23Services__AudienceCompositionAttribute[];
        /**
         * The name of this cluster of attributes
         */
        clusterDisplayName?: string | null;
        /**
         * If the dimension associated with this cluster is YOUTUBE_CHANNEL, then cluster_metrics are metrics associated with the cluster as a whole. For other dimensions, this field is unset.
         */
        clusterMetrics?: Schema$GoogleAdsSearchads360V23Services__AudienceCompositionMetrics;
    }
    /**
     * The share and index metrics associated with an attribute in an audience composition insights report.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__AudienceCompositionMetrics {
        /**
         * The fraction (from 0 to 1 inclusive) of the specific audience that match the attribute.
         */
        audienceShare?: number | null;
        /**
         * The fraction (from 0 to 1 inclusive) of the baseline audience that match the attribute.
         */
        baselineAudienceShare?: number | null;
        /**
         * The ratio of audience_share to baseline_audience_share, or zero if this ratio is undefined or is not meaningful.
         */
        index?: number | null;
        /**
         * A relevance score from 0 to 1 inclusive.
         */
        score?: number | null;
    }
    /**
     * A collection of related attributes of the same type in an audience composition insights report.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__AudienceCompositionSection {
        /**
         * Additional attributes for this audience, grouped into clusters. Only populated if dimension is YOUTUBE_CHANNEL.
         */
        clusteredAttributes?: Schema$GoogleAdsSearchads360V23Services__AudienceCompositionAttributeCluster[];
        /**
         * The type of the attributes in this section.
         */
        dimension?: string | null;
        /**
         * The most relevant segments for this audience. If dimension is GENDER, AGE_RANGE or PARENTAL_STATUS, then this list of attributes is exhaustive.
         */
        topAttributes?: Schema$GoogleAdsSearchads360V23Services__AudienceCompositionAttribute[];
    }
    /**
     * A collection of dimensions to be used for generating insights.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__AudienceInsightsDimensions {
        /**
         * Required. A list of dimensions.
         */
        dimensions?: string[] | null;
    }
    /**
     * A single operation (create, update) on an audience.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__AudienceOperation {
        /**
         * Create operation: No resource name is expected for the new audience
         */
        create?: Schema$GoogleAdsSearchads360V23Resources__Audience;
        /**
         * Update operation: The audience is expected to have a valid resource name.
         */
        update?: Schema$GoogleAdsSearchads360V23Resources__Audience;
        /**
         * FieldMask that determines which resource fields are modified in an update.
         */
        updateMask?: string | null;
    }
    /**
     * An audience attribute, with metadata including the overlap between this attribute's potential YouTube reach and that of a primary attribute.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__AudienceOverlapItem {
        /**
         * The attribute and its metadata, including potential YouTube reach.
         */
        attributeMetadata?: Schema$GoogleAdsSearchads360V23Common__AudienceInsightsAttributeMetadata;
        /**
         * The estimated size of the intersection of this audience attribute with the primary attribute, that is, the number of reachable YouTube users who match BOTH the primary attribute and this one.
         */
        potentialYoutubeReachIntersection?: string | null;
    }
    /**
     * Audience targeting for reach forecast.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__AudienceTargeting {
        /**
         * List of audiences based on user interests to be targeted.
         */
        userInterest?: Schema$GoogleAdsSearchads360V23Common__UserInterestInfo[];
        /**
         * List of audiences based on user lists to be targeted.
         */
        userLists?: Schema$GoogleAdsSearchads360V23Common__UserListInfo[];
    }
    /**
     * A single operation on a batch job.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__BatchJobOperation {
        /**
         * Create operation: No resource name is expected for the new batch job.
         */
        create?: Schema$GoogleAdsSearchads360V23Resources__BatchJob;
        /**
         * Remove operation: The batch job must not have been run. A resource name for the removed batch job is expected, in this format: `customers/{customer_id\}/batchJobs/{batch_job_id\}`
         */
        remove?: string | null;
    }
    /**
     * An individual batch job result.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__BatchJobResult {
        /**
         * Response for the mutate. May be empty if errors occurred.
         */
        mutateOperationResponse?: Schema$GoogleAdsSearchads360V23Services__MutateOperationResponse;
        /**
         * Index of the mutate operation.
         */
        operationIndex?: string | null;
        /**
         * Details of the errors when processing the operation.
         */
        status?: Schema$GoogleRpc__Status;
    }
    /**
     * A location that supports benchmarks data.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__BenchmarksLocation {
        /**
         * Information on the geographic location, including the location ID.
         */
        locationInfo?: Schema$GoogleAdsSearchads360V23Common__LocationInfo;
        /**
         * The unique location name in English.
         */
        locationName?: string | null;
        /**
         * The location's type. Location types correspond to target_type returned by searching location type in GoogleAdsService.Search/SearchStream.
         */
        locationType?: string | null;
    }
    /**
     * The metadata associated with a product supported for benchmarks data.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__BenchmarksProductMetadata {
        /**
         * The marketing objective associated with the product. A marketing objective is a broader classification of products.
         */
        marketingObjective?: string | null;
        /**
         * The identifier of the product. The identifier can be used as inputs for BenchmarksService.GenerateBenchmarksMetrics.
         */
        productCode?: string | null;
        /**
         * The name of the product.
         */
        productName?: string | null;
    }
    /**
     * The source used to generate benchmarks metrics for. The ID of the source can be obtained from BenchmarksService.ListBenchmarksSources.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__BenchmarksSource {
        /**
         * The ID of the Industry Vertical.
         */
        industryVerticalId?: string | null;
    }
    /**
     * The metadata associated with a benchmarks source.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__BenchmarksSourceMetadata {
        /**
         * The type of benchmarks source.
         */
        benchmarksSourceType?: string | null;
        /**
         * Information on the Industry Vertical.
         */
        industryVerticalInfo?: Schema$GoogleAdsSearchads360V23Services__IndustryVerticalInfo;
    }
    /**
     * A biddable keyword part of an ad group.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__BiddableKeyword {
        /**
         * Required. Keyword. Must have text and match type.
         */
        keyword?: Schema$GoogleAdsSearchads360V23Common__KeywordInfo;
        /**
         * A max cpc bid in micros that overrides the ad group level max cpc bid in forecast simulation. This value will override the max cpc value set in the bidding strategy and ad group. Only specify this field for bidding strategies that support max cpc values.
         */
        maxCpcBidMicros?: string | null;
    }
    /**
     * A single operation (create, remove, update) on a data exclusion.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__BiddingDataExclusionOperation {
        /**
         * Create operation: No resource name is expected for the new data exclusion.
         */
        create?: Schema$GoogleAdsSearchads360V23Resources__BiddingDataExclusion;
        /**
         * Remove operation: A resource name for the removed data exclusion is expected, in this format: `customers/{customer_id\}/biddingDataExclusions/{data_exclusion_id\}`
         */
        remove?: string | null;
        /**
         * Update operation: The data exclusion is expected to have a valid resource name.
         */
        update?: Schema$GoogleAdsSearchads360V23Resources__BiddingDataExclusion;
        /**
         * FieldMask that determines which resource fields are modified in an update.
         */
        updateMask?: string | null;
    }
    /**
     * A single operation (create, remove, update) on a seasonality adjustment.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__BiddingSeasonalityAdjustmentOperation {
        /**
         * Create operation: No resource name is expected for the new seasonality adjustment.
         */
        create?: Schema$GoogleAdsSearchads360V23Resources__BiddingSeasonalityAdjustment;
        /**
         * Remove operation: A resource name for the removed seasonality adjustment is expected, in this format: `customers/{customer_id\}/biddingSeasonalityAdjustments/{seasonality_adjustment_id\}`
         */
        remove?: string | null;
        /**
         * Update operation: The seasonality adjustment is expected to have a valid resource name.
         */
        update?: Schema$GoogleAdsSearchads360V23Resources__BiddingSeasonalityAdjustment;
        /**
         * FieldMask that determines which resource fields are modified in an update.
         */
        updateMask?: string | null;
    }
    /**
     * A single operation (create, update, remove) on a bidding strategy.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__BiddingStrategyOperation {
        /**
         * Create operation: No resource name is expected for the new bidding strategy.
         */
        create?: Schema$GoogleAdsSearchads360V23Resources__BiddingStrategy;
        /**
         * Remove operation: A resource name for the removed bidding strategy is expected, in this format: `customers/{customer_id\}/biddingStrategies/{bidding_strategy_id\}`
         */
        remove?: string | null;
        /**
         * Update operation: The bidding strategy is expected to have a valid resource name.
         */
        update?: Schema$GoogleAdsSearchads360V23Resources__BiddingStrategy;
        /**
         * FieldMask that determines which resource fields are modified in an update.
         */
        updateMask?: string | null;
    }
    /**
     * A single operation on a billing setup, which describes the cancellation of an existing billing setup.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__BillingSetupOperation {
        /**
         * Creates a billing setup. No resource name is expected for the new billing setup.
         */
        create?: Schema$GoogleAdsSearchads360V23Resources__BillingSetup;
        /**
         * Resource name of the billing setup to remove. A setup cannot be removed unless it is in a pending state or its scheduled start time is in the future. The resource name looks like `customers/{customer_id\}/billingSetups/{billing_id\}`.
         */
        remove?: string | null;
    }
    /**
     * Assets linked at the campaign level. A business_name and at least one logo_asset are required.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__BrandCampaignAssets {
        /**
         * Required. The resource name of the business name text asset.
         */
        businessNameAsset?: string | null;
        /**
         * Optional. The resource name of landscape logo assets.
         */
        landscapeLogoAsset?: string[] | null;
        /**
         * Required. The resource name of square logo assets.
         */
        logoAsset?: string[] | null;
    }
    /**
     * A call conversion.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__CallConversion {
        /**
         * The caller id from which this call was placed. Caller id is expected to be in E.164 format with preceding '+' sign, for example, "+16502531234".
         */
        callerId?: string | null;
        /**
         * The date time at which the call occurred. The timezone must be specified. The format is "yyyy-mm-dd hh:mm:ss+|-hh:mm", for example, "2019-01-01 12:32:45-08:00".
         */
        callStartDateTime?: string | null;
        /**
         * The consent setting for the event.
         */
        consent?: Schema$GoogleAdsSearchads360V23Common__Consent;
        /**
         * Resource name of the conversion action associated with this conversion. Note: Although this resource name consists of a customer id and a conversion action id, validation will ignore the customer id and use the conversion action id as the sole identifier of the conversion action.
         */
        conversionAction?: string | null;
        /**
         * The date time at which the conversion occurred. Must be after the call time. The timezone must be specified. The format is "yyyy-mm-dd hh:mm:ss+|-hh:mm", for example, "2019-01-01 12:32:45-08:00".
         */
        conversionDateTime?: string | null;
        /**
         * The value of the conversion for the advertiser.
         */
        conversionValue?: number | null;
        /**
         * Currency associated with the conversion value. This is the ISO 4217 3-character currency code. For example: USD, EUR.
         */
        currencyCode?: string | null;
        /**
         * The custom variables associated with this conversion.
         */
        customVariables?: Schema$GoogleAdsSearchads360V23Services__CustomVariable[];
    }
    /**
     * Identifying information for a successfully processed CallConversionUpload.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__CallConversionResult {
        /**
         * The caller id from which this call was placed. Caller id is expected to be in E.164 format with preceding '+' sign.
         */
        callerId?: string | null;
        /**
         * The date time at which the call occurred. The format is "yyyy-mm-dd hh:mm:ss+|-hh:mm", for example, "2019-01-01 12:32:45-08:00".
         */
        callStartDateTime?: string | null;
        /**
         * Resource name of the conversion action associated with this conversion.
         */
        conversionAction?: string | null;
        /**
         * The date time at which the conversion occurred. The format is "yyyy-mm-dd hh:mm:ss+|-hh:mm", for example, "2019-01-01 12:32:45-08:00".
         */
        conversionDateTime?: string | null;
    }
    /**
     * A single operation (create, remove) on a campaign asset.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__CampaignAssetOperation {
        /**
         * Create operation: No resource name is expected for the new campaign asset.
         */
        create?: Schema$GoogleAdsSearchads360V23Resources__CampaignAsset;
        /**
         * Remove operation: A resource name for the removed campaign asset is expected, in this format: `customers/{customer_id\}/campaignAssets/{campaign_id\}~{asset_id\}~{field_type\}`
         */
        remove?: string | null;
        /**
         * Update operation: The campaign asset is expected to have a valid resource name.
         */
        update?: Schema$GoogleAdsSearchads360V23Resources__CampaignAsset;
        /**
         * FieldMask that determines which resource fields are modified in an update.
         */
        updateMask?: string | null;
    }
    /**
     * A single operation (create, remove) on a campaign asset set.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__CampaignAssetSetOperation {
        /**
         * Create operation: No resource name is expected for the new campaign asset set.
         */
        create?: Schema$GoogleAdsSearchads360V23Resources__CampaignAssetSet;
        /**
         * Remove operation: A resource name for the removed campaign asset set is expected, in this format: `customers/{customer_id\}/campaignAssetSets/{campaign_id\}~{asset_set_id\}`
         */
        remove?: string | null;
    }
    /**
     * A single operation (create, remove, update) on a campaign bid modifier.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__CampaignBidModifierOperation {
        /**
         * Create operation: No resource name is expected for the new campaign bid modifier.
         */
        create?: Schema$GoogleAdsSearchads360V23Resources__CampaignBidModifier;
        /**
         * Remove operation: A resource name for the removed campaign bid modifier is expected, in this format: `customers/{customer_id\}/CampaignBidModifiers/{campaign_id\}~{criterion_id\}`
         */
        remove?: string | null;
        /**
         * Update operation: The campaign bid modifier is expected to have a valid resource name.
         */
        update?: Schema$GoogleAdsSearchads360V23Resources__CampaignBidModifier;
        /**
         * FieldMask that determines which resource fields are modified in an update.
         */
        updateMask?: string | null;
    }
    /**
     * The mapping of experiment campaign and budget to be graduated.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__CampaignBudgetMapping {
        /**
         * Required. The budget that should be attached to the graduating experiment campaign.
         */
        campaignBudget?: string | null;
        /**
         * Required. The experiment campaign to graduate.
         */
        experimentCampaign?: string | null;
    }
    /**
     * A single operation (create, update, remove) on a campaign budget.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__CampaignBudgetOperation {
        /**
         * Create operation: No resource name is expected for the new budget.
         */
        create?: Schema$GoogleAdsSearchads360V23Resources__CampaignBudget;
        /**
         * Remove operation: A resource name for the removed budget is expected, in this format: `customers/{customer_id\}/campaignBudgets/{budget_id\}`
         */
        remove?: string | null;
        /**
         * Update operation: The campaign budget is expected to have a valid resource name.
         */
        update?: Schema$GoogleAdsSearchads360V23Resources__CampaignBudget;
        /**
         * FieldMask that determines which resource fields are modified in an update.
         */
        updateMask?: string | null;
    }
    /**
     * A single operation (update) on a campaign conversion goal.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__CampaignConversionGoalOperation {
        /**
         * Update operation: The customer conversion goal is expected to have a valid resource name.
         */
        update?: Schema$GoogleAdsSearchads360V23Resources__CampaignConversionGoal;
        /**
         * FieldMask that determines which resource fields are modified in an update.
         */
        updateMask?: string | null;
    }
    /**
     * A single operation (create, update, remove) on a campaign criterion.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__CampaignCriterionOperation {
        /**
         * Create operation: No resource name is expected for the new criterion.
         */
        create?: Schema$GoogleAdsSearchads360V23Resources__CampaignCriterion;
        /**
         * Remove operation: A resource name for the removed criterion is expected, in this format: `customers/{customer_id\}/campaignCriteria/{campaign_id\}~{criterion_id\}`
         */
        remove?: string | null;
        /**
         * Update operation: The criterion is expected to have a valid resource name. Note that for smart campaigns, you cannot use the update method to edit the geolocation target.
         */
        update?: Schema$GoogleAdsSearchads360V23Resources__CampaignCriterion;
        /**
         * FieldMask that determines which resource fields are modified in an update.
         */
        updateMask?: string | null;
    }
    /**
     * A single operation (create, remove) on a customizer attribute.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__CampaignCustomizerOperation {
        /**
         * Create operation: No resource name is expected for the new campaign customizer
         */
        create?: Schema$GoogleAdsSearchads360V23Resources__CampaignCustomizer;
        /**
         * Remove operation: A resource name for the removed campaign customizer is expected, in this format: `customers/{customer_id\}/campaignCustomizers/{campaign_id\}~{customizer_attribute_id\}`
         */
        remove?: string | null;
    }
    /**
     * A single operation (create, update, remove) on a campaign draft.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__CampaignDraftOperation {
        /**
         * Create operation: No resource name is expected for the new campaign draft.
         */
        create?: Schema$GoogleAdsSearchads360V23Resources__CampaignDraft;
        /**
         * Remove operation: The campaign draft is expected to have a valid resource name, in this format: `customers/{customer_id\}/campaignDrafts/{base_campaign_id\}~{draft_id\}`
         */
        remove?: string | null;
        /**
         * Update operation: The campaign draft is expected to have a valid resource name.
         */
        update?: Schema$GoogleAdsSearchads360V23Resources__CampaignDraft;
        /**
         * FieldMask that determines which resource fields are modified in an update.
         */
        updateMask?: string | null;
    }
    /**
     * The duration of a planned campaign.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__CampaignDuration {
        /**
         * Date range of the campaign. Dates are in the yyyy-mm-dd format and inclusive. The end date must be < 1 year in the future and the date range must be <= 92 days long. This field cannot be combined with the duration_in_days field.
         */
        dateRange?: Schema$GoogleAdsSearchads360V23Common__DateRange;
        /**
         * The duration value in days. This field cannot be combined with the date_range field.
         */
        durationInDays?: number | null;
    }
    /**
     * A single mutate operation on the campaign goal config.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__CampaignGoalConfigOperation {
        /**
         * Create a new campaign goal config.
         */
        create?: Schema$GoogleAdsSearchads360V23Resources__CampaignGoalConfig;
        /**
         * Remove an existing campaign goal config.
         */
        remove?: string | null;
        /**
         * Update an existing campaign goal config.
         */
        update?: Schema$GoogleAdsSearchads360V23Resources__CampaignGoalConfig;
        /**
         * FieldMask that determines which fields are modified in an update.
         */
        updateMask?: string | null;
    }
    /**
     * A single operation (create, update, remove) on a campaign group.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__CampaignGroupOperation {
        /**
         * Create operation: No resource name is expected for the new campaign group.
         */
        create?: Schema$GoogleAdsSearchads360V23Resources__CampaignGroup;
        /**
         * Remove operation: A resource name for the removed campaign group is expected, in this format: `customers/{customer_id\}/campaignGroups/{campaign_group_id\}`
         */
        remove?: string | null;
        /**
         * Update operation: The campaign group is expected to have a valid resource name.
         */
        update?: Schema$GoogleAdsSearchads360V23Resources__CampaignGroup;
        /**
         * FieldMask that determines which resource fields are modified in an update.
         */
        updateMask?: string | null;
    }
    /**
     * A single operation (create, remove) on a campaign-label relationship.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__CampaignLabelOperation {
        /**
         * Create operation: No resource name is expected for the new campaign-label relationship.
         */
        create?: Schema$GoogleAdsSearchads360V23Resources__CampaignLabel;
        /**
         * Remove operation: A resource name for the campaign-label relationship being removed, in this format: `customers/{customer_id\}/campaignLabels/{campaign_id\}~{label_id\}`
         */
        remove?: string | null;
    }
    /**
     * A single operation on a campaign lifecycle goal.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__CampaignLifecycleGoalOperation {
        create?: Schema$GoogleAdsSearchads360V23Resources__CampaignLifecycleGoal;
        /**
         * Update operation: Update an existing campaign lifecycle goal. The campaign field should not be set for this operation.
         */
        update?: Schema$GoogleAdsSearchads360V23Resources__CampaignLifecycleGoal;
        /**
         * Optional. FieldMask that determines which resource fields are modified in an update.
         */
        updateMask?: string | null;
    }
    /**
     * A single operation (create, update, remove) on a campaign.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__CampaignOperation {
        /**
         * Create operation: No resource name is expected for the new campaign.
         */
        create?: Schema$GoogleAdsSearchads360V23Resources__Campaign;
        /**
         * Remove operation: A resource name for the removed campaign is expected, in this format: `customers/{customer_id\}/campaigns/{campaign_id\}`
         */
        remove?: string | null;
        /**
         * Update operation: The campaign is expected to have a valid resource name.
         */
        update?: Schema$GoogleAdsSearchads360V23Resources__Campaign;
        /**
         * FieldMask that determines which resource fields are modified in an update.
         */
        updateMask?: string | null;
    }
    /**
     * A single operation (create, remove) on a campaign shared set.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__CampaignSharedSetOperation {
        /**
         * Create operation: No resource name is expected for the new campaign shared set.
         */
        create?: Schema$GoogleAdsSearchads360V23Resources__CampaignSharedSet;
        /**
         * Remove operation: A resource name for the removed campaign shared set is expected, in this format: `customers/{customer_id\}/campaignSharedSets/{campaign_id\}~{shared_set_id\}`
         */
        remove?: string | null;
    }
    /**
     * A campaign to do a keyword campaign forecast.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__CampaignToForecast {
        /**
         * The ad groups in the new campaign to forecast.
         */
        adGroups?: Schema$GoogleAdsSearchads360V23Services__ForecastAdGroup[];
        /**
         * Required. The bidding strategy for the campaign.
         */
        biddingStrategy?: Schema$GoogleAdsSearchads360V23Services_CampaignToForecast_CampaignBiddingStrategy;
        /**
         * The expected conversion rate (number of conversions divided by number of total clicks) as defined by the user. This value is expressed as a decimal value, so an expected conversion rate of 2% should be entered as 0.02. If left empty, an estimated conversion rate will be used.
         */
        conversionRate?: number | null;
        /**
         * Locations to be targeted. Locations must be unique.
         */
        geoModifiers?: Schema$GoogleAdsSearchads360V23Services__CriterionBidModifier[];
        /**
         * Required. The network used for targeting.
         */
        keywordPlanNetwork?: string | null;
        /**
         * The list of resource names of languages to be targeted. The resource name is of the format "languageConstants/{criterion_id\}". See https://developers.google.com/google-ads/api/data/codes-formats#languages for the list of language criterion codes.
         */
        languageConstants?: string[] | null;
        /**
         * The list of negative keywords to be used in the campaign when doing the forecast.
         */
        negativeKeywords?: Schema$GoogleAdsSearchads360V23Common__KeywordInfo[];
    }
    /**
     * Contains additional information about cart data.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__CartData {
        /**
         * The country code associated with the feed where the items are uploaded.
         */
        feedCountryCode?: string | null;
        /**
         * The language code associated with the feed where the items are uploaded.
         */
        feedLanguageCode?: string | null;
        /**
         * Data of the items purchased.
         */
        items?: Schema$GoogleAdsSearchads360V23Services_CartData_Item[];
        /**
         * Sum of all transaction level discounts, such as free shipping and coupon discounts for the whole cart. The currency code is the same as that in the `ClickConversion` message.
         */
        localTransactionCost?: number | null;
        /**
         * The Merchant Center ID where the items are uploaded.
         */
        merchantId?: string | null;
    }
    /**
     * A click conversion.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__ClickConversion {
        /**
         * The cart data associated with this conversion.
         */
        cartData?: Schema$GoogleAdsSearchads360V23Services__CartData;
        /**
         * The consent setting for the event.
         */
        consent?: Schema$GoogleAdsSearchads360V23Common__Consent;
        /**
         * Resource name of the conversion action associated with this conversion. Note: Although this resource name consists of a customer id and a conversion action id, validation will ignore the customer id and use the conversion action id as the sole identifier of the conversion action.
         */
        conversionAction?: string | null;
        /**
         * The date time at which the conversion occurred. Must be after the click time. The timezone must be specified. The format is "yyyy-mm-dd hh:mm:ss+|-hh:mm", for example, "2019-01-01 12:32:45-08:00".
         */
        conversionDateTime?: string | null;
        /**
         * The environment this conversion was recorded on, for example, App or Web.
         */
        conversionEnvironment?: string | null;
        /**
         * The value of the conversion for the advertiser.
         */
        conversionValue?: number | null;
        /**
         * Currency associated with the conversion value. This is the ISO 4217 3-character currency code. For example: USD, EUR.
         */
        currencyCode?: string | null;
        /**
         * Type of the customer associated with the conversion (new or returning).
         */
        customerType?: string | null;
        /**
         * The custom variables associated with this conversion.
         */
        customVariables?: Schema$GoogleAdsSearchads360V23Services__CustomVariable[];
        /**
         * Additional data about externally attributed conversions. This field is required for conversions with an externally attributed conversion action, but should not be set otherwise.
         */
        externalAttributionData?: Schema$GoogleAdsSearchads360V23Services__ExternalAttributionData;
        /**
         * The URL parameter for clicks associated with app conversions.
         */
        gbraid?: string | null;
        /**
         * The Google click ID (gclid) associated with this conversion.
         */
        gclid?: string | null;
        /**
         * The order ID associated with the conversion. An order id can only be used for one conversion per conversion action.
         */
        orderId?: string | null;
        /**
         * The session attributes for the event, represented as a base64-encoded JSON string. The content should be generated by Google-provided library. To set session attributes individually, use session_attributes_key_value_pairs instead. This field is only available to allowlisted users. To include this field in conversion imports, upgrade to the Data Manager API.
         */
        sessionAttributesEncoded?: string | null;
        /**
         * The session attributes for the event, represented as key-value pairs. This field is only available to allowlisted users. To include this field in conversion imports, upgrade to the Data Manager API.
         */
        sessionAttributesKeyValuePairs?: Schema$GoogleAdsSearchads360V23Services__SessionAttributesKeyValuePairs;
        /**
         * The user identifiers associated with this conversion. Only hashed_email and hashed_phone_number are supported for conversion uploads. The maximum number of user identifiers for each conversion is 5.
         */
        userIdentifiers?: Schema$GoogleAdsSearchads360V23Common__UserIdentifier[];
        /**
         * The IP address of the customer when they arrived on the landing page after an ad click but before a conversion event. This is the IP address of the customer's device, not the advertiser's server. Google Ads does not support IP address matching for end users in the European Economic Area (EEA), United Kingdom (UK), or Switzerland (CH). Add logic to conditionally exclude sharing IP addresses from users from these regions and ensure that you provide users with clear and comprehensive information about the data you collect on your sites, apps, and other properties and get consent where required by law or any applicable Google policies. See [About offline conversion imports](//support.google.com/google-ads/answer/2998031) page for more details. This field is only available to allowlisted users. To include this field in conversion imports, upgrade to the Data Manager API.
         */
        userIpAddress?: string | null;
        /**
         * The URL parameter for clicks associated with web conversions.
         */
        wbraid?: string | null;
    }
    /**
     * Identifying information for a successfully processed `ClickConversion`.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__ClickConversionResult {
        /**
         * Resource name of the conversion action associated with this conversion.
         */
        conversionAction?: string | null;
        /**
         * The date time at which the conversion occurred. The format is "yyyy-mm-dd hh:mm:ss+|-hh:mm", for example, "2019-01-01 12:32:45-08:00".
         */
        conversionDateTime?: string | null;
        /**
         * The URL parameter for clicks associated with app conversions.
         */
        gbraid?: string | null;
        /**
         * The Google Click ID (gclid) associated with this conversion.
         */
        gclid?: string | null;
        /**
         * The user identifiers associated with this conversion. Only hashed_email and hashed_phone_number are supported for conversion uploads. The maximum number of user identifiers for each conversion is 5.
         */
        userIdentifiers?: Schema$GoogleAdsSearchads360V23Common__UserIdentifier[];
        /**
         * The URL parameter for clicks associated with web conversions.
         */
        wbraid?: string | null;
    }
    /**
     * Request message for CampaignLifecycleGoalService.ConfigureCampaignLifecycleGoals.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__ConfigureCampaignLifecycleGoalsRequest {
        /**
         * Required. The operation to perform campaign lifecycle goal update.
         */
        operation?: Schema$GoogleAdsSearchads360V23Services__CampaignLifecycleGoalOperation;
        /**
         * Optional. If true, the request is validated but not executed. Only errors are returned, not results.
         */
        validateOnly?: boolean | null;
    }
    /**
     * Response message for CampaignLifecycleGoalService.ConfigureCampaignLifecycleGoals.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__ConfigureCampaignLifecycleGoalsResponse {
        /**
         * Result for the campaign lifecycle goal configuration.
         */
        result?: Schema$GoogleAdsSearchads360V23Services__ConfigureCampaignLifecycleGoalsResult;
    }
    /**
     * The result for the campaign lifecycle goal configuration.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__ConfigureCampaignLifecycleGoalsResult {
        /**
         * Returned for the successful operation.
         */
        resourceName?: string | null;
    }
    /**
     * Request message for CustomerLifecycleGoalService.ConfigureCustomerLifecycleGoals.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__ConfigureCustomerLifecycleGoalsRequest {
        /**
         * Required. The operation to perform customer lifecycle goal update.
         */
        operation?: Schema$GoogleAdsSearchads360V23Services__CustomerLifecycleGoalOperation;
        /**
         * Optional. If true, the request is validated but not executed. Only errors are returned, not results.
         */
        validateOnly?: boolean | null;
    }
    /**
     * Response message for CustomerLifecycleGoalService.ConfigureCustomerLifecycleGoals.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__ConfigureCustomerLifecycleGoalsResponse {
        /**
         * result for the customer lifecycle goal configuration.
         */
        result?: Schema$GoogleAdsSearchads360V23Services__ConfigureCustomerLifecycleGoalsResult;
    }
    /**
     * The result for the customer lifecycle goal configuration.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__ConfigureCustomerLifecycleGoalsResult {
        /**
         * Returned for the successful operation.
         */
        resourceName?: string | null;
    }
    /**
     * Details of the conversation that needs to be appended.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__Conversation {
        /**
         * Required. The resource name of the local services lead that the conversation should be applied to.
         */
        localServicesLead?: string | null;
        /**
         * Required. Text message that user wanted to append to lead.
         */
        text?: string | null;
    }
    /**
     * Result of the append conversation operation.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__ConversationOrError {
        /**
         * The resource name of the appended local services lead conversation.
         */
        localServicesLeadConversation?: string | null;
        /**
         * Failure status when the request could not be processed.
         */
        partialFailureError?: Schema$GoogleRpc__Status;
    }
    /**
     * A single operation (create, update, remove) on a conversion action.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__ConversionActionOperation {
        /**
         * Create operation: No resource name is expected for the new conversion action.
         */
        create?: Schema$GoogleAdsSearchads360V23Resources__ConversionAction;
        /**
         * Remove operation: A resource name for the removed conversion action is expected, in this format: `customers/{customer_id\}/conversionActions/{conversion_action_id\}`
         */
        remove?: string | null;
        /**
         * Update operation: The conversion action is expected to have a valid resource name.
         */
        update?: Schema$GoogleAdsSearchads360V23Resources__ConversionAction;
        /**
         * FieldMask that determines which resource fields are modified in an update.
         */
        updateMask?: string | null;
    }
    /**
     * A conversion adjustment.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__ConversionAdjustment {
        /**
         * The date time at which the adjustment occurred. Must be after the conversion_date_time. The timezone must be specified. The format is "yyyy-mm-dd hh:mm:ss+|-hh:mm", for example, "2019-01-01 12:32:45-08:00".
         */
        adjustmentDateTime?: string | null;
        /**
         * The adjustment type.
         */
        adjustmentType?: string | null;
        /**
         * Resource name of the conversion action associated with this conversion adjustment. Note: Although this resource name consists of a customer id and a conversion action id, validation will ignore the customer id and use the conversion action id as the sole identifier of the conversion action.
         */
        conversionAction?: string | null;
        /**
         * For adjustments, uniquely identifies a conversion that was reported without an order ID specified. If the adjustment_type is ENHANCEMENT, this value is optional but may be set in addition to the order_id.
         */
        gclidDateTimePair?: Schema$GoogleAdsSearchads360V23Services__GclidDateTimePair;
        /**
         * The order ID of the conversion to be adjusted. If the conversion was reported with an order ID specified, that order ID must be used as the identifier here. The order ID is required for enhancements.
         */
        orderId?: string | null;
        /**
         * Information needed to restate the conversion's value. Required for restatements. Should not be supplied for retractions. An error will be returned if provided for a retraction. NOTE: If you want to upload a second restatement with a different adjusted value, it must have a new, more recent, adjustment occurrence time. Otherwise, it will be treated as a duplicate of the previous restatement and ignored.
         */
        restatementValue?: Schema$GoogleAdsSearchads360V23Services__RestatementValue;
        /**
         * The user agent to enhance the original conversion. This can be found in your user's HTTP request header when they convert on your web page. Example, "Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X)". User agent can only be specified in enhancements with user identifiers.
         */
        userAgent?: string | null;
        /**
         * The user identifiers to enhance the original conversion. ConversionAdjustmentUploadService only accepts user identifiers in enhancements. The maximum number of user identifiers for each enhancement is 5.
         */
        userIdentifiers?: Schema$GoogleAdsSearchads360V23Common__UserIdentifier[];
    }
    /**
     * Information identifying a successfully processed ConversionAdjustment.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__ConversionAdjustmentResult {
        /**
         * The date time at which the adjustment occurred. The format is "yyyy-mm-dd hh:mm:ss+|-hh:mm", for example, "2019-01-01 12:32:45-08:00".
         */
        adjustmentDateTime?: string | null;
        /**
         * The adjustment type.
         */
        adjustmentType?: string | null;
        /**
         * Resource name of the conversion action associated with this conversion adjustment.
         */
        conversionAction?: string | null;
        /**
         * The gclid and conversion date time of the conversion.
         */
        gclidDateTimePair?: Schema$GoogleAdsSearchads360V23Services__GclidDateTimePair;
        /**
         * The order ID of the conversion to be adjusted.
         */
        orderId?: string | null;
    }
    /**
     * Message for conversion custom dimension header.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__ConversionCustomDimensionHeader {
        /**
         * The conversion custom dimension ID.
         */
        id?: string | null;
        /**
         * The user defined name of the conversion custom dimension.
         */
        name?: string | null;
    }
    /**
     * Message for conversion custom metric header.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__ConversionCustomMetricHeader {
        /**
         * The conversion custom metric ID.
         */
        id?: string | null;
        /**
         * The user defined name of the conversion custom metric.
         */
        name?: string | null;
    }
    /**
     * A single operation (create, update) on a conversion custom variable.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__ConversionCustomVariableOperation {
        /**
         * Create operation: No resource name is expected for the new conversion custom variable.
         */
        create?: Schema$GoogleAdsSearchads360V23Resources__ConversionCustomVariable;
        /**
         * Update operation: The conversion custom variable is expected to have a valid resource name.
         */
        update?: Schema$GoogleAdsSearchads360V23Resources__ConversionCustomVariable;
        /**
         * FieldMask that determines which resource fields are modified in an update.
         */
        updateMask?: string | null;
    }
    /**
     * A single operation (update) on a conversion goal campaign config.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__ConversionGoalCampaignConfigOperation {
        /**
         * Update operation: The conversion goal campaign config is expected to have a valid resource name.
         */
        update?: Schema$GoogleAdsSearchads360V23Resources__ConversionGoalCampaignConfig;
        /**
         * FieldMask that determines which resource fields are modified in an update.
         */
        updateMask?: string | null;
    }
    /**
     * A conversion rate suggestion.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__ConversionRateSuggestion {
        /**
         * The suggested conversion rate. The value is between 0 and 1 (exclusive).
         */
        conversionRate?: number | null;
        /**
         * Model type used to calculate the suggested conversion rate.
         */
        conversionRateModel?: string | null;
        /**
         * The code associated with the plannable product (for example: DEMAND_GEN). To list all plannable product codes, use ReachPlanService.ListPlannableProducts.
         */
        plannableProductCode?: string | null;
        /**
         * The surfaces associated with the plannable product. If not present, the conversion rate is considered surface agnostic for this product.
         */
        surfaceTargeting?: Schema$GoogleAdsSearchads360V23Services__SurfaceTargeting;
    }
    /**
     * A single operation (create, update, remove) on a conversion value rule.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__ConversionValueRuleOperation {
        /**
         * Create operation: No resource name is expected for the new conversion value rule.
         */
        create?: Schema$GoogleAdsSearchads360V23Resources__ConversionValueRule;
        /**
         * Remove operation: A resource name for the removed conversion value rule is expected, in this format: `customers/{customer_id\}/conversionValueRules/{conversion_value_rule_id\}`
         */
        remove?: string | null;
        /**
         * Update operation: The conversion value rule is expected to have a valid resource name.
         */
        update?: Schema$GoogleAdsSearchads360V23Resources__ConversionValueRule;
        /**
         * FieldMask that determines which resource fields are modified in an update.
         */
        updateMask?: string | null;
    }
    /**
     * A single operation (create, update, remove) on a conversion value rule set.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__ConversionValueRuleSetOperation {
        /**
         * Create operation: No resource name is expected for the new conversion value rule set.
         */
        create?: Schema$GoogleAdsSearchads360V23Resources__ConversionValueRuleSet;
        /**
         * Remove operation: A resource name for the removed conversion value rule set is expected, in this format: `customers/{customer_id\}/conversionValueRuleSets/{conversion_value_rule_set_id\}`
         */
        remove?: string | null;
        /**
         * Update operation: The conversion value rule set is expected to have a valid resource name.
         */
        update?: Schema$GoogleAdsSearchads360V23Resources__ConversionValueRuleSet;
        /**
         * FieldMask that determines which resource fields are modified in an update.
         */
        updateMask?: string | null;
    }
    /**
     * Request message for AccountLinkService.CreateAccountLink.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__CreateAccountLinkRequest {
        /**
         * Required. The account link to be created.
         */
        accountLink?: Schema$GoogleAdsSearchads360V23Resources__AccountLink;
    }
    /**
     * Response message for AccountLinkService.CreateAccountLink.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__CreateAccountLinkResponse {
        /**
         * Returned for successful operations. Resource name of the account link.
         */
        resourceName?: string | null;
    }
    /**
     * Request message for CustomerService.CreateCustomerClient.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__CreateCustomerClientRequest {
        /**
         * The proposed role of user on the created client customer. Accessible only to customers on the allow-list.
         */
        accessRole?: string | null;
        /**
         * Required. The new client customer to create. The resource name on this customer will be ignored.
         */
        customerClient?: Schema$GoogleAdsSearchads360V23Resources__Customer;
        /**
         * Email address of the user who should be invited on the created client customer. Accessible only to customers on the allow-list.
         */
        emailAddress?: string | null;
        /**
         * If true, the request is validated but not executed. Only errors are returned, not results.
         */
        validateOnly?: boolean | null;
    }
    /**
     * Response message for CreateCustomerClient mutate.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__CreateCustomerClientResponse {
        /**
         * Link for inviting user to access the created customer. Accessible to allowlisted customers only.
         */
        invitationLink?: string | null;
        /**
         * The resource name of the newly created customer. Customer resource names have the form: `customers/{customer_id\}`.
         */
        resourceName?: string | null;
    }
    /**
     * Request message for DataLinkService.CreateDataLink.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__CreateDataLinkRequest {
        /**
         * Required. The data link to be created.
         */
        dataLink?: Schema$GoogleAdsSearchads360V23Resources__DataLink;
    }
    /**
     * Response message for DataLinkService.CreateDataLink.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__CreateDataLinkResponse {
        /**
         * Returned for successful operations. Resource name of the data link.
         */
        resourceName?: string | null;
    }
    /**
     * Request message for OfflineUserDataJobService.CreateOfflineUserDataJob.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__CreateOfflineUserDataJobRequest {
        /**
         * If true, match rate range for the offline user data job is calculated and made available in the resource.
         */
        enableMatchRateRangePreview?: boolean | null;
        /**
         * Required. The offline user data job to be created.
         */
        job?: Schema$GoogleAdsSearchads360V23Resources__OfflineUserDataJob;
        /**
         * If true, the request is validated but not executed. Only errors are returned, not results.
         */
        validateOnly?: boolean | null;
    }
    /**
     * Response message for OfflineUserDataJobService.CreateOfflineUserDataJob.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__CreateOfflineUserDataJobResponse {
        /**
         * The resource name of the OfflineUserDataJob.
         */
        resourceName?: string | null;
    }
    /**
     * Request message for ProductLinkInvitationService.CreateProductLinkInvitation.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__CreateProductLinkInvitationRequest {
        /**
         * Required. The product link invitation to be created.
         */
        productLinkInvitation?: Schema$GoogleAdsSearchads360V23Resources__ProductLinkInvitation;
    }
    /**
     * Response message for product link invitation create.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__CreateProductLinkInvitationResponse {
        /**
         * Resource name of the product link invitation.
         */
        resourceName?: string | null;
    }
    /**
     * Request message for ProductLinkService.CreateProductLink.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__CreateProductLinkRequest {
        /**
         * Required. The product link to be created.
         */
        productLink?: Schema$GoogleAdsSearchads360V23Resources__ProductLink;
    }
    /**
     * Response message for ProductLinkService.CreateProductLink.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__CreateProductLinkResponse {
        /**
         * Returned for successful operations. Resource name of the product link.
         */
        resourceName?: string | null;
    }
    /**
     * Location Criterion bid modifier.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__CriterionBidModifier {
        /**
         * The associated multiplier for the criterion_id. If set, this value cannot be 0.
         */
        bidModifier?: number | null;
        /**
         * The resource name of the geo location to target. The resource name is of the format "geoTargetConstants/{criterion_id\}".
         */
        geoTargetConstant?: string | null;
    }
    /**
     * A single operation (create, update) on a custom audience.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__CustomAudienceOperation {
        /**
         * Create operation: No resource name is expected for the new custom audience.
         */
        create?: Schema$GoogleAdsSearchads360V23Resources__CustomAudience;
        /**
         * Remove operation: A resource name for the removed custom audience is expected, in this format: `customers/{customer_id\}/customAudiences/{custom_audience_id\}`
         */
        remove?: string | null;
        /**
         * Update operation: The custom audience is expected to have a valid resource name.
         */
        update?: Schema$GoogleAdsSearchads360V23Resources__CustomAudience;
        /**
         * FieldMask that determines which resource fields are modified in an update.
         */
        updateMask?: string | null;
    }
    /**
     * Message for custom column header.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__CustomColumnHeader {
        /**
         * The custom column ID.
         */
        id?: string | null;
        /**
         * The user defined name of the custom column.
         */
        name?: string | null;
        /**
         * True when the custom column references metrics.
         */
        referencesMetrics?: boolean | null;
    }
    /**
     * A single operation (create, remove) on a custom conversion goal.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__CustomConversionGoalOperation {
        /**
         * Create operation: No resource name is expected for the new custom conversion goal
         */
        create?: Schema$GoogleAdsSearchads360V23Resources__CustomConversionGoal;
        /**
         * Remove operation: A resource name for the removed custom conversion goal is expected, in this format: 'customers/{customer_id\}/customConversionGoals/{goal_id\}'
         */
        remove?: string | null;
        /**
         * Update operation: The custom conversion goal is expected to have a valid resource name.
         */
        update?: Schema$GoogleAdsSearchads360V23Resources__CustomConversionGoal;
        /**
         * FieldMask that determines which resource fields are modified in an update.
         */
        updateMask?: string | null;
    }
    /**
     * A single operation (create, update, remove) on a customer asset.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__CustomerAssetOperation {
        /**
         * Create operation: No resource name is expected for the new customer asset.
         */
        create?: Schema$GoogleAdsSearchads360V23Resources__CustomerAsset;
        /**
         * Remove operation: A resource name for the removed customer asset is expected, in this format: `customers/{customer_id\}/customerAssets/{asset_id\}~{field_type\}`
         */
        remove?: string | null;
        /**
         * Update operation: The customer asset is expected to have a valid resource name.
         */
        update?: Schema$GoogleAdsSearchads360V23Resources__CustomerAsset;
        /**
         * FieldMask that determines which resource fields are modified in an update.
         */
        updateMask?: string | null;
    }
    /**
     * A single operation (create, remove) on a customer asset set.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__CustomerAssetSetOperation {
        /**
         * Create operation: No resource name is expected for the new customer asset set.
         */
        create?: Schema$GoogleAdsSearchads360V23Resources__CustomerAssetSet;
        /**
         * Remove operation: A resource name for the removed customer asset set is expected, in this format: `customers/{customer_id\}/customerAssetSets/{asset_set_id\}`
         */
        remove?: string | null;
    }
    /**
     * A single operation (create, update) on a CustomerClientLink.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__CustomerClientLinkOperation {
        /**
         * Create operation: No resource name is expected for the new link.
         */
        create?: Schema$GoogleAdsSearchads360V23Resources__CustomerClientLink;
        /**
         * Update operation: The link is expected to have a valid resource name.
         */
        update?: Schema$GoogleAdsSearchads360V23Resources__CustomerClientLink;
        /**
         * FieldMask that determines which resource fields are modified in an update.
         */
        updateMask?: string | null;
    }
    /**
     * A single operation (update) on a customer conversion goal.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__CustomerConversionGoalOperation {
        /**
         * Update operation: The customer conversion goal is expected to have a valid resource name.
         */
        update?: Schema$GoogleAdsSearchads360V23Resources__CustomerConversionGoal;
        /**
         * FieldMask that determines which resource fields are modified in an update.
         */
        updateMask?: string | null;
    }
    /**
     * A single operation (create, remove) on a customizer attribute.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__CustomerCustomizerOperation {
        /**
         * Create operation: No resource name is expected for the new customer customizer
         */
        create?: Schema$GoogleAdsSearchads360V23Resources__CustomerCustomizer;
        /**
         * Remove operation: A resource name for the removed customer customizer is expected, in this format: `customers/{customer_id\}/customerCustomizers/{customizer_attribute_id\}`
         */
        remove?: string | null;
    }
    /**
     * A single operation (create, remove) on a customer-label relationship.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__CustomerLabelOperation {
        /**
         * Create operation: No resource name is expected for the new customer-label relationship.
         */
        create?: Schema$GoogleAdsSearchads360V23Resources__CustomerLabel;
        /**
         * Remove operation: A resource name for the customer-label relationship being removed, in this format: `customers/{customer_id\}/customerLabels/{label_id\}`
         */
        remove?: string | null;
    }
    /**
     * A single operation on a customer lifecycle goal.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__CustomerLifecycleGoalOperation {
        create?: Schema$GoogleAdsSearchads360V23Resources__CustomerLifecycleGoal;
        /**
         * Update operation: Update an existing customer lifecycle goal.
         */
        update?: Schema$GoogleAdsSearchads360V23Resources__CustomerLifecycleGoal;
        /**
         * Optional. FieldMask that determines which resource fields are modified in an update.
         */
        updateMask?: string | null;
    }
    /**
     * Updates the status of a CustomerManagerLink. The following actions are possible: 1. Update operation with status ACTIVE accepts a pending invitation. 2. Update operation with status REFUSED declines a pending invitation. 3. Update operation with status INACTIVE terminates link to manager.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__CustomerManagerLinkOperation {
        /**
         * Update operation: The link is expected to have a valid resource name.
         */
        update?: Schema$GoogleAdsSearchads360V23Resources__CustomerManagerLink;
        /**
         * FieldMask that determines which resource fields are modified in an update.
         */
        updateMask?: string | null;
    }
    /**
     * A single operation (create or remove) on a customer level negative criterion.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__CustomerNegativeCriterionOperation {
        /**
         * Create operation: No resource name is expected for the new criterion.
         */
        create?: Schema$GoogleAdsSearchads360V23Resources__CustomerNegativeCriterion;
        /**
         * Remove operation: A resource name for the removed criterion is expected, in this format: `customers/{customer_id\}/customerNegativeCriteria/{criterion_id\}`
         */
        remove?: string | null;
    }
    /**
     * A single update on a customer.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__CustomerOperation {
        /**
         * Mutate operation. Only updates are supported for customer.
         */
        update?: Schema$GoogleAdsSearchads360V23Resources__Customer;
        /**
         * FieldMask that determines which resource fields are modified in an update.
         */
        updateMask?: string | null;
    }
    /**
     * A single update operation for a CustomerSkAdNetworkConversionValueSchema.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__CustomerSkAdNetworkConversionValueSchemaOperation {
        /**
         * Update operation: The schema is expected to have a valid resource name.
         */
        update?: Schema$GoogleAdsSearchads360V23Resources__CustomerSkAdNetworkConversionValueSchema;
    }
    /**
     * A single operation (create or remove) on customer user access invitation.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__CustomerUserAccessInvitationOperation {
        /**
         * Create operation: No resource name is expected for the new access invitation.
         */
        create?: Schema$GoogleAdsSearchads360V23Resources__CustomerUserAccessInvitation;
        /**
         * Remove operation: A resource name for the revoke invitation is expected, in this format: `customers/{customer_id\}/customerUserAccessInvitations/{invitation_id\}`
         */
        remove?: string | null;
    }
    /**
     * A single operation (update, remove) on customer user access.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__CustomerUserAccessOperation {
        /**
         * Remove operation: A resource name for the removed access is expected, in this format: `customers/{customer_id\}/customerUserAccesses/{CustomerUserAccess.user_id\}`
         */
        remove?: string | null;
        /**
         * Update operation: The customer user access is expected to have a valid resource name.
         */
        update?: Schema$GoogleAdsSearchads360V23Resources__CustomerUserAccess;
        /**
         * FieldMask that determines which resource fields are modified in an update.
         */
        updateMask?: string | null;
    }
    /**
     * A single operation (create, update) on a custom interest.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__CustomInterestOperation {
        /**
         * Create operation: No resource name is expected for the new custom interest.
         */
        create?: Schema$GoogleAdsSearchads360V23Resources__CustomInterest;
        /**
         * Update operation: The custom interest is expected to have a valid resource name.
         */
        update?: Schema$GoogleAdsSearchads360V23Resources__CustomInterest;
        /**
         * FieldMask that determines which resource fields are modified in an update.
         */
        updateMask?: string | null;
    }
    /**
     * A single operation (create, remove) on a customizer attribute.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__CustomizerAttributeOperation {
        /**
         * Create operation: No resource name is expected for the new customizer attribute
         */
        create?: Schema$GoogleAdsSearchads360V23Resources__CustomizerAttribute;
        /**
         * Remove operation: A resource name for the removed customizer attribute is expected, in this format: `customers/{customer_id\}/customizerAttributes/{customizer_attribute_id\}`
         */
        remove?: string | null;
        /**
         * FieldMask that determines which resource fields are modified in an update.
         */
        updateMask?: string | null;
    }
    /**
     * A custom variable.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__CustomVariable {
        /**
         * Resource name of the custom variable associated with this conversion. Note: Although this resource name consists of a customer id and a conversion custom variable id, validation will ignore the customer id and use the conversion custom variable id as the sole identifier of the conversion custom variable.
         */
        conversionCustomVariable?: string | null;
        /**
         * The value string of this custom variable. The value of the custom variable should not contain private customer data, such as email addresses or phone numbers.
         */
        value?: string | null;
    }
    /**
     * An incentive offer in the Choose-Your-Own Incentive feature where a user can select from a set of incentives with different money amounts.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__CyoIncentives {
        /**
         * Required. The CYO incentive with high target and award amounts.
         */
        highOffer?: Schema$GoogleAdsSearchads360V23Services__Incentive;
        /**
         * Required. The CYO incentive with low target and award amounts.
         */
        lowOffer?: Schema$GoogleAdsSearchads360V23Services__Incentive;
        /**
         * Required. The CYO incentive with medium target and award amounts.
         */
        mediumOffer?: Schema$GoogleAdsSearchads360V23Services__Incentive;
    }
    /**
     * A list of audience attributes of a single dimension, including their overlap with a primary attribute, returned as part of a GenerateAudienceOverlapInsightsResponse.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__DimensionOverlapResult {
        /**
         * The dimension of all the attributes in this section.
         */
        dimension?: string | null;
        /**
         * The attributes and their overlap with the primary attribute.
         */
        items?: Schema$GoogleAdsSearchads360V23Services__AudienceOverlapItem[];
    }
    /**
     * Request message for RecommendationService.DismissRecommendation.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__DismissRecommendationRequest {
        /**
         * Required. The list of operations to dismiss recommendations. If partial_failure=false all recommendations should be of the same type There is a limit of 100 operations per request.
         */
        operations?: Schema$GoogleAdsSearchads360V23Services_DismissRecommendationRequest_DismissRecommendationOperation[];
        /**
         * If true, successful operations will be carried out and invalid operations will return errors. If false, operations will be carried in a single transaction if and only if they are all valid. Default is false.
         */
        partialFailure?: boolean | null;
    }
    /**
     * Response message for RecommendationService.DismissRecommendation.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__DismissRecommendationResponse {
        /**
         * Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors) we return the RPC level error.
         */
        partialFailureError?: Schema$GoogleRpc__Status;
        /**
         * Results of operations to dismiss recommendations.
         */
        results?: Schema$GoogleAdsSearchads360V23Services_DismissRecommendationResponse_DismissRecommendationResult[];
    }
    /**
     * A breakdown of the number of unique people reached at a given effective frequency.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__EffectiveFrequencyBreakdown {
        /**
         * The number of users (including co-viewing users) reached for the associated effective_frequency value.
         */
        effectiveCoviewReach?: string | null;
        /**
         * The effective frequency [1-10].
         */
        effectiveFrequency?: number | null;
        /**
         * The number of users (including co-viewing users) reached for the associated effective_frequency value within the specified plan demographic.
         */
        onTargetEffectiveCoviewReach?: string | null;
        /**
         * The number of unique people reached at least effective_frequency times that exactly matches the Targeting. Note that a minimum number of unique people must be reached in order for data to be reported. If the minimum number is not met, the on_target_reach value will be rounded to 0.
         */
        onTargetReach?: string | null;
        /**
         * Total number of unique people reached at least effective_frequency times. This includes people that may fall outside the specified Targeting. Note that a minimum number of unique people must be reached in order for data to be reported. If the minimum number is not met, the total_reach value will be rounded to 0.
         */
        totalReach?: string | null;
    }
    /**
     * Effective frequency limit.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__EffectiveFrequencyLimit {
        /**
         * The highest effective frequency value to include in Forecast.effective_frequency_breakdowns. This field supports frequencies 1-10, inclusive.
         */
        effectiveFrequencyBreakdownLimit?: number | null;
    }
    /**
     * A single enablement result of a campaign.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__EnablementResult {
        /**
         * This indicates the campaign for which enablement was tried, regardless of the outcome.
         */
        campaign?: string | null;
        /**
         * Details of the error when enablement fails.
         */
        enablementError?: Schema$GoogleRpc__Status;
    }
    /**
     * A single enable operation of a campaign.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__EnableOperation {
        /**
         * Optional. Hex code representation of the accent brand color, for example #00ff00. accent_color is required when main_color is specified.
         */
        accentColor?: string | null;
        /**
         * Required. The switch to automatically populate top-performing brand assets. This field is required. If true, top-performing brand assets will be automatically populated. If false, the brand_assets field is required.
         */
        autoPopulateBrandAssets?: boolean | null;
        /**
         * Optional. The brand assets linked to the campaign. This field is required when the value of auto_populate_brand_assets is false.
         */
        brandAssets?: Schema$GoogleAdsSearchads360V23Services__BrandCampaignAssets;
        /**
         * Required. The resource name of the campaign to enable.
         */
        campaign?: string | null;
        /**
         * Optional. The domain of the final uri.
         */
        finalUriDomain?: string | null;
        /**
         * Optional. The font family is specified as a string, and must be one of the following: "Open Sans", "Roboto", "Roboto Slab", "Montserrat", "Poppins", "Lato", "Oswald", or "Playfair Display".
         */
        fontFamily?: string | null;
        /**
         * Optional. Hex code representation of the main brand color, for example #00ff00. main_color is required when accent color is specified.
         */
        mainColor?: string | null;
    }
    /**
     * Request to enable Brand Guidelines for a Performance Max campaign.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__EnablePMaxBrandGuidelinesRequest {
        /**
         * Required. The list of individual campaign operations. A maximum of 10 enable operations can be executed in a request.
         */
        operations?: Schema$GoogleAdsSearchads360V23Services__EnableOperation[];
    }
    /**
     * Brand Guidelines campaign enablement response.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__EnablePMaxBrandGuidelinesResponse {
        /**
         * Campaign enablement results per campaign.
         */
        results?: Schema$GoogleAdsSearchads360V23Services__EnablementResult[];
    }
    /**
     * Request message for ExperimentService.EndExperiment.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__EndExperimentRequest {
        /**
         * If true, the request is validated but not executed. Only errors are returned, not results.
         */
        validateOnly?: boolean | null;
    }
    /**
     * A single operation on an experiment arm.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__ExperimentArmOperation {
        /**
         * Create operation
         */
        create?: Schema$GoogleAdsSearchads360V23Resources__ExperimentArm;
        /**
         * Remove operation: The experiment arm is expected to have a valid resource name, in this format: `customers/{customer_id\}/experiments/{campaign_experiment_id\}`
         */
        remove?: string | null;
        /**
         * Update operation: The experiment arm is expected to have a valid resource name.
         */
        update?: Schema$GoogleAdsSearchads360V23Resources__ExperimentArm;
        /**
         * FieldMask that determines which resource fields are modified in an update.
         */
        updateMask?: string | null;
    }
    /**
     * A single operation on an experiment.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__ExperimentOperation {
        /**
         * Create operation
         */
        create?: Schema$GoogleAdsSearchads360V23Resources__Experiment;
        /**
         * Remove operation: The experiment is expected to have a valid resource name, in this format: `customers/{customer_id\}/experiments/{campaign_experiment_id\}`
         */
        remove?: string | null;
        /**
         * Update operation: The experiment is expected to have a valid resource name.
         */
        update?: Schema$GoogleAdsSearchads360V23Resources__Experiment;
        /**
         * FieldMask that determines which resource fields are modified in an update.
         */
        updateMask?: string | null;
    }
    /**
     * Contains additional information about externally attributed conversions.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__ExternalAttributionData {
        /**
         * Represents the fraction of the conversion that is attributed to the Google Ads click.
         */
        externalAttributionCredit?: number | null;
        /**
         * Specifies the attribution model name.
         */
        externalAttributionModel?: string | null;
    }
    /**
     * Response from getting the acquisition incentive for a user when they visit a specific marketing page.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__FetchIncentiveResponse {
        /**
         * Required. The acquisition incentive offer for the user.
         */
        incentiveOffer?: Schema$GoogleAdsSearchads360V23Services__IncentiveOffer;
    }
    /**
     * Forecasted traffic metrics for the planned products and targeting.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__Forecast {
        /**
         * The number of conversions. This metric is only available for DEMAND_GEN plannable products. See https://support.google.com/google-ads/answer/2375431 for more information on conversions.
         */
        conversions?: number | null;
        /**
         * A list of effective frequency forecasts. The list is ordered starting with 1+ and ending with the value set in GenerateReachForecastRequest.effective_frequency_limit. If no effective_frequency_limit was set, this list will be empty.
         */
        effectiveFrequencyBreakdowns?: Schema$GoogleAdsSearchads360V23Services__EffectiveFrequencyBreakdown[];
        /**
         * Number of ad impressions that exactly matches the Targeting including co-viewers.
         */
        onTargetCoviewImpressions?: string | null;
        /**
         * Number of unique people reached that exactly matches the Targeting including co-viewers.
         */
        onTargetCoviewReach?: string | null;
        /**
         * Number of ad impressions that exactly matches the Targeting.
         */
        onTargetImpressions?: string | null;
        /**
         * Number of unique people reached at least GenerateReachForecastRequest.min_effective_frequency or GenerateReachForecastRequest.effective_frequency_limit times that exactly matches the Targeting. Note that a minimum number of unique people must be reached in order for data to be reported. If the minimum number is not met, the on_target_reach value will be rounded to 0.
         */
        onTargetReach?: string | null;
        /**
         * Total number of ad impressions including co-viewers. This includes impressions that may fall outside the specified Targeting, due to insufficient information on signed-in users.
         */
        totalCoviewImpressions?: string | null;
        /**
         * Number of unique people reached including co-viewers. This includes people that may fall outside the specified Targeting.
         */
        totalCoviewReach?: string | null;
        /**
         * Total number of ad impressions. This includes impressions that may fall outside the specified Targeting, due to insufficient information on signed-in users.
         */
        totalImpressions?: string | null;
        /**
         * Total number of unique people reached at least GenerateReachForecastRequest.min_effective_frequency or GenerateReachForecastRequest.effective_frequency_limit times. This includes people that may fall outside the specified Targeting. Note that a minimum number of unique people must be reached in order for data to be reported. If the minimum number is not met, the total_reach value will be rounded to 0.
         */
        totalReach?: string | null;
        /**
         * Number of ad views forecasted for the specified product and targeting. A TrueView View is counted when a viewer views a larger portion or the entirety of an ad beyond an impression. See https://support.google.com/google-ads/answer/2375431 for more information on TrueView Views.
         */
        trueviewViews?: string | null;
        /**
         * Number of times the ad's impressions were considered viewable. See https://support.google.com/google-ads/answer/7029393 for more information about what makes an ad viewable and how viewability is measured.
         */
        viewableImpressions?: string | null;
    }
    /**
     * An ad group that is part of a campaign to be forecasted.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__ForecastAdGroup {
        /**
         * Required. The list of biddable keywords to be used in the ad group when doing the forecast. Requires at least one keyword.
         */
        biddableKeywords?: Schema$GoogleAdsSearchads360V23Services__BiddableKeyword[];
        /**
         * The max cpc to use for the ad group when generating forecasted traffic. This value will override the max cpc value set in the bidding strategy. Only specify this field for bidding strategies that max cpc values.
         */
        maxCpcBidMicros?: string | null;
        /**
         * The details of the keyword. You should specify both the keyword text and match type.
         */
        negativeKeywords?: Schema$GoogleAdsSearchads360V23Common__KeywordInfo[];
    }
    /**
     * Controls forecast metrics to return.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__ForecastMetricOptions {
        /**
         * Indicates whether to include co-view metrics in the response forecast.
         */
        includeCoview?: boolean | null;
    }
    /**
     * A rule specifying the maximum number of times an ad can be shown to a user over a particular time period.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__FrequencyCap {
        /**
         * Required. The number of impressions, inclusive.
         */
        impressions?: number | null;
        /**
         * Required. The type of time unit.
         */
        timeUnit?: string | null;
    }
    /**
     * Uniquely identifies a conversion that was reported without an order ID specified.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__GclidDateTimePair {
        /**
         * The date time at which the original conversion for this adjustment occurred. The timezone must be specified. The format is "yyyy-mm-dd hh:mm:ss+|-hh:mm", for example, "2019-01-01 12:32:45-08:00".
         */
        conversionDateTime?: string | null;
        /**
         * Google click ID (gclid) associated with the original conversion for this adjustment.
         */
        gclid?: string | null;
    }
    /**
     * Request message for KeywordPlanIdeaService.GenerateAdGroupThemes.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__GenerateAdGroupThemesRequest {
        /**
         * Required. A list of resource names of AdGroups to group keywords into. Resource name format: `customers/{customer_id\}/adGroups/{ad_group_id\}`
         */
        adGroups?: string[] | null;
        /**
         * Required. A list of keywords to group into the provided AdGroups.
         */
        keywords?: string[] | null;
    }
    /**
     * Response message for KeywordPlanIdeaService.GenerateAdGroupThemes.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__GenerateAdGroupThemesResponse {
        /**
         * A list of suggested AdGroup/keyword pairings.
         */
        adGroupKeywordSuggestions?: Schema$GoogleAdsSearchads360V23Services__AdGroupKeywordSuggestion[];
        /**
         * A list of provided AdGroups that could not be used as suggestions.
         */
        unusableAdGroups?: Schema$GoogleAdsSearchads360V23Services__UnusableAdGroup[];
    }
    /**
     * Request message for AudienceInsightsService.GenerateAudienceCompositionInsights.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__GenerateAudienceCompositionInsightsRequest {
        /**
         * Required. The audience of interest for which insights are being requested.
         */
        audience?: Schema$GoogleAdsSearchads360V23Services__InsightsAudience;
        /**
         * The baseline audience to which the audience of interest is being compared.
         */
        baselineAudience?: Schema$GoogleAdsSearchads360V23Services__InsightsAudience;
        /**
         * The name of the customer being planned for. This is a user-defined value.
         */
        customerInsightsGroup?: string | null;
        /**
         * The one-month range of historical data to use for insights, in the format "yyyy-mm". If unset, insights will be returned for the last thirty days of data.
         */
        dataMonth?: string | null;
        /**
         * Required. The audience dimensions for which composition insights should be returned. Supported dimensions are KNOWLEDGE_GRAPH, GEO_TARGET_COUNTRY, SUB_COUNTRY_LOCATION, YOUTUBE_CHANNEL, YOUTUBE_LINEUP, AFFINITY_USER_INTEREST, IN_MARKET_USER_INTEREST, .
         */
        dimensions?: string[] | null;
        /**
         * Optional. Additional information on the application issuing the request.
         */
        insightsApplicationInfo?: Schema$GoogleAdsSearchads360V23Common__AdditionalApplicationInfo;
    }
    /**
     * Response message for AudienceInsightsService.GenerateAudienceCompositionInsights.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__GenerateAudienceCompositionInsightsResponse {
        /**
         * The contents of the insights report, organized into sections. Each section is associated with one of the AudienceInsightsDimension values in the request. There may be more than one section per dimension.
         */
        sections?: Schema$GoogleAdsSearchads360V23Services__AudienceCompositionSection[];
    }
    /**
     * Request message for AudienceInsightsService.GenerateAudienceDefinition.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__GenerateAudienceDefinitionRequest {
        /**
         * Required. Provide a text description of an audience to get AI-generated structured suggestions. This can take around 5 or more seconds to complete Supported marketing objectives are: AWARENESS, CONSIDERATION and RESEARCH. Supported dimensions are: AGE_RANGE, GENDER, PARENTAL_STATUS, AFFINITY_USER_INTEREST, IN_MARKET_USER_INTEREST, LIFE_EVENT_USER_INTEREST, CATEGORY and KNOWLEDGE_GRAPH.
         */
        audienceDescription?: Schema$GoogleAdsSearchads360V23Services__InsightsAudienceDescription;
        /**
         * Optional. The name of the customer being planned for. This is a user-defined value.
         */
        customerInsightsGroup?: string | null;
        /**
         * Optional. Additional information on the application issuing the request.
         */
        insightsApplicationInfo?: Schema$GoogleAdsSearchads360V23Common__AdditionalApplicationInfo;
    }
    /**
     * Response message for AudienceInsightsService.GenerateAudienceDefinition.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__GenerateAudienceDefinitionResponse {
        /**
         * The attributes that make up the audience definition.
         */
        highRelevanceAttributes?: Schema$GoogleAdsSearchads360V23Common__AudienceInsightsAttributeMetadata[];
        /**
         * Additional attributes that are less relevant but still related to the audience description. Use these attributes to broaden the audience definition to reach more users.
         */
        mediumRelevanceAttributes?: Schema$GoogleAdsSearchads360V23Common__AudienceInsightsAttributeMetadata[];
    }
    /**
     * Request message for AudienceInsightsService.GenerateAudienceOverlapInsights.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__GenerateAudienceOverlapInsightsRequest {
        /**
         * Required. The country in which to calculate the sizes and overlaps of audiences.
         */
        countryLocation?: Schema$GoogleAdsSearchads360V23Common__LocationInfo;
        /**
         * The name of the customer being planned for. This is a user-defined value.
         */
        customerInsightsGroup?: string | null;
        /**
         * Required. The types of attributes of which to calculate the overlap with the primary_attribute. The values must be a subset of AFFINITY_USER_INTEREST, IN_MARKET_USER_INTEREST, AGE_RANGE and GENDER.
         */
        dimensions?: string[] | null;
        /**
         * Optional. Additional information on the application issuing the request.
         */
        insightsApplicationInfo?: Schema$GoogleAdsSearchads360V23Common__AdditionalApplicationInfo;
        /**
         * Required. The audience attribute that should be intersected with all other eligible audiences. This must be an Affinity or In-Market UserInterest, an AgeRange or a Gender.
         */
        primaryAttribute?: Schema$GoogleAdsSearchads360V23Common__AudienceInsightsAttribute;
    }
    /**
     * Response message for AudienceInsightsService.GenerateAudienceOverlapInsights.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__GenerateAudienceOverlapInsightsResponse {
        /**
         * Lists of attributes and their overlap with the primary attribute, one list per requested dimension.
         */
        dimensionResults?: Schema$GoogleAdsSearchads360V23Services__DimensionOverlapResult[];
        /**
         * Metadata for the primary attribute, including potential YouTube reach.
         */
        primaryAttributeMetadata?: Schema$GoogleAdsSearchads360V23Common__AudienceInsightsAttributeMetadata;
    }
    /**
     * Request message for BenchmarksService.GenerateBenchmarksMetrics.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__GenerateBenchmarksMetricsRequest {
        /**
         * Additional information on the application issuing the request.
         */
        applicationInfo?: Schema$GoogleAdsSearchads360V23Common__AdditionalApplicationInfo;
        /**
         * Required. The source used to generate benchmarks metrics for.
         */
        benchmarksSource?: Schema$GoogleAdsSearchads360V23Services__BenchmarksSource;
        /**
         * Optional. The three-character ISO 4217 currency code. If unspecified, the default currency for monetary values is USD.
         */
        currencyCode?: string | null;
        /**
         * The name of the customer being planned for. This is a user-defined value.
         */
        customerBenchmarksGroup?: string | null;
        /**
         * The date range to aggregate metrics over. If unset, data will be returned for the most recent quarter for which data is available. Dates can be retrieved using BenchmarksService.ListBenchmarksAvailableDates.
         */
        dateRange?: Schema$GoogleAdsSearchads360V23Common__DateRange;
        /**
         * Required. The location to generate benchmarks metrics for.
         */
        location?: Schema$GoogleAdsSearchads360V23Common__LocationInfo;
        /**
         * Required. The products to aggregate metrics over. Product filter settings support a list of product IDs or a list of marketing objectives.
         */
        productFilter?: Schema$GoogleAdsSearchads360V23Services__ProductFilter;
    }
    /**
     * Response message for BenchmarksService.GenerateBenchmarksMetrics.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__GenerateBenchmarksMetricsResponse {
        /**
         * Metrics for the selected benchmarks source.
         */
        averageBenchmarksMetrics?: Schema$GoogleAdsSearchads360V23Services__Metrics;
        /**
         * Metrics belonging to the customer.
         */
        customerMetrics?: Schema$GoogleAdsSearchads360V23Services__Metrics;
    }
    /**
     * Request message for ReachPlanService.GenerateConversionRates.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__GenerateConversionRatesRequest {
        /**
         * Required. The ID of the customer. A conversion rate based on the historical data of this customer may be suggested.
         */
        customerId?: string | null;
        /**
         * The name of the customer being planned for. This is a user-defined value.
         */
        customerReachGroup?: string | null;
        /**
         * Optional. Additional information on the application issuing the request.
         */
        reachApplicationInfo?: Schema$GoogleAdsSearchads360V23Common__AdditionalApplicationInfo;
    }
    /**
     * Response message for ReachPlanService.GenerateConversionRates, containing conversion rate suggestions for supported plannable products.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__GenerateConversionRatesResponse {
        /**
         * A list containing conversion rate suggestions. Each repeated element will have an associated product code. Multiple suggestions may share the same product code.
         */
        conversionRateSuggestions?: Schema$GoogleAdsSearchads360V23Services__ConversionRateSuggestion[];
    }
    /**
     * Request message for AudienceInsightsService.GenerateInsightsFinderReport.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__GenerateInsightsFinderReportRequest {
        /**
         * Required. A baseline audience for this report, typically all people in a region.
         */
        baselineAudience?: Schema$GoogleAdsSearchads360V23Services__InsightsAudience;
        /**
         * The name of the customer being planned for. This is a user-defined value.
         */
        customerInsightsGroup?: string | null;
        /**
         * Optional. Additional information on the application issuing the request.
         */
        insightsApplicationInfo?: Schema$GoogleAdsSearchads360V23Common__AdditionalApplicationInfo;
        /**
         * Required. The specific audience of interest for this report. The insights in the report will be based on attributes more prevalent in this audience than in the report's baseline audience.
         */
        specificAudience?: Schema$GoogleAdsSearchads360V23Services__InsightsAudience;
    }
    /**
     * The response message for AudienceInsightsService.GenerateInsightsFinderReport, containing the shareable URL for the report.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__GenerateInsightsFinderReportResponse {
        /**
         * An HTTPS URL providing a deep link into the Insights Finder UI with the report inputs filled in according to the request.
         */
        savedReportUrl?: string | null;
    }
    /**
     * Request message for KeywordPlanIdeaService.GenerateKeywordForecastMetrics.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__GenerateKeywordForecastMetricsRequest {
        /**
         * Required. The campaign used in the forecast.
         */
        campaign?: Schema$GoogleAdsSearchads360V23Services__CampaignToForecast;
        /**
         * The currency used for exchange rate conversion. By default, the account currency of the customer is used. Set this field only if the currency is different from the account currency. The list of valid currency codes can be found at https://developers.google.com/google-ads/api/data/codes-formats#currency-codes.
         */
        currencyCode?: string | null;
        /**
         * The date range for the forecast. The start date must be in the future and end date must be within 1 year from today. The reference timezone used is the one of the Google Ads account belonging to the customer. If not set, a default date range from next Sunday to the following Saturday will be used.
         */
        forecastPeriod?: Schema$GoogleAdsSearchads360V23Common__DateRange;
    }
    /**
     * Response message for KeywordPlanIdeaService.GenerateKeywordForecastMetrics.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__GenerateKeywordForecastMetricsResponse {
        /**
         * Results of the campaign forecast.
         */
        campaignForecastMetrics?: Schema$GoogleAdsSearchads360V23Services__KeywordForecastMetrics;
    }
    /**
     * Request message for KeywordPlanIdeaService.GenerateKeywordHistoricalMetrics.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__GenerateKeywordHistoricalMetricsRequest {
        /**
         * The aggregate fields to include in response.
         */
        aggregateMetrics?: Schema$GoogleAdsSearchads360V23Common__KeywordPlanAggregateMetrics;
        /**
         * The resource names of the location to target. Maximum is 10. An empty list MAY be used to specify all targeting geos.
         */
        geoTargetConstants?: string[] | null;
        /**
         * The options for historical metrics data.
         */
        historicalMetricsOptions?: Schema$GoogleAdsSearchads360V23Common__HistoricalMetricsOptions;
        /**
         * If true, adult keywords will be included in response. The default value is false.
         */
        includeAdultKeywords?: boolean | null;
        /**
         * Targeting network. If not set, Google Search And Partners Network will be used.
         */
        keywordPlanNetwork?: string | null;
        /**
         * A list of keywords to get historical metrics. Not all inputs will be returned as a result of near-exact deduplication. For example, if stats for "car" and "cars" are requested, only "car" will be returned. A maximum of 10,000 keywords can be used.
         */
        keywords?: string[] | null;
        /**
         * The resource name of the language to target. Each keyword belongs to some set of languages; a keyword is included if language is one of its languages. If not set, all keywords will be included.
         */
        language?: string | null;
    }
    /**
     * Response message for KeywordPlanIdeaService.GenerateKeywordHistoricalMetrics.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__GenerateKeywordHistoricalMetricsResponse {
        /**
         * The aggregate metrics for all keywords.
         */
        aggregateMetricResults?: Schema$GoogleAdsSearchads360V23Common__KeywordPlanAggregateMetricResults;
        /**
         * List of keywords and their historical metrics.
         */
        results?: Schema$GoogleAdsSearchads360V23Services__GenerateKeywordHistoricalMetricsResult[];
    }
    /**
     * The result of generating keyword historical metrics.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__GenerateKeywordHistoricalMetricsResult {
        /**
         * The list of close variants from the requested keywords whose stats are combined into this GenerateKeywordHistoricalMetricsResult.
         */
        closeVariants?: string[] | null;
        /**
         * The historical metrics for text and its close variants
         */
        keywordMetrics?: Schema$GoogleAdsSearchads360V23Common__KeywordPlanHistoricalMetrics;
        /**
         * The text of the query associated with one or more keywords. Note that we de-dupe your keywords list, eliminating close variants before returning the keywords as text. For example, if your request originally contained the keywords "car" and "cars", the returned search query will only contain "cars". The list of de-duped queries will be included in close_variants field.
         */
        text?: string | null;
    }
    /**
     * Response message for KeywordPlanIdeaService.GenerateKeywordIdeas.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__GenerateKeywordIdeaResponse {
        /**
         * The aggregate metrics for all keyword ideas.
         */
        aggregateMetricResults?: Schema$GoogleAdsSearchads360V23Common__KeywordPlanAggregateMetricResults;
        /**
         * Pagination token used to retrieve the next page of results. Pass the content of this string as the `page_token` attribute of the next request. `next_page_token` is not returned for the last page.
         */
        nextPageToken?: string | null;
        /**
         * Results of generating keyword ideas.
         */
        results?: Schema$GoogleAdsSearchads360V23Services__GenerateKeywordIdeaResult[];
        /**
         * Total number of results available.
         */
        totalSize?: string | null;
    }
    /**
     * The result of generating keyword ideas.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__GenerateKeywordIdeaResult {
        /**
         * The list of close variants from the requested keywords that are combined into this GenerateKeywordIdeaResult. See https://support.google.com/google-ads/answer/9342105 for the definition of "close variants".
         */
        closeVariants?: string[] | null;
        /**
         * The annotations for the keyword. The annotation data is only provided if requested.
         */
        keywordAnnotations?: Schema$GoogleAdsSearchads360V23Common__KeywordAnnotations;
        /**
         * The historical metrics for the keyword.
         */
        keywordIdeaMetrics?: Schema$GoogleAdsSearchads360V23Common__KeywordPlanHistoricalMetrics;
        /**
         * Text of the keyword idea. As in Keyword Plan historical metrics, this text may not be an actual keyword, but the canonical form of multiple keywords. See KeywordPlanKeywordHistoricalMetrics message in KeywordPlanService.
         */
        text?: string | null;
    }
    /**
     * Request message for KeywordPlanIdeaService.GenerateKeywordIdeas.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__GenerateKeywordIdeasRequest {
        /**
         * The aggregate fields to include in response.
         */
        aggregateMetrics?: Schema$GoogleAdsSearchads360V23Common__KeywordPlanAggregateMetrics;
        /**
         * The resource names of the location to target. Maximum is 10. An empty list MAY be used to specify all targeting geos.
         */
        geoTargetConstants?: string[] | null;
        /**
         * The options for historical metrics data.
         */
        historicalMetricsOptions?: Schema$GoogleAdsSearchads360V23Common__HistoricalMetricsOptions;
        /**
         * If true, adult keywords will be included in response. The default value is false.
         */
        includeAdultKeywords?: boolean | null;
        /**
         * A Keyword and a specific Url to generate ideas from for example, cars, www.example.com/cars.
         */
        keywordAndUrlSeed?: Schema$GoogleAdsSearchads360V23Services__KeywordAndUrlSeed;
        /**
         * The keyword annotations to include in response.
         */
        keywordAnnotation?: string[] | null;
        /**
         * Targeting network. If not set, Google Search And Partners Network will be used.
         */
        keywordPlanNetwork?: string | null;
        /**
         * A Keyword or phrase to generate ideas from, for example, cars.
         */
        keywordSeed?: Schema$GoogleAdsSearchads360V23Services__KeywordSeed;
        /**
         * The resource name of the language to target. Each keyword belongs to some set of languages; a keyword is included if language is one of its languages. If not set, all keywords will be included.
         */
        language?: string | null;
        /**
         * Number of results to retrieve in a single page. A maximum of 10,000 results may be returned, if the page_size exceeds this, it is ignored. If unspecified, at most 10,000 results will be returned. The server may decide to further limit the number of returned resources. If the response contains fewer than 10,000 results it may not be assumed as last page of results.
         */
        pageSize?: number | null;
        /**
         * Token of the page to retrieve. If not specified, the first page of results will be returned. To request next page of results use the value obtained from `next_page_token` in the previous response. The request fields must match across pages.
         */
        pageToken?: string | null;
        /**
         * The site to generate ideas from, for example, www.example.com.
         */
        siteSeed?: Schema$GoogleAdsSearchads360V23Services__SiteSeed;
        /**
         * A specific url to generate ideas from, for example, www.example.com/cars.
         */
        urlSeed?: Schema$GoogleAdsSearchads360V23Services__UrlSeed;
    }
    /**
     * Request message for ReachPlanService.GenerateReachForecast.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__GenerateReachForecastRequest {
        /**
         * Required. Campaign duration.
         */
        campaignDuration?: Schema$GoogleAdsSearchads360V23Services__CampaignDuration;
        /**
         * Chosen cookie frequency cap to be applied to each planned product. This is equivalent to the frequency cap exposed in Google Ads when creating a campaign, it represents the maximum number of times an ad can be shown to the same user. If not specified, no cap is applied. This field is deprecated in v4 and will eventually be removed. Use cookie_frequency_cap_setting instead.
         */
        cookieFrequencyCap?: number | null;
        /**
         * Chosen cookie frequency cap to be applied to each planned product. This is equivalent to the frequency cap exposed in Google Ads when creating a campaign, it represents the maximum number of times an ad can be shown to the same user during a specified time interval. If not specified, a default of 0 (no cap) is applied. This field replaces the deprecated cookie_frequency_cap field.
         */
        cookieFrequencyCapSetting?: Schema$GoogleAdsSearchads360V23Services__FrequencyCap;
        /**
         * The currency code. Three-character ISO 4217 currency code.
         */
        currencyCode?: string | null;
        /**
         * The name of the customer being planned for. This is a user-defined value.
         */
        customerReachGroup?: string | null;
        /**
         * The highest minimum effective frequency (the number of times a person was exposed to the ad) value [1-10] to include in Forecast.effective_frequency_breakdowns. If not specified, Forecast.effective_frequency_breakdowns will not be provided. The effective frequency value provided here will also be used as the minimum effective frequency for the reported reach metrics. This field cannot be combined with the min_effective_frequency field.
         */
        effectiveFrequencyLimit?: Schema$GoogleAdsSearchads360V23Services__EffectiveFrequencyLimit;
        /**
         * Controls the forecast metrics returned in the response.
         */
        forecastMetricOptions?: Schema$GoogleAdsSearchads360V23Services__ForecastMetricOptions;
        /**
         * Chosen minimum effective frequency (the number of times a person was exposed to the ad) for the reported reach metrics [1-10]. This won't affect the targeting, but just the reporting. If not specified, a default of 1 is applied. This field cannot be combined with the effective_frequency_limit field.
         */
        minEffectiveFrequency?: number | null;
        /**
         * Required. The products to be forecast. The max number of allowed planned products is 15.
         */
        plannedProducts?: Schema$GoogleAdsSearchads360V23Services__PlannedProduct[];
        /**
         * Optional. Additional information on the application issuing the request.
         */
        reachApplicationInfo?: Schema$GoogleAdsSearchads360V23Common__AdditionalApplicationInfo;
        /**
         * The targeting to be applied to all products selected in the product mix. This is planned targeting: execution details might vary based on the advertising product, consult an implementation specialist. See specific metrics for details on how targeting affects them.
         */
        targeting?: Schema$GoogleAdsSearchads360V23Services__Targeting;
    }
    /**
     * Response message containing the generated reach curve.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__GenerateReachForecastResponse {
        /**
         * Reference on target audiences for this curve.
         */
        onTargetAudienceMetrics?: Schema$GoogleAdsSearchads360V23Services__OnTargetAudienceMetrics;
        /**
         * The generated reach curve for the planned product mix.
         */
        reachCurve?: Schema$GoogleAdsSearchads360V23Services__ReachCurve;
    }
    /**
     * Request message for RecommendationService.GenerateRecommendations.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__GenerateRecommendationsRequest {
        /**
         * Optional. Current AdGroup Information. Supports information from a single AdGroup. This field is optional for the following recommendation_types: KEYWORD
         */
        adGroupInfo?: Schema$GoogleAdsSearchads360V23Services_GenerateRecommendationsRequest_AdGroupInfo[];
        /**
         * Required. Advertising channel type of the campaign. The following advertising_channel_types are supported for recommendation generation: PERFORMANCE_MAX and SEARCH
         */
        advertisingChannelType?: string | null;
        /**
         * Optional. Current AssetGroup Information. This field is required for the following recommendation_types: CAMPAIGN_BUDGET
         */
        assetGroupInfo?: Schema$GoogleAdsSearchads360V23Services_GenerateRecommendationsRequest_AssetGroupInfo[];
        /**
         * Optional. Current bidding information of the campaign. This field is necessary for the following recommendation_types: MAXIMIZE_CLICKS_OPT_IN, MAXIMIZE_CONVERSIONS_OPT_IN, MAXIMIZE_CONVERSION_VALUE_OPT_IN, SET_TARGET_CPA, SET_TARGET_ROAS, TARGET_CPA_OPT_IN, TARGET_ROAS_OPT_IN
         */
        biddingInfo?: Schema$GoogleAdsSearchads360V23Services_GenerateRecommendationsRequest_BiddingInfo;
        /**
         * Optional. Current budget information. This field is optional for the following recommendation_types: CAMPAIGN_BUDGET
         */
        budgetInfo?: Schema$GoogleAdsSearchads360V23Services_GenerateRecommendationsRequest_BudgetInfo;
        /**
         * Optional. Current campaign call asset count. This field is optional for the following recommendation_types: CAMPAIGN_BUDGET
         */
        campaignCallAssetCount?: number | null;
        /**
         * Optional. Current campaign image asset count. This field is optional for the following recommendation_types: CAMPAIGN_BUDGET
         */
        campaignImageAssetCount?: number | null;
        /**
         * Optional. Number of sitelinks on the campaign. This field is necessary for the following recommendation_types: SITELINK_ASSET
         */
        campaignSitelinkCount?: number | null;
        /**
         * Optional. Current conversion tracking status. This field is necessary for the following recommendation_types: MAXIMIZE_CLICKS_OPT_IN, MAXIMIZE_CONVERSIONS_OPT_IN, MAXIMIZE_CONVERSION_VALUE_OPT_IN, SET_TARGET_CPA, SET_TARGET_ROAS, TARGET_CPA_OPT_IN, TARGET_ROAS_OPT_IN
         */
        conversionTrackingStatus?: string | null;
        /**
         * Optional. Current campaign country codes. This field is required for the following recommendation_types: CAMPAIGN_BUDGET if AdvertisingChannelType is SEARCH
         */
        countryCodes?: string[] | null;
        /**
         * Optional. Whether or not this customer should be treated as a "new" customer (that is, a customer who has not yet created a campaign). Setting this to `true` will cause the backend to generate recommendations using a dedicated recommendation model for onboarding new customers, as opposed to the default model for existing customers. This is only recommended for customers with 0 campaigns. This field is optional for the following recommendation_types: CAMPAIGN_BUDGET
         */
        isNewCustomer?: boolean | null;
        /**
         * Optional. Current campaign language codes. This field is required for the following recommendation_types: CAMPAIGN_BUDGET if AdvertisingChannelType is SEARCH
         */
        languageCodes?: string[] | null;
        /**
         * Optional. Merchant Center account ID. This field should only be set when advertising_channel_type is PERFORMANCE_MAX. Setting this field causes RecommendationService to generate recommendations for Performance Max for retail instead of standard Performance Max. This field is optional for the following recommendation_types: CAMPAIGN_BUDGET
         */
        merchantCenterAccountId?: string | null;
        /**
         * Optional. Current campaign negative location ids. One of this field OR positive_location_ids is required for the following recommendation_types: CAMPAIGN_BUDGET if AdvertisingChannelType is SEARCH
         */
        negativeLocationsIds?: string[] | null;
        /**
         * Optional. Current campaign positive location ids. One of this field OR negative_location_ids is required for the following recommendation_types: CAMPAIGN_BUDGET if AdvertisingChannelType is SEARCH
         */
        positiveLocationsIds?: string[] | null;
        /**
         * Required. List of eligible recommendation_types to generate. If the uploaded criteria isn't sufficient to make a recommendation, or the campaign is already in the recommended state, no recommendation will be returned for that type. Generally, a recommendation is returned if all required fields for that recommendation_type are uploaded, but there are cases where this is still not sufficient. The following recommendation_types are supported for recommendation generation: KEYWORD, MAXIMIZE_CLICKS_OPT_IN, MAXIMIZE_CONVERSIONS_OPT_IN, MAXIMIZE_CONVERSION_VALUE_OPT_IN, SET_TARGET_CPA, SET_TARGET_ROAS, SITELINK_ASSET, TARGET_CPA_OPT_IN, TARGET_ROAS_OPT_IN
         */
        recommendationTypes?: string[] | null;
        /**
         * Optional. Seed information for Keywords. This field is necessary for the following recommendation_types: KEYWORD
         */
        seedInfo?: Schema$GoogleAdsSearchads360V23Services_GenerateRecommendationsRequest_SeedInfo;
        /**
         * Optional. If true, the campaign is opted into serving ads on specified placements in the Google Display Network. This field is optional for the following recommendation_types: CAMPAIGN_BUDGET
         */
        targetContentNetwork?: boolean | null;
        /**
         * Optional. If true, the campaign is opted into serving ads on the Google Partner Network. This field is optional for the following recommendation_types: CAMPAIGN_BUDGET
         */
        targetPartnerSearchNetwork?: boolean | null;
    }
    /**
     * Response message for RecommendationService.GenerateRecommendations.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__GenerateRecommendationsResponse {
        /**
         * List of generated recommendations from the passed in set of requested recommendation_types. If there isn't sufficient data to generate a recommendation for the requested recommendation_types, the result set won't contain a recommendation for that type.
         */
        recommendations?: Schema$GoogleAdsSearchads360V23Resources__Recommendation[];
    }
    /**
     * Request message for AudienceInsightsService.GenerateSuggestedTargetingInsights.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__GenerateSuggestedTargetingInsightsRequest {
        /**
         * Provide a seed audience to get suggestions for.
         */
        audienceDefinition?: Schema$GoogleAdsSearchads360V23Services__InsightsAudienceDefinition;
        /**
         * Provide a text description of an audience to get AI-generated targeting suggestions. This can take around 5 or more seconds to complete.
         */
        audienceDescription?: Schema$GoogleAdsSearchads360V23Services__InsightsAudienceDescription;
        /**
         * Optional. The name of the customer being planned for. This is a user-defined value.
         */
        customerInsightsGroup?: string | null;
        /**
         * Optional. Additional information on the application issuing the request.
         */
        insightsApplicationInfo?: Schema$GoogleAdsSearchads360V23Common__AdditionalApplicationInfo;
    }
    /**
     * Response message for AudienceInsightsService.GenerateSuggestedTargetingInsights.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__GenerateSuggestedTargetingInsightsResponse {
        /**
         * Suggested insights for targetable audiences.
         */
        suggestions?: Schema$GoogleAdsSearchads360V23Services__TargetingSuggestionMetrics[];
    }
    /**
     * Request message for AudienceInsightsService.GenerateTargetingSuggestionMetrics.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__GenerateTargetingSuggestionMetricsRequest {
        /**
         * Required. Audiences to request metrics for.
         */
        audiences?: Schema$GoogleAdsSearchads360V23Services__InsightsAudience[];
        /**
         * Optional. The name of the customer being planned for. This is a user-defined value.
         */
        customerInsightsGroup?: string | null;
        /**
         * Optional. Additional information on the application issuing the request.
         */
        insightsApplicationInfo?: Schema$GoogleAdsSearchads360V23Common__AdditionalApplicationInfo;
    }
    /**
     * Response message for AudienceInsightsService.GenerateTargetingSuggestionMetrics.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__GenerateTargetingSuggestionMetricsResponse {
        /**
         * Suggested targetable audiences. There will be one suggestion for each GenerateTargetingSuggestionMetricsRequest.audiences requested, matching the order requested.
         */
        suggestions?: Schema$GoogleAdsSearchads360V23Services__TargetingSuggestionMetrics[];
    }
    /**
     * A geo target constant suggestion.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__GeoTargetConstantSuggestion {
        /**
         * The GeoTargetConstant result.
         */
        geoTargetConstant?: Schema$GoogleAdsSearchads360V23Resources__GeoTargetConstant;
        /**
         * The list of parents of the geo target constant.
         */
        geoTargetConstantParents?: Schema$GoogleAdsSearchads360V23Resources__GeoTargetConstant[];
        /**
         * The language this GeoTargetConstantSuggestion is currently translated to. It affects the name of geo target fields. For example, if locale=en, then name=Spain. If locale=es, then name=España. The default locale will be returned if no translation exists for the locale in the request.
         */
        locale?: string | null;
        /**
         * Approximate user population that will be targeted, rounded to the nearest 100.
         */
        reach?: string | null;
        /**
         * If the request searched by location name, this is the location name that matched the geo target.
         */
        searchTerm?: string | null;
    }
    /**
     * Response message for GetIdentityVerification.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__GetIdentityVerificationResponse {
        /**
         * List of identity verifications for the customer.
         */
        identityVerification?: Schema$GoogleAdsSearchads360V23Services__IdentityVerification[];
    }
    /**
     * Response message for SmartCampaignSettingService.GetSmartCampaignStatus.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__GetSmartCampaignStatusResponse {
        /**
         * Details related to Smart campaigns that are eligible to serve.
         */
        eligibleDetails?: Schema$GoogleAdsSearchads360V23Services__SmartCampaignEligibleDetails;
        /**
         * Details related to Smart campaigns that have ended.
         */
        endedDetails?: Schema$GoogleAdsSearchads360V23Services__SmartCampaignEndedDetails;
        /**
         * Details related to Smart campaigns that are ineligible to serve.
         */
        notEligibleDetails?: Schema$GoogleAdsSearchads360V23Services__SmartCampaignNotEligibleDetails;
        /**
         * Details related to paused Smart campaigns.
         */
        pausedDetails?: Schema$GoogleAdsSearchads360V23Services__SmartCampaignPausedDetails;
        /**
         * Details related to removed Smart campaigns.
         */
        removedDetails?: Schema$GoogleAdsSearchads360V23Services__SmartCampaignRemovedDetails;
        /**
         * The status of this Smart campaign.
         */
        smartCampaignStatus?: string | null;
    }
    /**
     * A single mutate operation on the goal.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__GoalOperation {
        /**
         * Create a new goal.
         */
        create?: Schema$GoogleAdsSearchads360V23Resources__Goal;
        /**
         * Update an existing goal.
         */
        update?: Schema$GoogleAdsSearchads360V23Resources__Goal;
        /**
         * FieldMask that determines which resource fields are modified in an update.
         */
        updateMask?: string | null;
    }
    /**
     * Request message for ExperimentService.GraduateExperiment.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__GraduateExperimentRequest {
        /**
         * Required. List of campaign budget mappings for graduation. Each campaign that appears here will graduate, and will be assigned a new budget that is paired with it in the mapping. The maximum size is one.
         */
        campaignBudgetMappings?: Schema$GoogleAdsSearchads360V23Services__CampaignBudgetMapping[];
        /**
         * If true, the request is validated but not executed. Only errors are returned, not results.
         */
        validateOnly?: boolean | null;
    }
    /**
     * Message containing the asset suggestions for a hotel.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__HotelAssetSuggestion {
        /**
         * Call to action type.
         */
        callToAction?: string | null;
        /**
         * Suggested final URL for an AssetGroup.
         */
        finalUrl?: string | null;
        /**
         * Hotel name in requested language.
         */
        hotelName?: string | null;
        /**
         * Image assets such as landscape/portrait/square, etc.
         */
        imageAssets?: Schema$GoogleAdsSearchads360V23Services__HotelImageAsset[];
        /**
         * Google Places ID of the hotel.
         */
        placeId?: string | null;
        /**
         * The status of the hotel asset suggestion.
         */
        status?: string | null;
        /**
         * Text assets such as headline, description, etc.
         */
        textAssets?: Schema$GoogleAdsSearchads360V23Services__HotelTextAsset[];
    }
    /**
     * A single image asset suggestion for a hotel.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__HotelImageAsset {
        /**
         * The Image asset type. For example, MARKETING_IMAGE, PORTRAIT_MARKETING_IMAGE, etc.
         */
        assetFieldType?: string | null;
        /**
         * URI for the image.
         */
        uri?: string | null;
    }
    /**
     * A single text asset suggestion for a hotel.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__HotelTextAsset {
        /**
         * The text asset type. For example, HEADLINE, DESCRIPTION, etc.
         */
        assetFieldType?: string | null;
        /**
         * Asset text in requested language.
         */
        text?: string | null;
    }
    /**
     * An identity verification for a customer.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__IdentityVerification {
        /**
         * The verification requirement for this verification program for this customer.
         */
        identityVerificationRequirement?: Schema$GoogleAdsSearchads360V23Services__IdentityVerificationRequirement;
        /**
         * The verification program type.
         */
        verificationProgram?: string | null;
        /**
         * Information regarding progress for this verification program for this customer.
         */
        verificationProgress?: Schema$GoogleAdsSearchads360V23Services__IdentityVerificationProgress;
    }
    /**
     * Information regarding the verification progress for a verification program type.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__IdentityVerificationProgress {
        /**
         * Action URL for user to complete verification for the given verification program type.
         */
        actionUrl?: string | null;
        /**
         * The timestamp when the action url will expire in "yyyy-MM-dd HH:mm:ss" format.
         */
        invitationLinkExpirationTime?: string | null;
        /**
         * Current Status (PENDING_USER_ACTION, SUCCESS, FAILURE etc)
         */
        programStatus?: string | null;
    }
    /**
     * Information regarding the verification requirement for a verification program type.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__IdentityVerificationRequirement {
        /**
         * The deadline to submit verification.
         */
        verificationCompletionDeadlineTime?: string | null;
        /**
         * The deadline to start verification in "yyyy-MM-dd HH:mm:ss" format.
         */
        verificationStartDeadlineTime?: string | null;
    }
    /**
     * An incentive that a user can claim for their account.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__Incentive {
        /**
         * The incentive ID of this incentive. This is used to identify which incentive is selected by the user in the CYO flow.
         */
        incentiveId?: string | null;
        /**
         * The URL of the terms and conditions for THIS incentive offer ONLY. This is different from the terms_and_conditions_url field in AcquisitionIncentiveOffer which is a combination of all the Incentive offers in a CYO offer.
         */
        incentiveTermsAndConditionsUrl?: string | null;
        /**
         * The requirement for this incentive.
         */
        requirement?: Schema$GoogleAdsSearchads360V23Services_Incentive_Requirement;
        /**
         * The type of the incentive.
         */
        type?: string | null;
    }
    /**
     * An acquisition incentive offer for a user. An offer means how the user is treated. An offer can have no incentive or multiple incentives.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__IncentiveOffer {
        /**
         * Optional. The URL of the terms and conditions for the incentive offer.
         */
        consolidatedTermsAndConditionsUrl?: string | null;
        /**
         * CYO incentives. Set when type is CYO_INCENTIVE.
         */
        cyoIncentives?: Schema$GoogleAdsSearchads360V23Services__CyoIncentives;
        /**
         * Required. The type of this acquisition incentive offer.
         */
        type?: string | null;
    }
    /**
     * The information associated with an Industry Vertical.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__IndustryVerticalInfo {
        /**
         * The unique identifier of the Industry Vertical.
         */
        industryVerticalId?: string | null;
        /**
         * The name of the Industry Vertical.
         */
        industryVerticalName?: string | null;
        /**
         * The unique identifier of the parent Industry Vertical, if exists.
         */
        parentIndustryVerticalId?: string | null;
    }
    /**
     * A set of users, defined by various characteristics, for which insights can be requested in AudienceInsightsService.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__InsightsAudience {
        /**
         * Age ranges for the audience. If absent, the audience represents all people over 18 that match the other attributes.
         */
        ageRanges?: Schema$GoogleAdsSearchads360V23Common__AgeRangeInfo[];
        /**
         * Required. The countries for the audience.
         */
        countryLocations?: Schema$GoogleAdsSearchads360V23Common__LocationInfo[];
        /**
         * Gender for the audience. If absent, the audience does not restrict by gender.
         */
        gender?: Schema$GoogleAdsSearchads360V23Common__GenderInfo;
        /**
         * Household income percentile ranges for the audience. If absent, the audience does not restrict by household income range.
         */
        incomeRanges?: Schema$GoogleAdsSearchads360V23Common__IncomeRangeInfo[];
        /**
         * Lineups representing the YouTube content viewed by the audience.
         */
        lineups?: Schema$GoogleAdsSearchads360V23Common__AudienceInsightsLineup[];
        /**
         * Parental status for the audience. If absent, the audience does not restrict by parental status.
         */
        parentalStatus?: Schema$GoogleAdsSearchads360V23Common__ParentalStatusInfo;
        /**
         * Sub-country geographic location attributes. If present, each of these must be contained in one of the countries in this audience. If absent, the audience is geographically to the country_locations and no further.
         */
        subCountryLocations?: Schema$GoogleAdsSearchads360V23Common__LocationInfo[];
        /**
         * A combination of entity, category and user interest attributes defining the audience. The combination has a logical AND-of-ORs structure: Attributes within each InsightsAudienceAttributeGroup are combined with OR, and the combinations themselves are combined together with AND. For example, the expression (Entity OR Affinity) AND (In-Market OR Category) can be formed using two InsightsAudienceAttributeGroups with two Attributes each.
         */
        topicAudienceCombinations?: Schema$GoogleAdsSearchads360V23Services__InsightsAudienceAttributeGroup[];
        /**
         * User list to be targeted by the audience.
         */
        userList?: Schema$GoogleAdsSearchads360V23Common__UserListInfo;
    }
    /**
     * A list of AudienceInsightsAttributes.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__InsightsAudienceAttributeGroup {
        /**
         * Required. A collection of audience attributes to be combined with logical OR. Attributes need not all be the same dimension. Only Knowledge Graph entities, Product & Service Categories, and Affinity and In-Market audiences are supported in this context.
         */
        attributes?: Schema$GoogleAdsSearchads360V23Common__AudienceInsightsAttribute[];
    }
    /**
     * A structured definition of the audience of interest for which insights are being requested in AudienceInsightsService.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__InsightsAudienceDefinition {
        /**
         * Required. The audience of interest for which insights are being requested.
         */
        audience?: Schema$GoogleAdsSearchads360V23Services__InsightsAudience;
        /**
         * Optional. The baseline audience. The default, if unspecified, is all people in the same country as the audience of interest.
         */
        baselineAudience?: Schema$GoogleAdsSearchads360V23Services__InsightsAudience;
        /**
         * Optional. The one-month range of historical data to use for insights, in the format "yyyy-mm". If unset, insights will be returned for the last thirty days of data.
         */
        dataMonth?: string | null;
    }
    /**
     * A text description of the audience of interest for which insights are being requested in AudienceInsightsService.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__InsightsAudienceDescription {
        /**
         * Required. An English language text description of an audience to get suggestions for. Maximum length is 2000 characters. For example, "Women in their 30s who love to travel".
         */
        audienceDescription?: string | null;
        /**
         * Optional. An optional list of audience dimensions to return.
         */
        audienceDimensions?: Schema$GoogleAdsSearchads360V23Services__AudienceInsightsDimensions;
        /**
         * Required. The countries for the audience.
         */
        countryLocations?: Schema$GoogleAdsSearchads360V23Common__LocationInfo[];
        /**
         * Optional. An optional marketing objective which will influence the type of suggestions produced.
         */
        marketingObjective?: string | null;
    }
    /**
     * Keyword And Url Seed
     */
    export interface Schema$GoogleAdsSearchads360V23Services__KeywordAndUrlSeed {
        /**
         * Requires at least one keyword and no more than 20 keywords.
         */
        keywords?: string[] | null;
        /**
         * The URL to crawl in order to generate keyword ideas.
         */
        url?: string | null;
    }
    /**
     * The forecast metrics for the planless keyword campaign.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__KeywordForecastMetrics {
        /**
         * Average cost per acquisition calculated as cost_micros / conversions.
         */
        averageCpaMicros?: string | null;
        /**
         * The average cpc. Available only if clicks \> 0.
         */
        averageCpcMicros?: string | null;
        /**
         * The total number of clicks.
         */
        clicks?: number | null;
        /**
         * The average click through rate. Available only if impressions \> 0.
         */
        clickThroughRate?: number | null;
        /**
         * Forecasted conversion rate.
         */
        conversionRate?: number | null;
        /**
         * Forecasted number of conversions: clicks * conversion_rate.
         */
        conversions?: number | null;
        /**
         * The total cost.
         */
        costMicros?: string | null;
        /**
         * The total number of impressions.
         */
        impressions?: number | null;
    }
    /**
     * A single operation (create, update, remove) on a Keyword Plan ad group keyword.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__KeywordPlanAdGroupKeywordOperation {
        /**
         * Create operation: No resource name is expected for the new Keyword Plan ad group keyword.
         */
        create?: Schema$GoogleAdsSearchads360V23Resources__KeywordPlanAdGroupKeyword;
        /**
         * Remove operation: A resource name for the removed Keyword Plan ad group keyword is expected, in this format: `customers/{customer_id\}/keywordPlanAdGroupKeywords/{kp_ad_group_keyword_id\}`
         */
        remove?: string | null;
        /**
         * Update operation: The Keyword Plan ad group keyword is expected to have a valid resource name.
         */
        update?: Schema$GoogleAdsSearchads360V23Resources__KeywordPlanAdGroupKeyword;
        /**
         * The FieldMask that determines which resource fields are modified in an update.
         */
        updateMask?: string | null;
    }
    /**
     * A single operation (create, update, remove) on a Keyword Plan ad group.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__KeywordPlanAdGroupOperation {
        /**
         * Create operation: No resource name is expected for the new Keyword Plan ad group.
         */
        create?: Schema$GoogleAdsSearchads360V23Resources__KeywordPlanAdGroup;
        /**
         * Remove operation: A resource name for the removed Keyword Plan ad group is expected, in this format: `customers/{customer_id\}/keywordPlanAdGroups/{kp_ad_group_id\}`
         */
        remove?: string | null;
        /**
         * Update operation: The Keyword Plan ad group is expected to have a valid resource name.
         */
        update?: Schema$GoogleAdsSearchads360V23Resources__KeywordPlanAdGroup;
        /**
         * The FieldMask that determines which resource fields are modified in an update.
         */
        updateMask?: string | null;
    }
    /**
     * A single operation (create, update, remove) on a Keyword Plan campaign keyword.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__KeywordPlanCampaignKeywordOperation {
        /**
         * Create operation: No resource name is expected for the new Keyword Plan campaign keyword.
         */
        create?: Schema$GoogleAdsSearchads360V23Resources__KeywordPlanCampaignKeyword;
        /**
         * Remove operation: A resource name for the removed Keyword Plan campaign keywords expected in this format: `customers/{customer_id\}/keywordPlanCampaignKeywords/{kp_campaign_keyword_id\}`
         */
        remove?: string | null;
        /**
         * Update operation: The Keyword Plan campaign keyword expected to have a valid resource name.
         */
        update?: Schema$GoogleAdsSearchads360V23Resources__KeywordPlanCampaignKeyword;
        /**
         * The FieldMask that determines which resource fields are modified in an update.
         */
        updateMask?: string | null;
    }
    /**
     * A single operation (create, update, remove) on a Keyword Plan campaign.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__KeywordPlanCampaignOperation {
        /**
         * Create operation: No resource name is expected for the new Keyword Plan campaign.
         */
        create?: Schema$GoogleAdsSearchads360V23Resources__KeywordPlanCampaign;
        /**
         * Remove operation: A resource name for the removed Keyword Plan campaign is expected, in this format: `customers/{customer_id\}/keywordPlanCampaigns/{keywordPlan_campaign_id\}`
         */
        remove?: string | null;
        /**
         * Update operation: The Keyword Plan campaign is expected to have a valid resource name.
         */
        update?: Schema$GoogleAdsSearchads360V23Resources__KeywordPlanCampaign;
        /**
         * The FieldMask that determines which resource fields are modified in an update.
         */
        updateMask?: string | null;
    }
    /**
     * A single operation (create, update, remove) on a keyword plan.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__KeywordPlanOperation {
        /**
         * Create operation: No resource name is expected for the new keyword plan.
         */
        create?: Schema$GoogleAdsSearchads360V23Resources__KeywordPlan;
        /**
         * Remove operation: A resource name for the removed keyword plan is expected in this format: `customers/{customer_id\}/keywordPlans/{keyword_plan_id\}`
         */
        remove?: string | null;
        /**
         * Update operation: The keyword plan is expected to have a valid resource name.
         */
        update?: Schema$GoogleAdsSearchads360V23Resources__KeywordPlan;
        /**
         * The FieldMask that determines which resource fields are modified in an update.
         */
        updateMask?: string | null;
    }
    /**
     * Keyword Seed
     */
    export interface Schema$GoogleAdsSearchads360V23Services__KeywordSeed {
        /**
         * Requires at least one keyword and no more than 20 keywords.
         */
        keywords?: string[] | null;
    }
    /**
     * A single operation (create, remove, update) on a label.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__LabelOperation {
        /**
         * Create operation: No resource name is expected for the new label.
         */
        create?: Schema$GoogleAdsSearchads360V23Resources__Label;
        /**
         * Remove operation: A resource name for the label being removed, in this format: `customers/{customer_id\}/labels/{label_id\}`
         */
        remove?: string | null;
        /**
         * Update operation: The label is expected to have a valid resource name.
         */
        update?: Schema$GoogleAdsSearchads360V23Resources__Label;
        /**
         * FieldMask that determines which resource fields are modified in an update.
         */
        updateMask?: string | null;
    }
    /**
     * Response message for CustomerService.ListAccessibleCustomers.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__ListAccessibleCustomersResponse {
        /**
         * Resource name of customers directly accessible by the user authenticating the call.
         */
        resourceNames?: string[] | null;
    }
    /**
     * Request message for AudienceInsightsService.ListAudienceInsightsAttributes.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__ListAudienceInsightsAttributesRequest {
        /**
         * The name of the customer being planned for. This is a user-defined value.
         */
        customerInsightsGroup?: string | null;
        /**
         * Required. The types of attributes to be returned. Supported dimensions are CATEGORY, KNOWLEDGE_GRAPH, GEO_TARGET_COUNTRY, SUB_COUNTRY_LOCATION, YOUTUBE_LINEUP, AFFINITY_USER_INTEREST, IN_MARKET_USER_INTEREST, .
         */
        dimensions?: string[] | null;
        /**
         * Optional. Additional information on the application issuing the request.
         */
        insightsApplicationInfo?: Schema$GoogleAdsSearchads360V23Common__AdditionalApplicationInfo;
        /**
         * If SUB_COUNTRY_LOCATION attributes are one of the requested dimensions and this field is present, then the SUB_COUNTRY_LOCATION attributes returned will be located in these countries. If this field is absent, then location attributes are not filtered by country. Setting this field when SUB_COUNTRY_LOCATION attributes are not requested will return an error.
         */
        locationCountryFilters?: Schema$GoogleAdsSearchads360V23Common__LocationInfo[];
        /**
         * Required. A free text query. If the requested dimensions include Attributes CATEGORY or KNOWLEDGE_GRAPH, then the attributes returned for those dimensions will match or be related to this string. For other dimensions, this field is ignored and all available attributes are returned.
         */
        queryText?: string | null;
        /**
         * If present, potential YouTube reach estimates within the specified market will be returned for attributes for which they are available. Reach is only available for the AGE_RANGE, GENDER, AFFINITY_USER_INTEREST and IN_MARKET_USER_INTEREST dimensions, and may not be available for every attribute of those dimensions in every market.
         */
        youtubeReachLocation?: Schema$GoogleAdsSearchads360V23Common__LocationInfo;
    }
    /**
     * Response message for AudienceInsightsService.ListAudienceInsightsAttributes.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__ListAudienceInsightsAttributesResponse {
        /**
         * The attributes matching the search query.
         */
        attributes?: Schema$GoogleAdsSearchads360V23Common__AudienceInsightsAttributeMetadata[];
    }
    /**
     * Response message for BatchJobService.ListBatchJobResults.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__ListBatchJobResultsResponse {
        /**
         * Pagination token used to retrieve the next page of results. Pass the content of this string as the `page_token` attribute of the next request. `next_page_token` is not returned for the last page.
         */
        nextPageToken?: string | null;
        /**
         * The list of rows that matched the query.
         */
        results?: Schema$GoogleAdsSearchads360V23Services__BatchJobResult[];
    }
    /**
     * Request message for BenchmarksService.ListBenchmarksAvailableDates.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__ListBenchmarksAvailableDatesRequest {
        /**
         * Additional information on the application issuing the request.
         */
        applicationInfo?: Schema$GoogleAdsSearchads360V23Common__AdditionalApplicationInfo;
    }
    /**
     * Response message for BenchmarksService.ListBenchmarksAvailableDates.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__ListBenchmarksAvailableDatesResponse {
        /**
         * The dates that support benchmarks metrics. Data is supported for any dates within this date range inclusive.
         */
        supportedDates?: Schema$GoogleAdsSearchads360V23Common__DateRange;
    }
    /**
     * Request message for BenchmarksService.ListBenchmarksLocations.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__ListBenchmarksLocationsRequest {
        /**
         * Additional information on the application issuing the request.
         */
        applicationInfo?: Schema$GoogleAdsSearchads360V23Common__AdditionalApplicationInfo;
    }
    /**
     * Response message for BenchmarksService.ListBenchmarksLocations.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__ListBenchmarksLocationsResponse {
        /**
         * The list of locations supported for benchmarks data.
         */
        benchmarksLocations?: Schema$GoogleAdsSearchads360V23Services__BenchmarksLocation[];
    }
    /**
     * Request message for BenchmarksService.ListBenchmarksProducts.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__ListBenchmarksProductsRequest {
        /**
         * Additional information on the application issuing the request.
         */
        applicationInfo?: Schema$GoogleAdsSearchads360V23Common__AdditionalApplicationInfo;
    }
    /**
     * Response message for BenchmarksService.ListBenchmarksProducts.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__ListBenchmarksProductsResponse {
        /**
         * The list of products available for benchmarks data.
         */
        benchmarksProducts?: Schema$GoogleAdsSearchads360V23Services__BenchmarksProductMetadata[];
    }
    /**
     * Request message for BenchmarksService.ListBenchmarksSources.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__ListBenchmarksSourcesRequest {
        /**
         * Additional information on the application issuing the request.
         */
        applicationInfo?: Schema$GoogleAdsSearchads360V23Common__AdditionalApplicationInfo;
        /**
         * Required. The types of benchmarks sources to be returned (for example, INDUSTRY_VERTICAL).
         */
        benchmarksSources?: string[] | null;
    }
    /**
     * Response message for BenchmarksService.ListBenchmarksSources.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__ListBenchmarksSourcesResponse {
        /**
         * The list of available source used to generate benchmarks data for.
         */
        benchmarksSources?: Schema$GoogleAdsSearchads360V23Services__BenchmarksSourceMetadata[];
    }
    /**
     * Response message for CampaignDraftService.ListCampaignDraftAsyncErrors.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__ListCampaignDraftAsyncErrorsResponse {
        /**
         * Details of the errors when performing the asynchronous operation.
         */
        errors?: Schema$GoogleRpc__Status[];
        /**
         * Pagination token used to retrieve the next page of results. Pass the content of this string as the `page_token` attribute of the next request. `next_page_token` is not returned for the last page.
         */
        nextPageToken?: string | null;
    }
    /**
     * Response message for fetching all custom columns associated with a customer.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__ListCustomColumnsResponse {
        /**
         * The CustomColumns owned by the provided customer.
         */
        customColumns?: Schema$GoogleAdsSearchads360V23Resources__CustomColumn[];
    }
    /**
     * Response message for ExperimentService.ListExperimentAsyncErrors.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__ListExperimentAsyncErrorsResponse {
        /**
         * details of the errors when performing the asynchronous operation.
         */
        errors?: Schema$GoogleRpc__Status[];
        /**
         * Pagination token used to retrieve the next page of results. Pass the content of this string as the `page_token` attribute of the next request. `next_page_token` is not returned for the last page.
         */
        nextPageToken?: string | null;
    }
    /**
     * Request message for AudienceInsightsService.ListInsightsEligibleDates.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__ListInsightsEligibleDatesRequest {
        /**
         * Optional. Additional information on the application issuing the request.
         */
        insightsApplicationInfo?: Schema$GoogleAdsSearchads360V23Common__AdditionalApplicationInfo;
    }
    /**
     * Response message for AudienceInsightsService.ListInsightsEligibleDates.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__ListInsightsEligibleDatesResponse {
        /**
         * The months for which AudienceInsights data is currently available, each represented as a string in the form "YYYY-MM".
         */
        dataMonths?: string[] | null;
        /**
         * The actual dates covered by the "last 30 days" date range that will be used implicitly for AudienceInsightsService.GenerateAudienceCompositionInsights requests that have no data_month set.
         */
        lastThirtyDays?: Schema$GoogleAdsSearchads360V23Common__DateRange;
    }
    /**
     * Response message for InvoiceService.ListInvoices.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__ListInvoicesResponse {
        /**
         * The list of invoices that match the billing setup and time period.
         */
        invoices?: Schema$GoogleAdsSearchads360V23Resources__Invoice[];
    }
    /**
     * Response message for PaymentsAccountService.ListPaymentsAccounts.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__ListPaymentsAccountsResponse {
        /**
         * The list of accessible payments accounts.
         */
        paymentsAccounts?: Schema$GoogleAdsSearchads360V23Resources__PaymentsAccount[];
    }
    /**
     * Request message for ReachPlanService.ListPlannableLocations.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__ListPlannableLocationsRequest {
        /**
         * Optional. Additional information on the application issuing the request.
         */
        reachApplicationInfo?: Schema$GoogleAdsSearchads360V23Common__AdditionalApplicationInfo;
    }
    /**
     * The list of plannable locations.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__ListPlannableLocationsResponse {
        /**
         * The list of locations available for planning. See https://developers.google.com/google-ads/api/reference/data/geotargets for sample locations.
         */
        plannableLocations?: Schema$GoogleAdsSearchads360V23Services__PlannableLocation[];
    }
    /**
     * Request to list available products in a given location.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__ListPlannableProductsRequest {
        /**
         * Required. The ID of the selected location for planning. To list the available plannable location IDs use ReachPlanService.ListPlannableLocations.
         */
        plannableLocationId?: string | null;
        /**
         * Optional. Additional information on the application issuing the request.
         */
        reachApplicationInfo?: Schema$GoogleAdsSearchads360V23Common__AdditionalApplicationInfo;
    }
    /**
     * A response with all available products.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__ListPlannableProductsResponse {
        /**
         * The list of products available for planning and related targeting metadata.
         */
        productMetadata?: Schema$GoogleAdsSearchads360V23Services__ProductMetadata[];
    }
    /**
     * Request message for ReachPlanService.ListPlannableUserInterests.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__ListPlannableUserInterestsRequest {
        /**
         * Required. The ID of the customer.
         */
        customerId?: string | null;
        /**
         * A filter by user interest name. If set, only user interests with a name containing the literal string (case insensitive) in the filter will be returned. Maximum length is 200 characters.
         */
        nameQuery?: string | null;
        /**
         * A filter by user interest path. If set, only user interests with a path containing the literal string (case insensitive) in the filter will be returned. Maximum length is 200 characters.
         */
        pathQuery?: string | null;
        /**
         * Optional. Additional information on the application issuing the request.
         */
        reachApplicationInfo?: Schema$GoogleAdsSearchads360V23Common__AdditionalApplicationInfo;
        /**
         * Optional. A filter by user interest type. If set, only user interests with a type listed in the filter will be returned. If not set, user interests of all supported types will be returned. Supported user interest types are AFFINITY and IN_MARKET. Each type must be specified at most once.
         */
        userInterestTaxonomyTypes?: string[] | null;
    }
    /**
     * Response message for ReachPlanService.ListPlannableUserInterests.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__ListPlannableUserInterestsResponse {
        /**
         * The list of plannable user interests.
         */
        plannableUserInterests?: Schema$GoogleAdsSearchads360V23Services__PlannableUserInterest[];
    }
    /**
     * Request message for ReachPlanService.ListPlannableUserLists that lists the available user lists for a customer.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__ListPlannableUserListsRequest {
        /**
         * Required. The ID of the customer.
         */
        customerId?: string | null;
        /**
         * The name of the customer being planned for. This is a user-defined value.
         */
        customerReachGroup?: string | null;
        /**
         * Optional. Additional information on the application issuing the request.
         */
        reachApplicationInfo?: Schema$GoogleAdsSearchads360V23Common__AdditionalApplicationInfo;
    }
    /**
     * A response with all available user lists with their plannable status.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__ListPlannableUserListsResponse {
        /**
         * The list of user lists available for planning and related targeting metadata.
         */
        plannableUserLists?: Schema$GoogleAdsSearchads360V23Services__PlannableUserList[];
    }
    /**
     * Manual CPC Bidding Strategy.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__ManualCpcBiddingStrategy {
        /**
         * Campaign level budget in micros. If set, a minimum value is enforced for the local currency used in the campaign. An error will occur showing the minimum value if this field is set too low.
         */
        dailyBudgetMicros?: string | null;
        /**
         * Required. A bid in micros to be applied to ad groups within the campaign for a manual CPC bidding strategy.
         */
        maxCpcBidMicros?: string | null;
    }
    /**
     * Maximize Clicks Bidding Strategy.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__MaximizeClicksBiddingStrategy {
        /**
         * Required. The daily target spend in micros to be used for estimation. A minimum value is enforced for the local currency used in the campaign. An error will occur showing the minimum value if this field is set too low.
         */
        dailyTargetSpendMicros?: string | null;
        /**
         * Ceiling on max CPC bids in micros.
         */
        maxCpcBidCeilingMicros?: string | null;
    }
    /**
     * Maximize Conversions Bidding Strategy.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__MaximizeConversionsBiddingStrategy {
        /**
         * Required. The daily target spend in micros to be used for estimation. This value must be greater than zero.
         */
        dailyTargetSpendMicros?: string | null;
    }
    /**
     * Indicates the attributes of metrics.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__MetricAttributes {
        /**
         * The attributes of the metric.
         */
        attributes?: Schema$GoogleAdsSearchads360V23Services_MetricAttributes_Attribute[];
        /**
         * The name of the metric.
         */
        name?: string | null;
    }
    /**
     * All metrics returned against a criteria.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__Metrics {
        /**
         * Average rate metrics calculated by dividing one metric by another.
         */
        averageRateMetrics?: Schema$GoogleAdsSearchads360V23Services__RateMetrics;
    }
    /**
     * Request message for CustomerManagerLinkService.MoveManagerLink.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__MoveManagerLinkRequest {
        /**
         * Required. The resource name of the new manager customer that the client wants to move to. Customer resource names have the format: "customers/{customer_id\}"
         */
        newManager?: string | null;
        /**
         * Required. The resource name of the previous CustomerManagerLink. The resource name has the form: `customers/{customer_id\}/customerManagerLinks/{manager_customer_id\}~{manager_link_id\}`
         */
        previousCustomerManagerLink?: string | null;
        /**
         * If true, the request is validated but not executed. Only errors are returned, not results.
         */
        validateOnly?: boolean | null;
    }
    /**
     * Response message for a CustomerManagerLink moveManagerLink.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__MoveManagerLinkResponse {
        /**
         * Returned for successful operations. Represents a CustomerManagerLink resource of the newly created link between client customer and new manager customer.
         */
        resourceName?: string | null;
    }
    /**
     * Request message for AccountBudgetProposalService.MutateAccountBudgetProposal.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__MutateAccountBudgetProposalRequest {
        /**
         * Required. The operation to perform on an individual account-level budget proposal.
         */
        operation?: Schema$GoogleAdsSearchads360V23Services__AccountBudgetProposalOperation;
        /**
         * If true, the request is validated but not executed. Only errors are returned, not results.
         */
        validateOnly?: boolean | null;
    }
    /**
     * Response message for account-level budget mutate operations.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__MutateAccountBudgetProposalResponse {
        /**
         * The result of the mutate.
         */
        result?: Schema$GoogleAdsSearchads360V23Services__MutateAccountBudgetProposalResult;
    }
    /**
     * The result for the account budget proposal mutate.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__MutateAccountBudgetProposalResult {
        /**
         * Returned for successful operations.
         */
        resourceName?: string | null;
    }
    /**
     * Request message for AccountLinkService.MutateAccountLink.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__MutateAccountLinkRequest {
        /**
         * Required. The operation to perform on the link.
         */
        operation?: Schema$GoogleAdsSearchads360V23Services__AccountLinkOperation;
        /**
         * If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false.
         */
        partialFailure?: boolean | null;
        /**
         * If true, the request is validated but not executed. Only errors are returned, not results.
         */
        validateOnly?: boolean | null;
    }
    /**
     * Response message for account link mutate.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__MutateAccountLinkResponse {
        /**
         * Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error.
         */
        partialFailureError?: Schema$GoogleRpc__Status;
        /**
         * Result for the mutate.
         */
        result?: Schema$GoogleAdsSearchads360V23Services__MutateAccountLinkResult;
    }
    /**
     * The result for the account link mutate.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__MutateAccountLinkResult {
        /**
         * Returned for successful operations.
         */
        resourceName?: string | null;
    }
    /**
     * The result for an ad group ad label mutate.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__MutateAdGroupAdLabelResult {
        /**
         * Returned for successful operations.
         */
        resourceName?: string | null;
    }
    /**
     * Request message for AdGroupAdLabelService.MutateAdGroupAdLabels.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__MutateAdGroupAdLabelsRequest {
        /**
         * Required. The list of operations to perform on ad group ad labels.
         */
        operations?: Schema$GoogleAdsSearchads360V23Services__AdGroupAdLabelOperation[];
        /**
         * If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false.
         */
        partialFailure?: boolean | null;
        /**
         * If true, the request is validated but not executed. Only errors are returned, not results.
         */
        validateOnly?: boolean | null;
    }
    /**
     * Response message for an ad group ad labels mutate.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__MutateAdGroupAdLabelsResponse {
        /**
         * Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error.
         */
        partialFailureError?: Schema$GoogleRpc__Status;
        /**
         * All results for the mutate.
         */
        results?: Schema$GoogleAdsSearchads360V23Services__MutateAdGroupAdLabelResult[];
    }
    /**
     * The result for the ad mutate.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__MutateAdGroupAdResult {
        /**
         * The mutated ad group ad with only mutable fields after mutate. The field will only be returned when response_content_type is set to "MUTABLE_RESOURCE".
         */
        adGroupAd?: Schema$GoogleAdsSearchads360V23Resources__AdGroupAd;
        /**
         * The resource name returned for successful operations.
         */
        resourceName?: string | null;
    }
    /**
     * Request message for AdGroupAdService.MutateAdGroupAds.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__MutateAdGroupAdsRequest {
        /**
         * Required. The list of operations to perform on individual ads.
         */
        operations?: Schema$GoogleAdsSearchads360V23Services__AdGroupAdOperation[];
        /**
         * If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false.
         */
        partialFailure?: boolean | null;
        /**
         * The response content type setting. Determines whether the mutable resource or just the resource name should be returned post mutation.
         */
        responseContentType?: string | null;
        /**
         * If true, the request is validated but not executed. Only errors are returned, not results.
         */
        validateOnly?: boolean | null;
    }
    /**
     * Response message for an ad group ad mutate.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__MutateAdGroupAdsResponse {
        /**
         * Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error.
         */
        partialFailureError?: Schema$GoogleRpc__Status;
        /**
         * All results for the mutate.
         */
        results?: Schema$GoogleAdsSearchads360V23Services__MutateAdGroupAdResult[];
    }
    /**
     * The result for the ad group asset mutate.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__MutateAdGroupAssetResult {
        /**
         * The mutated ad group asset with only mutable fields after mutate. The field will only be returned when response_content_type is set to "MUTABLE_RESOURCE".
         */
        adGroupAsset?: Schema$GoogleAdsSearchads360V23Resources__AdGroupAsset;
        /**
         * Returned for successful operations.
         */
        resourceName?: string | null;
    }
    /**
     * The result for the ad group asset set mutate.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__MutateAdGroupAssetSetResult {
        /**
         * The mutated ad group asset set with only mutable fields after mutate. The field will only be returned when response_content_type is set to "MUTABLE_RESOURCE".
         */
        adGroupAssetSet?: Schema$GoogleAdsSearchads360V23Resources__AdGroupAssetSet;
        /**
         * Returned for successful operations.
         */
        resourceName?: string | null;
    }
    /**
     * Request message for AdGroupAssetSetService.MutateAdGroupAssetSets.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__MutateAdGroupAssetSetsRequest {
        /**
         * Required. The list of operations to perform on individual ad group asset sets.
         */
        operations?: Schema$GoogleAdsSearchads360V23Services__AdGroupAssetSetOperation[];
        /**
         * If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false.
         */
        partialFailure?: boolean | null;
        /**
         * The response content type setting. Determines whether the mutable resource or just the resource name should be returned post mutation.
         */
        responseContentType?: string | null;
        /**
         * If true, the request is validated but not executed. Only errors are returned, not results.
         */
        validateOnly?: boolean | null;
    }
    /**
     * Response message for an ad group asset set mutate.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__MutateAdGroupAssetSetsResponse {
        /**
         * Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (e.g. auth errors), we return an RPC level error.
         */
        partialFailureError?: Schema$GoogleRpc__Status;
        /**
         * All results for the mutate.
         */
        results?: Schema$GoogleAdsSearchads360V23Services__MutateAdGroupAssetSetResult[];
    }
    /**
     * Request message for AdGroupAssetService.MutateAdGroupAssets.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__MutateAdGroupAssetsRequest {
        /**
         * Required. The list of operations to perform on individual ad group assets.
         */
        operations?: Schema$GoogleAdsSearchads360V23Services__AdGroupAssetOperation[];
        /**
         * If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false.
         */
        partialFailure?: boolean | null;
        /**
         * The response content type setting. Determines whether the mutable resource or just the resource name should be returned post mutation.
         */
        responseContentType?: string | null;
        /**
         * If true, the request is validated but not executed. Only errors are returned, not results.
         */
        validateOnly?: boolean | null;
    }
    /**
     * Response message for an ad group asset mutate.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__MutateAdGroupAssetsResponse {
        /**
         * Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error.
         */
        partialFailureError?: Schema$GoogleRpc__Status;
        /**
         * All results for the mutate.
         */
        results?: Schema$GoogleAdsSearchads360V23Services__MutateAdGroupAssetResult[];
    }
    /**
     * The result for the criterion mutate.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__MutateAdGroupBidModifierResult {
        /**
         * The mutated ad group bid modifier with only mutable fields after mutate. The field will only be returned when response_content_type is set to "MUTABLE_RESOURCE".
         */
        adGroupBidModifier?: Schema$GoogleAdsSearchads360V23Resources__AdGroupBidModifier;
        /**
         * Returned for successful operations.
         */
        resourceName?: string | null;
    }
    /**
     * Request message for AdGroupBidModifierService.MutateAdGroupBidModifiers.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__MutateAdGroupBidModifiersRequest {
        /**
         * Required. The list of operations to perform on individual ad group bid modifiers.
         */
        operations?: Schema$GoogleAdsSearchads360V23Services__AdGroupBidModifierOperation[];
        /**
         * If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false.
         */
        partialFailure?: boolean | null;
        /**
         * The response content type setting. Determines whether the mutable resource or just the resource name should be returned post mutation.
         */
        responseContentType?: string | null;
        /**
         * If true, the request is validated but not executed. Only errors are returned, not results.
         */
        validateOnly?: boolean | null;
    }
    /**
     * Response message for ad group bid modifiers mutate.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__MutateAdGroupBidModifiersResponse {
        /**
         * Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error.
         */
        partialFailureError?: Schema$GoogleRpc__Status;
        /**
         * All results for the mutate.
         */
        results?: Schema$GoogleAdsSearchads360V23Services__MutateAdGroupBidModifierResult[];
    }
    /**
     * Request message for AdGroupCriterionService.MutateAdGroupCriteria.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__MutateAdGroupCriteriaRequest {
        /**
         * Required. The list of operations to perform on individual criteria.
         */
        operations?: Schema$GoogleAdsSearchads360V23Services__AdGroupCriterionOperation[];
        /**
         * If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false.
         */
        partialFailure?: boolean | null;
        /**
         * The response content type setting. Determines whether the mutable resource or just the resource name should be returned post mutation.
         */
        responseContentType?: string | null;
        /**
         * If true, the request is validated but not executed. Only errors are returned, not results.
         */
        validateOnly?: boolean | null;
    }
    /**
     * Response message for an ad group criterion mutate.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__MutateAdGroupCriteriaResponse {
        /**
         * Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error.
         */
        partialFailureError?: Schema$GoogleRpc__Status;
        /**
         * All results for the mutate.
         */
        results?: Schema$GoogleAdsSearchads360V23Services__MutateAdGroupCriterionResult[];
    }
    /**
     * The result for the ad group criterion customizer mutate.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__MutateAdGroupCriterionCustomizerResult {
        /**
         * The mutated AdGroupCriterionCustomizer with only mutable fields after mutate. The field will only be returned when response_content_type is set to "MUTABLE_RESOURCE".
         */
        adGroupCriterionCustomizer?: Schema$GoogleAdsSearchads360V23Resources__AdGroupCriterionCustomizer;
        /**
         * Returned for successful operations.
         */
        resourceName?: string | null;
    }
    /**
     * Request message for AdGroupCriterionCustomizerService.MutateAdGroupCriterionCustomizers.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__MutateAdGroupCriterionCustomizersRequest {
        /**
         * Required. The list of operations to perform on individual ad group criterion customizers.
         */
        operations?: Schema$GoogleAdsSearchads360V23Services__AdGroupCriterionCustomizerOperation[];
        /**
         * If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false.
         */
        partialFailure?: boolean | null;
        /**
         * The response content type setting. Determines whether the mutable resource or just the resource name should be returned post mutation.
         */
        responseContentType?: string | null;
        /**
         * If true, the request is validated but not executed. Only errors are returned, not results.
         */
        validateOnly?: boolean | null;
    }
    /**
     * Response message for an ad group criterion customizer mutate.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__MutateAdGroupCriterionCustomizersResponse {
        /**
         * Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error.
         */
        partialFailureError?: Schema$GoogleRpc__Status;
        /**
         * All results for the mutate.
         */
        results?: Schema$GoogleAdsSearchads360V23Services__MutateAdGroupCriterionCustomizerResult[];
    }
    /**
     * The result for an ad group criterion label mutate.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__MutateAdGroupCriterionLabelResult {
        /**
         * Returned for successful operations.
         */
        resourceName?: string | null;
    }
    /**
     * Request message for AdGroupCriterionLabelService.MutateAdGroupCriterionLabels.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__MutateAdGroupCriterionLabelsRequest {
        /**
         * Required. The list of operations to perform on ad group criterion labels.
         */
        operations?: Schema$GoogleAdsSearchads360V23Services__AdGroupCriterionLabelOperation[];
        /**
         * If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false.
         */
        partialFailure?: boolean | null;
        /**
         * If true, the request is validated but not executed. Only errors are returned, not results.
         */
        validateOnly?: boolean | null;
    }
    /**
     * Response message for an ad group criterion labels mutate.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__MutateAdGroupCriterionLabelsResponse {
        /**
         * Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error.
         */
        partialFailureError?: Schema$GoogleRpc__Status;
        /**
         * All results for the mutate.
         */
        results?: Schema$GoogleAdsSearchads360V23Services__MutateAdGroupCriterionLabelResult[];
    }
    /**
     * The result for the criterion mutate.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__MutateAdGroupCriterionResult {
        /**
         * The mutated ad group criterion with only mutable fields after mutate. The field will only be returned when response_content_type is set to "MUTABLE_RESOURCE".
         */
        adGroupCriterion?: Schema$GoogleAdsSearchads360V23Resources__AdGroupCriterion;
        /**
         * Returned for successful operations.
         */
        resourceName?: string | null;
    }
    /**
     * The result for the ad group customizer mutate.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__MutateAdGroupCustomizerResult {
        /**
         * The mutated AdGroupCustomizer with only mutable fields after mutate. The field will only be returned when response_content_type is set to "MUTABLE_RESOURCE".
         */
        adGroupCustomizer?: Schema$GoogleAdsSearchads360V23Resources__AdGroupCustomizer;
        /**
         * Returned for successful operations.
         */
        resourceName?: string | null;
    }
    /**
     * Request message for AdGroupCustomizerService.MutateAdGroupCustomizers.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__MutateAdGroupCustomizersRequest {
        /**
         * Required. The list of operations to perform on individual ad group customizers.
         */
        operations?: Schema$GoogleAdsSearchads360V23Services__AdGroupCustomizerOperation[];
        /**
         * If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false.
         */
        partialFailure?: boolean | null;
        /**
         * The response content type setting. Determines whether the mutable resource or just the resource name should be returned post mutation.
         */
        responseContentType?: string | null;
        /**
         * If true, the request is validated but not executed. Only errors are returned, not results.
         */
        validateOnly?: boolean | null;
    }
    /**
     * Response message for an ad group customizer mutate.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__MutateAdGroupCustomizersResponse {
        /**
         * Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error.
         */
        partialFailureError?: Schema$GoogleRpc__Status;
        /**
         * All results for the mutate.
         */
        results?: Schema$GoogleAdsSearchads360V23Services__MutateAdGroupCustomizerResult[];
    }
    /**
     * The result for an ad group label mutate.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__MutateAdGroupLabelResult {
        /**
         * Returned for successful operations.
         */
        resourceName?: string | null;
    }
    /**
     * Request message for AdGroupLabelService.MutateAdGroupLabels.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__MutateAdGroupLabelsRequest {
        /**
         * Required. The list of operations to perform on ad group labels.
         */
        operations?: Schema$GoogleAdsSearchads360V23Services__AdGroupLabelOperation[];
        /**
         * If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false.
         */
        partialFailure?: boolean | null;
        /**
         * If true, the request is validated but not executed. Only errors are returned, not results.
         */
        validateOnly?: boolean | null;
    }
    /**
     * Response message for an ad group labels mutate.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__MutateAdGroupLabelsResponse {
        /**
         * Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error.
         */
        partialFailureError?: Schema$GoogleRpc__Status;
        /**
         * All results for the mutate.
         */
        results?: Schema$GoogleAdsSearchads360V23Services__MutateAdGroupLabelResult[];
    }
    /**
     * The result for the ad group mutate.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__MutateAdGroupResult {
        /**
         * The mutated ad group with only mutable fields after mutate. The field will only be returned when response_content_type is set to "MUTABLE_RESOURCE".
         */
        adGroup?: Schema$GoogleAdsSearchads360V23Resources__AdGroup;
        /**
         * Returned for successful operations.
         */
        resourceName?: string | null;
    }
    /**
     * Request message for AdGroupService.MutateAdGroups.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__MutateAdGroupsRequest {
        /**
         * Required. The list of operations to perform on individual ad groups.
         */
        operations?: Schema$GoogleAdsSearchads360V23Services__AdGroupOperation[];
        /**
         * If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false.
         */
        partialFailure?: boolean | null;
        /**
         * The response content type setting. Determines whether the mutable resource or just the resource name should be returned post mutation.
         */
        responseContentType?: string | null;
        /**
         * If true, the request is validated but not executed. Only errors are returned, not results.
         */
        validateOnly?: boolean | null;
    }
    /**
     * Response message for an ad group mutate.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__MutateAdGroupsResponse {
        /**
         * Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error.
         */
        partialFailureError?: Schema$GoogleRpc__Status;
        /**
         * All results for the mutate.
         */
        results?: Schema$GoogleAdsSearchads360V23Services__MutateAdGroupResult[];
    }
    /**
     * The result for the ad parameter mutate.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__MutateAdParameterResult {
        /**
         * The mutated AdParameter with only mutable fields after mutate. The field will only be returned when response_content_type is set to "MUTABLE_RESOURCE".
         */
        adParameter?: Schema$GoogleAdsSearchads360V23Resources__AdParameter;
        /**
         * The resource name returned for successful operations.
         */
        resourceName?: string | null;
    }
    /**
     * Request message for AdParameterService.MutateAdParameters
     */
    export interface Schema$GoogleAdsSearchads360V23Services__MutateAdParametersRequest {
        /**
         * Required. The list of operations to perform on individual ad parameters.
         */
        operations?: Schema$GoogleAdsSearchads360V23Services__AdParameterOperation[];
        /**
         * If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false.
         */
        partialFailure?: boolean | null;
        /**
         * The response content type setting. Determines whether the mutable resource or just the resource name should be returned post mutation.
         */
        responseContentType?: string | null;
        /**
         * If true, the request is validated but not executed. Only errors are returned, not results.
         */
        validateOnly?: boolean | null;
    }
    /**
     * Response message for an ad parameter mutate.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__MutateAdParametersResponse {
        /**
         * Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error.
         */
        partialFailureError?: Schema$GoogleRpc__Status;
        /**
         * All results for the mutate.
         */
        results?: Schema$GoogleAdsSearchads360V23Services__MutateAdParameterResult[];
    }
    /**
     * The result for the ad mutate.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__MutateAdResult {
        /**
         * The mutated ad with only mutable fields after mutate. The field will only be returned when response_content_type is set to "MUTABLE_RESOURCE".
         */
        ad?: Schema$GoogleAdsSearchads360V23Resources__Ad;
        /**
         * The resource name returned for successful operations.
         */
        resourceName?: string | null;
    }
    /**
     * Request message for AdService.MutateAds.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__MutateAdsRequest {
        /**
         * Required. The list of operations to perform on individual ads.
         */
        operations?: Schema$GoogleAdsSearchads360V23Services__AdOperation[];
        /**
         * If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false.
         */
        partialFailure?: boolean | null;
        /**
         * The response content type setting. Determines whether the mutable resource or just the resource name should be returned post mutation.
         */
        responseContentType?: string | null;
        /**
         * If true, the request is validated but not executed. Only errors are returned, not results.
         */
        validateOnly?: boolean | null;
    }
    /**
     * Response message for an ad mutate.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__MutateAdsResponse {
        /**
         * Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error.
         */
        partialFailureError?: Schema$GoogleRpc__Status;
        /**
         * All results for the mutate.
         */
        results?: Schema$GoogleAdsSearchads360V23Services__MutateAdResult[];
    }
    /**
     * The result for the asset group asset mutate.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__MutateAssetGroupAssetResult {
        /**
         * Returned for successful operations.
         */
        resourceName?: string | null;
    }
    /**
     * Request message for AssetGroupAssetService.MutateAssetGroupAssets.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__MutateAssetGroupAssetsRequest {
        /**
         * Required. The list of operations to perform on individual asset group assets.
         */
        operations?: Schema$GoogleAdsSearchads360V23Services__AssetGroupAssetOperation[];
        /**
         * If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false.
         */
        partialFailure?: boolean | null;
        /**
         * If true, the request is validated but not executed. Only errors are returned, not results.
         */
        validateOnly?: boolean | null;
    }
    /**
     * Response message for an asset group asset mutate.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__MutateAssetGroupAssetsResponse {
        /**
         * Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error.
         */
        partialFailureError?: Schema$GoogleRpc__Status;
        /**
         * All results for the mutate.
         */
        results?: Schema$GoogleAdsSearchads360V23Services__MutateAssetGroupAssetResult[];
    }
    /**
     * The result for the asset group listing group filter mutate.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__MutateAssetGroupListingGroupFilterResult {
        /**
         * The mutated AssetGroupListingGroupFilter with only mutable fields after mutate. The field will only be returned when response_content_type is set to "MUTABLE_RESOURCE".
         */
        assetGroupListingGroupFilter?: Schema$GoogleAdsSearchads360V23Resources__AssetGroupListingGroupFilter;
        /**
         * Returned for successful operations.
         */
        resourceName?: string | null;
    }
    /**
     * Request message for AssetGroupListingGroupFilterService.MutateAssetGroupListingGroupFilters. partial_failure is not supported because the tree needs to be validated together.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__MutateAssetGroupListingGroupFiltersRequest {
        /**
         * Required. The list of operations to perform on individual asset group listing group filters.
         */
        operations?: Schema$GoogleAdsSearchads360V23Services__AssetGroupListingGroupFilterOperation[];
        /**
         * The response content type setting. Determines whether the mutable resource or just the resource name should be returned post mutation.
         */
        responseContentType?: string | null;
        /**
         * If true, the request is validated but not executed. Only errors are returned, not results.
         */
        validateOnly?: boolean | null;
    }
    /**
     * Response message for an asset group listing group filter mutate.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__MutateAssetGroupListingGroupFiltersResponse {
        /**
         * All results for the mutate.
         */
        results?: Schema$GoogleAdsSearchads360V23Services__MutateAssetGroupListingGroupFilterResult[];
    }
    /**
     * The result for the asset group mutate.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__MutateAssetGroupResult {
        /**
         * Returned for successful operations.
         */
        resourceName?: string | null;
    }
    /**
     * The result for the asset group signal mutate.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__MutateAssetGroupSignalResult {
        /**
         * The mutated AssetGroupSignal with only mutable fields after mutate. The field will only be returned when response_content_type is set to "MUTABLE_RESOURCE".
         */
        assetGroupSignal?: Schema$GoogleAdsSearchads360V23Resources__AssetGroupSignal;
        /**
         * Returned for successful operations.
         */
        resourceName?: string | null;
    }
    /**
     * Request message for AssetGroupSignalService.MutateAssetGroupSignals.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__MutateAssetGroupSignalsRequest {
        /**
         * Required. The list of operations to perform on individual asset group signals.
         */
        operations?: Schema$GoogleAdsSearchads360V23Services__AssetGroupSignalOperation[];
        /**
         * If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false.
         */
        partialFailure?: boolean | null;
        /**
         * The response content type setting. Determines whether the mutable resource or just the resource name should be returned post mutation.
         */
        responseContentType?: string | null;
        /**
         * If true, the request is validated but not executed. Only errors are returned, not results.
         */
        validateOnly?: boolean | null;
    }
    /**
     * Response message for an asset group signal mutate.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__MutateAssetGroupSignalsResponse {
        /**
         * Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error.
         */
        partialFailureError?: Schema$GoogleRpc__Status;
        /**
         * All results for the mutate.
         */
        results?: Schema$GoogleAdsSearchads360V23Services__MutateAssetGroupSignalResult[];
    }
    /**
     * Request message for AssetGroupService.MutateAssetGroups.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__MutateAssetGroupsRequest {
        /**
         * Required. The list of operations to perform on individual asset groups.
         */
        operations?: Schema$GoogleAdsSearchads360V23Services__AssetGroupOperation[];
        /**
         * If true, the request is validated but not executed. Only errors are returned, not results.
         */
        validateOnly?: boolean | null;
    }
    /**
     * Response message for an asset group mutate.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__MutateAssetGroupsResponse {
        /**
         * Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error.
         */
        partialFailureError?: Schema$GoogleRpc__Status;
        /**
         * All results for the mutate.
         */
        results?: Schema$GoogleAdsSearchads360V23Services__MutateAssetGroupResult[];
    }
    /**
     * The result for the asset mutate.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__MutateAssetResult {
        /**
         * The mutated asset with only mutable fields after mutate. The field will only be returned when response_content_type is set to "MUTABLE_RESOURCE".
         */
        asset?: Schema$GoogleAdsSearchads360V23Resources__Asset;
        /**
         * The resource name returned for successful operations.
         */
        resourceName?: string | null;
    }
    /**
     * The result for the asset set asset mutate.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__MutateAssetSetAssetResult {
        /**
         * The mutated asset set asset with only mutable fields after mutate. The field will only be returned when response_content_type is set to "MUTABLE_RESOURCE".
         */
        assetSetAsset?: Schema$GoogleAdsSearchads360V23Resources__AssetSetAsset;
        /**
         * Returned for successful operations.
         */
        resourceName?: string | null;
    }
    /**
     * Request message for AssetSetAssetService.MutateAssetSetAssets.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__MutateAssetSetAssetsRequest {
        /**
         * Required. The list of operations to perform on individual asset set assets.
         */
        operations?: Schema$GoogleAdsSearchads360V23Services__AssetSetAssetOperation[];
        /**
         * If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false.
         */
        partialFailure?: boolean | null;
        /**
         * The response content type setting. Determines whether the mutable resource or just the resource name should be returned post mutation.
         */
        responseContentType?: string | null;
        /**
         * If true, the request is validated but not executed. Only errors are returned, not results.
         */
        validateOnly?: boolean | null;
    }
    /**
     * Response message for an asset set asset mutate.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__MutateAssetSetAssetsResponse {
        /**
         * Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error.
         */
        partialFailureError?: Schema$GoogleRpc__Status;
        /**
         * All results for the mutate.
         */
        results?: Schema$GoogleAdsSearchads360V23Services__MutateAssetSetAssetResult[];
    }
    /**
     * The result for the asset set mutate.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__MutateAssetSetResult {
        /**
         * The mutated asset set with only mutable fields after mutate. The field will only be returned when response_content_type is set to "MUTABLE_RESOURCE".
         */
        assetSet?: Schema$GoogleAdsSearchads360V23Resources__AssetSet;
        /**
         * Returned for successful operations.
         */
        resourceName?: string | null;
    }
    /**
     * Request message for AssetSetService.MutateAssetSets.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__MutateAssetSetsRequest {
        /**
         * Required. The list of operations to perform on individual asset sets.
         */
        operations?: Schema$GoogleAdsSearchads360V23Services__AssetSetOperation[];
        /**
         * If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false.
         */
        partialFailure?: boolean | null;
        /**
         * The response content type setting. Determines whether the mutable resource or just the resource name should be returned post mutation.
         */
        responseContentType?: string | null;
        /**
         * If true, the request is validated but not executed. Only errors are returned, not results.
         */
        validateOnly?: boolean | null;
    }
    /**
     * Response message for an asset set mutate.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__MutateAssetSetsResponse {
        /**
         * Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error.
         */
        partialFailureError?: Schema$GoogleRpc__Status;
        /**
         * All results for the mutate.
         */
        results?: Schema$GoogleAdsSearchads360V23Services__MutateAssetSetResult[];
    }
    /**
     * Request message for AssetService.MutateAssets
     */
    export interface Schema$GoogleAdsSearchads360V23Services__MutateAssetsRequest {
        /**
         * Required. The list of operations to perform on individual assets.
         */
        operations?: Schema$GoogleAdsSearchads360V23Services__AssetOperation[];
        /**
         * If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false.
         */
        partialFailure?: boolean | null;
        /**
         * The response content type setting. Determines whether the mutable resource or just the resource name should be returned post mutation.
         */
        responseContentType?: string | null;
        /**
         * If true, the request is validated but not executed. Only errors are returned, not results.
         */
        validateOnly?: boolean | null;
    }
    /**
     * Response message for an asset mutate.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__MutateAssetsResponse {
        /**
         * Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error.
         */
        partialFailureError?: Schema$GoogleRpc__Status;
        /**
         * All results for the mutate.
         */
        results?: Schema$GoogleAdsSearchads360V23Services__MutateAssetResult[];
    }
    /**
     * The result for the audience mutate.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__MutateAudienceResult {
        /**
         * The mutated Audience with only mutable fields after mutate. The field will only be returned when response_content_type is set to "MUTABLE_RESOURCE".
         */
        audience?: Schema$GoogleAdsSearchads360V23Resources__Audience;
        /**
         * Returned for successful operations.
         */
        resourceName?: string | null;
    }
    /**
     * Request message for AudienceService.MutateAudiences.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__MutateAudiencesRequest {
        /**
         * Required. The list of operations to perform on individual audiences.
         */
        operations?: Schema$GoogleAdsSearchads360V23Services__AudienceOperation[];
        /**
         * If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false.
         */
        partialFailure?: boolean | null;
        /**
         * The response content type setting. Determines whether the mutable resource or just the resource name should be returned post mutation.
         */
        responseContentType?: string | null;
        /**
         * If true, the request is validated but not executed. Only errors are returned, not results.
         */
        validateOnly?: boolean | null;
    }
    /**
     * Response message for an audience mutate.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__MutateAudiencesResponse {
        /**
         * Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error.
         */
        partialFailureError?: Schema$GoogleRpc__Status;
        /**
         * All results for the mutate.
         */
        results?: Schema$GoogleAdsSearchads360V23Services__MutateAudienceResult[];
    }
    /**
     * Request message for BatchJobService.MutateBatchJob.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__MutateBatchJobRequest {
        /**
         * Required. The operation to perform on an individual batch job.
         */
        operation?: Schema$GoogleAdsSearchads360V23Services__BatchJobOperation;
    }
    /**
     * Response message for BatchJobService.MutateBatchJob.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__MutateBatchJobResponse {
        /**
         * The result for the mutate.
         */
        result?: Schema$GoogleAdsSearchads360V23Services__MutateBatchJobResult;
    }
    /**
     * The result for the batch job mutate.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__MutateBatchJobResult {
        /**
         * The resource name of the batch job.
         */
        resourceName?: string | null;
    }
    /**
     * Request message for BiddingDataExclusionService.MutateBiddingDataExclusions.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__MutateBiddingDataExclusionsRequest {
        /**
         * Required. The list of operations to perform on individual data exclusions.
         */
        operations?: Schema$GoogleAdsSearchads360V23Services__BiddingDataExclusionOperation[];
        /**
         * If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false.
         */
        partialFailure?: boolean | null;
        /**
         * The response content type setting. Determines whether the mutable resource or just the resource name should be returned post mutation.
         */
        responseContentType?: string | null;
        /**
         * If true, the request is validated but not executed. Only errors are returned, not results.
         */
        validateOnly?: boolean | null;
    }
    /**
     * Response message for data exclusions mutate.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__MutateBiddingDataExclusionsResponse {
        /**
         * Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error.
         */
        partialFailureError?: Schema$GoogleRpc__Status;
        /**
         * All results for the mutate.
         */
        results?: Schema$GoogleAdsSearchads360V23Services__MutateBiddingDataExclusionsResult[];
    }
    /**
     * The result for the data exclusion mutate.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__MutateBiddingDataExclusionsResult {
        /**
         * The mutated bidding data exclusion with only mutable fields after mutate. The field will only be returned when response_content_type is set to "MUTABLE_RESOURCE".
         */
        biddingDataExclusion?: Schema$GoogleAdsSearchads360V23Resources__BiddingDataExclusion;
        /**
         * Returned for successful operations.
         */
        resourceName?: string | null;
    }
    /**
     * Request message for BiddingSeasonalityAdjustmentService.MutateBiddingSeasonalityAdjustments.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__MutateBiddingSeasonalityAdjustmentsRequest {
        /**
         * Required. The list of operations to perform on individual seasonality adjustments.
         */
        operations?: Schema$GoogleAdsSearchads360V23Services__BiddingSeasonalityAdjustmentOperation[];
        /**
         * If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false.
         */
        partialFailure?: boolean | null;
        /**
         * The response content type setting. Determines whether the mutable resource or just the resource name should be returned post mutation.
         */
        responseContentType?: string | null;
        /**
         * If true, the request is validated but not executed. Only errors are returned, not results.
         */
        validateOnly?: boolean | null;
    }
    /**
     * Response message for seasonality adjustments mutate.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__MutateBiddingSeasonalityAdjustmentsResponse {
        /**
         * Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error.
         */
        partialFailureError?: Schema$GoogleRpc__Status;
        /**
         * All results for the mutate.
         */
        results?: Schema$GoogleAdsSearchads360V23Services__MutateBiddingSeasonalityAdjustmentsResult[];
    }
    /**
     * The result for the seasonality adjustment mutate.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__MutateBiddingSeasonalityAdjustmentsResult {
        /**
         * The mutated bidding seasonality adjustment with only mutable fields after mutate. The field will only be returned when response_content_type is set to "MUTABLE_RESOURCE".
         */
        biddingSeasonalityAdjustment?: Schema$GoogleAdsSearchads360V23Resources__BiddingSeasonalityAdjustment;
        /**
         * Returned for successful operations.
         */
        resourceName?: string | null;
    }
    /**
     * Request message for BiddingStrategyService.MutateBiddingStrategies.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__MutateBiddingStrategiesRequest {
        /**
         * Required. The list of operations to perform on individual bidding strategies.
         */
        operations?: Schema$GoogleAdsSearchads360V23Services__BiddingStrategyOperation[];
        /**
         * If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false.
         */
        partialFailure?: boolean | null;
        /**
         * The response content type setting. Determines whether the mutable resource or just the resource name should be returned post mutation.
         */
        responseContentType?: string | null;
        /**
         * If true, the request is validated but not executed. Only errors are returned, not results.
         */
        validateOnly?: boolean | null;
    }
    /**
     * Response message for bidding strategy mutate.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__MutateBiddingStrategiesResponse {
        /**
         * Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error.
         */
        partialFailureError?: Schema$GoogleRpc__Status;
        /**
         * All results for the mutate.
         */
        results?: Schema$GoogleAdsSearchads360V23Services__MutateBiddingStrategyResult[];
    }
    /**
     * The result for the bidding strategy mutate.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__MutateBiddingStrategyResult {
        /**
         * The mutated bidding strategy with only mutable fields after mutate. The field will only be returned when response_content_type is set to "MUTABLE_RESOURCE".
         */
        biddingStrategy?: Schema$GoogleAdsSearchads360V23Resources__BiddingStrategy;
        /**
         * Returned for successful operations.
         */
        resourceName?: string | null;
    }
    /**
     * Request message for billing setup mutate operations.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__MutateBillingSetupRequest {
        /**
         * Required. The operation to perform.
         */
        operation?: Schema$GoogleAdsSearchads360V23Services__BillingSetupOperation;
    }
    /**
     * Response message for a billing setup operation.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__MutateBillingSetupResponse {
        /**
         * A result that identifies the resource affected by the mutate request.
         */
        result?: Schema$GoogleAdsSearchads360V23Services__MutateBillingSetupResult;
    }
    /**
     * Result for a single billing setup mutate.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__MutateBillingSetupResult {
        /**
         * Returned for successful operations.
         */
        resourceName?: string | null;
    }
    /**
     * The result for the campaign asset mutate.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__MutateCampaignAssetResult {
        /**
         * The mutated campaign asset with only mutable fields after mutate. The field will only be returned when response_content_type is set to "MUTABLE_RESOURCE".
         */
        campaignAsset?: Schema$GoogleAdsSearchads360V23Resources__CampaignAsset;
        /**
         * Returned for successful operations.
         */
        resourceName?: string | null;
    }
    /**
     * The result for the campaign asset set mutate.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__MutateCampaignAssetSetResult {
        /**
         * The mutated campaign asset set with only mutable fields after mutate. The field will only be returned when response_content_type is set to "MUTABLE_RESOURCE".
         */
        campaignAssetSet?: Schema$GoogleAdsSearchads360V23Resources__CampaignAssetSet;
        /**
         * Returned for successful operations.
         */
        resourceName?: string | null;
    }
    /**
     * Request message for CampaignAssetSetService.MutateCampaignAssetSets.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__MutateCampaignAssetSetsRequest {
        /**
         * Required. The list of operations to perform on individual campaign asset sets.
         */
        operations?: Schema$GoogleAdsSearchads360V23Services__CampaignAssetSetOperation[];
        /**
         * If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false.
         */
        partialFailure?: boolean | null;
        /**
         * The response content type setting. Determines whether the mutable resource or just the resource name should be returned post mutation.
         */
        responseContentType?: string | null;
        /**
         * If true, the request is validated but not executed. Only errors are returned, not results.
         */
        validateOnly?: boolean | null;
    }
    /**
     * Response message for a campaign asset set mutate.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__MutateCampaignAssetSetsResponse {
        /**
         * Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error.
         */
        partialFailureError?: Schema$GoogleRpc__Status;
        /**
         * All results for the mutate.
         */
        results?: Schema$GoogleAdsSearchads360V23Services__MutateCampaignAssetSetResult[];
    }
    /**
     * Request message for CampaignAssetService.MutateCampaignAssets.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__MutateCampaignAssetsRequest {
        /**
         * Required. The list of operations to perform on individual campaign assets.
         */
        operations?: Schema$GoogleAdsSearchads360V23Services__CampaignAssetOperation[];
        /**
         * If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false.
         */
        partialFailure?: boolean | null;
        /**
         * The response content type setting. Determines whether the mutable resource or just the resource name should be returned post mutation.
         */
        responseContentType?: string | null;
        /**
         * If true, the request is validated but not executed. Only errors are returned, not results.
         */
        validateOnly?: boolean | null;
    }
    /**
     * Response message for a campaign asset mutate.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__MutateCampaignAssetsResponse {
        /**
         * Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error.
         */
        partialFailureError?: Schema$GoogleRpc__Status;
        /**
         * All results for the mutate.
         */
        results?: Schema$GoogleAdsSearchads360V23Services__MutateCampaignAssetResult[];
    }
    /**
     * The result for the criterion mutate.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__MutateCampaignBidModifierResult {
        /**
         * The mutated campaign bid modifier with only mutable fields after mutate. The field will only be returned when response_content_type is set to "MUTABLE_RESOURCE".
         */
        campaignBidModifier?: Schema$GoogleAdsSearchads360V23Resources__CampaignBidModifier;
        /**
         * Returned for successful operations.
         */
        resourceName?: string | null;
    }
    /**
     * Request message for CampaignBidModifierService.MutateCampaignBidModifiers.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__MutateCampaignBidModifiersRequest {
        /**
         * Required. The list of operations to perform on individual campaign bid modifiers.
         */
        operations?: Schema$GoogleAdsSearchads360V23Services__CampaignBidModifierOperation[];
        /**
         * If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false.
         */
        partialFailure?: boolean | null;
        /**
         * The response content type setting. Determines whether the mutable resource or just the resource name should be returned post mutation.
         */
        responseContentType?: string | null;
        /**
         * If true, the request is validated but not executed. Only errors are returned, not results.
         */
        validateOnly?: boolean | null;
    }
    /**
     * Response message for campaign bid modifiers mutate.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__MutateCampaignBidModifiersResponse {
        /**
         * Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error.
         */
        partialFailureError?: Schema$GoogleRpc__Status;
        /**
         * All results for the mutate.
         */
        results?: Schema$GoogleAdsSearchads360V23Services__MutateCampaignBidModifierResult[];
    }
    /**
     * The result for the campaign budget mutate.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__MutateCampaignBudgetResult {
        /**
         * The mutated campaign budget with only mutable fields after mutate. The field will only be returned when response_content_type is set to "MUTABLE_RESOURCE".
         */
        campaignBudget?: Schema$GoogleAdsSearchads360V23Resources__CampaignBudget;
        /**
         * Returned for successful operations.
         */
        resourceName?: string | null;
    }
    /**
     * Request message for CampaignBudgetService.MutateCampaignBudgets.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__MutateCampaignBudgetsRequest {
        /**
         * Required. The list of operations to perform on individual campaign budgets.
         */
        operations?: Schema$GoogleAdsSearchads360V23Services__CampaignBudgetOperation[];
        /**
         * If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false.
         */
        partialFailure?: boolean | null;
        /**
         * The response content type setting. Determines whether the mutable resource or just the resource name should be returned post mutation.
         */
        responseContentType?: string | null;
        /**
         * If true, the request is validated but not executed. Only errors are returned, not results.
         */
        validateOnly?: boolean | null;
    }
    /**
     * Response message for campaign budget mutate.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__MutateCampaignBudgetsResponse {
        /**
         * Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error.
         */
        partialFailureError?: Schema$GoogleRpc__Status;
        /**
         * All results for the mutate.
         */
        results?: Schema$GoogleAdsSearchads360V23Services__MutateCampaignBudgetResult[];
    }
    /**
     * The result for the campaign conversion goal mutate.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__MutateCampaignConversionGoalResult {
        /**
         * Returned for successful operations.
         */
        resourceName?: string | null;
    }
    /**
     * Request message for CampaignConversionGoalService.MutateCampaignConversionGoals.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__MutateCampaignConversionGoalsRequest {
        /**
         * Required. The list of operations to perform on individual campaign conversion goal.
         */
        operations?: Schema$GoogleAdsSearchads360V23Services__CampaignConversionGoalOperation[];
        /**
         * If true, the request is validated but not executed. Only errors are returned, not results.
         */
        validateOnly?: boolean | null;
    }
    /**
     * Response message for a campaign conversion goal mutate.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__MutateCampaignConversionGoalsResponse {
        /**
         * All results for the mutate.
         */
        results?: Schema$GoogleAdsSearchads360V23Services__MutateCampaignConversionGoalResult[];
    }
    /**
     * Request message for CampaignCriterionService.MutateCampaignCriteria.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__MutateCampaignCriteriaRequest {
        /**
         * Required. The list of operations to perform on individual criteria.
         */
        operations?: Schema$GoogleAdsSearchads360V23Services__CampaignCriterionOperation[];
        /**
         * If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false.
         */
        partialFailure?: boolean | null;
        /**
         * The response content type setting. Determines whether the mutable resource or just the resource name should be returned post mutation.
         */
        responseContentType?: string | null;
        /**
         * If true, the request is validated but not executed. Only errors are returned, not results.
         */
        validateOnly?: boolean | null;
    }
    /**
     * Response message for campaign criterion mutate.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__MutateCampaignCriteriaResponse {
        /**
         * Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error.
         */
        partialFailureError?: Schema$GoogleRpc__Status;
        /**
         * All results for the mutate.
         */
        results?: Schema$GoogleAdsSearchads360V23Services__MutateCampaignCriterionResult[];
    }
    /**
     * The result for the criterion mutate.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__MutateCampaignCriterionResult {
        /**
         * The mutated campaign criterion with only mutable fields after mutate. The field will only be returned when response_content_type is set to "MUTABLE_RESOURCE".
         */
        campaignCriterion?: Schema$GoogleAdsSearchads360V23Resources__CampaignCriterion;
        /**
         * Returned for successful operations.
         */
        resourceName?: string | null;
    }
    /**
     * The result for the campaign customizer mutate.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__MutateCampaignCustomizerResult {
        /**
         * The mutated CampaignCustomizer with only mutable fields after mutate. The field will only be returned when response_content_type is set to "MUTABLE_RESOURCE".
         */
        campaignCustomizer?: Schema$GoogleAdsSearchads360V23Resources__CampaignCustomizer;
        /**
         * Returned for successful operations.
         */
        resourceName?: string | null;
    }
    /**
     * Request message for CampaignCustomizerService.MutateCampaignCustomizers.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__MutateCampaignCustomizersRequest {
        /**
         * Required. The list of operations to perform on individual campaign customizers.
         */
        operations?: Schema$GoogleAdsSearchads360V23Services__CampaignCustomizerOperation[];
        /**
         * If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false.
         */
        partialFailure?: boolean | null;
        /**
         * The response content type setting. Determines whether the mutable resource or just the resource name should be returned post mutation.
         */
        responseContentType?: string | null;
        /**
         * If true, the request is validated but not executed. Only errors are returned, not results.
         */
        validateOnly?: boolean | null;
    }
    /**
     * Response message for a campaign customizer mutate.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__MutateCampaignCustomizersResponse {
        /**
         * Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error.
         */
        partialFailureError?: Schema$GoogleRpc__Status;
        /**
         * All results for the mutate.
         */
        results?: Schema$GoogleAdsSearchads360V23Services__MutateCampaignCustomizerResult[];
    }
    /**
     * The result for the campaign draft mutate.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__MutateCampaignDraftResult {
        /**
         * The mutated campaign draft with only mutable fields after mutate. The field will only be returned when response_content_type is set to "MUTABLE_RESOURCE".
         */
        campaignDraft?: Schema$GoogleAdsSearchads360V23Resources__CampaignDraft;
        /**
         * Returned for successful operations.
         */
        resourceName?: string | null;
    }
    /**
     * Request message for CampaignDraftService.MutateCampaignDrafts.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__MutateCampaignDraftsRequest {
        /**
         * Required. The list of operations to perform on individual campaign drafts.
         */
        operations?: Schema$GoogleAdsSearchads360V23Services__CampaignDraftOperation[];
        /**
         * If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false.
         */
        partialFailure?: boolean | null;
        /**
         * The response content type setting. Determines whether the mutable resource or just the resource name should be returned post mutation.
         */
        responseContentType?: string | null;
        /**
         * If true, the request is validated but not executed. Only errors are returned, not results.
         */
        validateOnly?: boolean | null;
    }
    /**
     * Response message for campaign draft mutate.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__MutateCampaignDraftsResponse {
        /**
         * Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error.
         */
        partialFailureError?: Schema$GoogleRpc__Status;
        /**
         * All results for the mutate.
         */
        results?: Schema$GoogleAdsSearchads360V23Services__MutateCampaignDraftResult[];
    }
    /**
     * The result for the campaign goal config mutate.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__MutateCampaignGoalConfigResult {
        /**
         * Returned for successful operations.
         */
        resourceName?: string | null;
    }
    /**
     * Request message for CampaignGoalConfigService.MutateCampaignGoalConfigs.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__MutateCampaignGoalConfigsRequest {
        /**
         * Required. The list of operations to perform on the campaign goal configs.
         */
        operations?: Schema$GoogleAdsSearchads360V23Services__CampaignGoalConfigOperation[];
        /**
         * Optional. If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false.
         */
        partialFailure?: boolean | null;
        /**
         * Optional. If true, the request is validated but not executed. Only errors are returned, not results.
         */
        validateOnly?: boolean | null;
    }
    /**
     * Response message for a campaign goal config mutate.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__MutateCampaignGoalConfigsResponse {
        /**
         * Errors that pertain to operation failures in the partial failure mode.
         */
        partialFailureError?: Schema$GoogleRpc__Status;
        /**
         * All results for the mutate.
         */
        results?: Schema$GoogleAdsSearchads360V23Services__MutateCampaignGoalConfigResult[];
    }
    /**
     * The result for the campaign group mutate.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__MutateCampaignGroupResult {
        /**
         * The mutated campaign group with only mutable fields after mutate. The field will only be returned when response_content_type is set to "MUTABLE_RESOURCE".
         */
        campaignGroup?: Schema$GoogleAdsSearchads360V23Resources__CampaignGroup;
        /**
         * Required. Returned for successful operations.
         */
        resourceName?: string | null;
    }
    /**
     * Request message for CampaignGroupService.MutateCampaignGroups.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__MutateCampaignGroupsRequest {
        /**
         * Required. The list of operations to perform on individual campaign groups.
         */
        operations?: Schema$GoogleAdsSearchads360V23Services__CampaignGroupOperation[];
        /**
         * If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false.
         */
        partialFailure?: boolean | null;
        /**
         * The response content type setting. Determines whether the mutable resource or just the resource name should be returned post mutation.
         */
        responseContentType?: string | null;
        /**
         * If true, the request is validated but not executed. Only errors are returned, not results.
         */
        validateOnly?: boolean | null;
    }
    /**
     * Response message for campaign group mutate.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__MutateCampaignGroupsResponse {
        /**
         * Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error.
         */
        partialFailureError?: Schema$GoogleRpc__Status;
        /**
         * All results for the mutate.
         */
        results?: Schema$GoogleAdsSearchads360V23Services__MutateCampaignGroupResult[];
    }
    /**
     * The result for a campaign label mutate.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__MutateCampaignLabelResult {
        /**
         * Returned for successful operations.
         */
        resourceName?: string | null;
    }
    /**
     * Request message for CampaignLabelService.MutateCampaignLabels.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__MutateCampaignLabelsRequest {
        /**
         * Required. The list of operations to perform on campaign-label relationships.
         */
        operations?: Schema$GoogleAdsSearchads360V23Services__CampaignLabelOperation[];
        /**
         * If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false.
         */
        partialFailure?: boolean | null;
        /**
         * If true, the request is validated but not executed. Only errors are returned, not results.
         */
        validateOnly?: boolean | null;
    }
    /**
     * Response message for a campaign labels mutate.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__MutateCampaignLabelsResponse {
        /**
         * Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error.
         */
        partialFailureError?: Schema$GoogleRpc__Status;
        /**
         * All results for the mutate.
         */
        results?: Schema$GoogleAdsSearchads360V23Services__MutateCampaignLabelResult[];
    }
    /**
     * The result for the campaign mutate.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__MutateCampaignResult {
        /**
         * The mutated campaign with only mutable fields after mutate. The field will only be returned when response_content_type is set to "MUTABLE_RESOURCE".
         */
        campaign?: Schema$GoogleAdsSearchads360V23Resources__Campaign;
        /**
         * Returned for successful operations.
         */
        resourceName?: string | null;
    }
    /**
     * The result for the campaign shared set mutate.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__MutateCampaignSharedSetResult {
        /**
         * The mutated campaign shared set with only mutable fields after mutate. The field will only be returned when response_content_type is set to "MUTABLE_RESOURCE".
         */
        campaignSharedSet?: Schema$GoogleAdsSearchads360V23Resources__CampaignSharedSet;
        /**
         * Returned for successful operations.
         */
        resourceName?: string | null;
    }
    /**
     * Request message for CampaignSharedSetService.MutateCampaignSharedSets.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__MutateCampaignSharedSetsRequest {
        /**
         * Required. The list of operations to perform on individual campaign shared sets.
         */
        operations?: Schema$GoogleAdsSearchads360V23Services__CampaignSharedSetOperation[];
        /**
         * If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false.
         */
        partialFailure?: boolean | null;
        /**
         * The response content type setting. Determines whether the mutable resource or just the resource name should be returned post mutation.
         */
        responseContentType?: string | null;
        /**
         * If true, the request is validated but not executed. Only errors are returned, not results.
         */
        validateOnly?: boolean | null;
    }
    /**
     * Response message for a campaign shared set mutate.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__MutateCampaignSharedSetsResponse {
        /**
         * Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error.
         */
        partialFailureError?: Schema$GoogleRpc__Status;
        /**
         * All results for the mutate.
         */
        results?: Schema$GoogleAdsSearchads360V23Services__MutateCampaignSharedSetResult[];
    }
    /**
     * Request message for CampaignService.MutateCampaigns.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__MutateCampaignsRequest {
        /**
         * Required. The list of operations to perform on individual campaigns.
         */
        operations?: Schema$GoogleAdsSearchads360V23Services__CampaignOperation[];
        /**
         * If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false.
         */
        partialFailure?: boolean | null;
        /**
         * The response content type setting. Determines whether the mutable resource or just the resource name should be returned post mutation.
         */
        responseContentType?: string | null;
        /**
         * If true, the request is validated but not executed. Only errors are returned, not results.
         */
        validateOnly?: boolean | null;
    }
    /**
     * Response message for campaign mutate.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__MutateCampaignsResponse {
        /**
         * Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error.
         */
        partialFailureError?: Schema$GoogleRpc__Status;
        /**
         * All results for the mutate.
         */
        results?: Schema$GoogleAdsSearchads360V23Services__MutateCampaignResult[];
    }
    /**
     * The result for the conversion action mutate.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__MutateConversionActionResult {
        /**
         * The mutated conversion action with only mutable fields after mutate. The field will only be returned when response_content_type is set to "MUTABLE_RESOURCE".
         */
        conversionAction?: Schema$GoogleAdsSearchads360V23Resources__ConversionAction;
        /**
         * Returned for successful operations.
         */
        resourceName?: string | null;
    }
    /**
     * Request message for ConversionActionService.MutateConversionActions.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__MutateConversionActionsRequest {
        /**
         * Required. The list of operations to perform on individual conversion actions.
         */
        operations?: Schema$GoogleAdsSearchads360V23Services__ConversionActionOperation[];
        /**
         * If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false.
         */
        partialFailure?: boolean | null;
        /**
         * The response content type setting. Determines whether the mutable resource or just the resource name should be returned post mutation.
         */
        responseContentType?: string | null;
        /**
         * If true, the request is validated but not executed. Only errors are returned, not results.
         */
        validateOnly?: boolean | null;
    }
    /**
     * Response message for ConversionActionService.MutateConversionActions.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__MutateConversionActionsResponse {
        /**
         * Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error.
         */
        partialFailureError?: Schema$GoogleRpc__Status;
        /**
         * All results for the mutate.
         */
        results?: Schema$GoogleAdsSearchads360V23Services__MutateConversionActionResult[];
    }
    /**
     * The result for the conversion custom variable mutate.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__MutateConversionCustomVariableResult {
        /**
         * The mutated conversion custom variable with only mutable fields after mutate. The field will only be returned when response_content_type is set to "MUTABLE_RESOURCE".
         */
        conversionCustomVariable?: Schema$GoogleAdsSearchads360V23Resources__ConversionCustomVariable;
        /**
         * Returned for successful operations.
         */
        resourceName?: string | null;
    }
    /**
     * Request message for ConversionCustomVariableService.MutateConversionCustomVariables.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__MutateConversionCustomVariablesRequest {
        /**
         * Required. The list of operations to perform on individual conversion custom variables.
         */
        operations?: Schema$GoogleAdsSearchads360V23Services__ConversionCustomVariableOperation[];
        /**
         * If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false.
         */
        partialFailure?: boolean | null;
        /**
         * The response content type setting. Determines whether the mutable resource or just the resource name should be returned post mutation.
         */
        responseContentType?: string | null;
        /**
         * If true, the request is validated but not executed. Only errors are returned, not results.
         */
        validateOnly?: boolean | null;
    }
    /**
     * Response message for ConversionCustomVariableService.MutateConversionCustomVariables.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__MutateConversionCustomVariablesResponse {
        /**
         * Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error.
         */
        partialFailureError?: Schema$GoogleRpc__Status;
        /**
         * All results for the mutate.
         */
        results?: Schema$GoogleAdsSearchads360V23Services__MutateConversionCustomVariableResult[];
    }
    /**
     * The result for the conversion goal campaign config mutate.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__MutateConversionGoalCampaignConfigResult {
        /**
         * The mutated ConversionGoalCampaignConfig with only mutable fields after mutate. The field will only be returned when response_content_type is set to "MUTABLE_RESOURCE".
         */
        conversionGoalCampaignConfig?: Schema$GoogleAdsSearchads360V23Resources__ConversionGoalCampaignConfig;
        /**
         * Returned for successful operations.
         */
        resourceName?: string | null;
    }
    /**
     * Request message for ConversionGoalCampaignConfigService.MutateConversionGoalCampaignConfigs.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__MutateConversionGoalCampaignConfigsRequest {
        /**
         * Required. The list of operations to perform on individual conversion goal campaign config.
         */
        operations?: Schema$GoogleAdsSearchads360V23Services__ConversionGoalCampaignConfigOperation[];
        /**
         * The response content type setting. Determines whether the mutable resource or just the resource name should be returned post mutation.
         */
        responseContentType?: string | null;
        /**
         * If true, the request is validated but not executed. Only errors are returned, not results.
         */
        validateOnly?: boolean | null;
    }
    /**
     * Response message for a conversion goal campaign config mutate.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__MutateConversionGoalCampaignConfigsResponse {
        /**
         * All results for the mutate.
         */
        results?: Schema$GoogleAdsSearchads360V23Services__MutateConversionGoalCampaignConfigResult[];
    }
    /**
     * The result for the conversion value rule mutate.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__MutateConversionValueRuleResult {
        /**
         * The mutated conversion value rule with only mutable fields after mutate. The field will only be returned when response_content_type is set to "MUTABLE_RESOURCE".
         */
        conversionValueRule?: Schema$GoogleAdsSearchads360V23Resources__ConversionValueRule;
        /**
         * Returned for successful operations.
         */
        resourceName?: string | null;
    }
    /**
     * The result for the conversion value rule set mutate.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__MutateConversionValueRuleSetResult {
        /**
         * The mutated conversion value rule set with only mutable fields after mutate. The field will only be returned when response_content_type is set to "MUTABLE_RESOURCE".
         */
        conversionValueRuleSet?: Schema$GoogleAdsSearchads360V23Resources__ConversionValueRuleSet;
        /**
         * Returned for successful operations.
         */
        resourceName?: string | null;
    }
    /**
     * Request message for ConversionValueRuleSetService.MutateConversionValueRuleSets.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__MutateConversionValueRuleSetsRequest {
        /**
         * Required. The list of operations to perform on individual conversion value rule sets.
         */
        operations?: Schema$GoogleAdsSearchads360V23Services__ConversionValueRuleSetOperation[];
        /**
         * If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false.
         */
        partialFailure?: boolean | null;
        /**
         * The response content type setting. Determines whether the mutable resource or just the resource name should be returned post mutation.
         */
        responseContentType?: string | null;
        /**
         * If true, the request is validated but not executed. Only errors are returned, not results.
         */
        validateOnly?: boolean | null;
    }
    /**
     * Response message for ConversionValueRuleSetService.MutateConversionValueRuleSets.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__MutateConversionValueRuleSetsResponse {
        /**
         * Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error.
         */
        partialFailureError?: Schema$GoogleRpc__Status;
        /**
         * All results for the mutate.
         */
        results?: Schema$GoogleAdsSearchads360V23Services__MutateConversionValueRuleSetResult[];
    }
    /**
     * Request message for ConversionValueRuleService.MutateConversionValueRules.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__MutateConversionValueRulesRequest {
        /**
         * Required. The list of operations to perform on individual conversion value rules.
         */
        operations?: Schema$GoogleAdsSearchads360V23Services__ConversionValueRuleOperation[];
        /**
         * If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false.
         */
        partialFailure?: boolean | null;
        /**
         * The response content type setting. Determines whether the mutable resource or just the resource name should be returned post mutation.
         */
        responseContentType?: string | null;
        /**
         * If true, the request is validated but not executed. Only errors are returned, not results.
         */
        validateOnly?: boolean | null;
    }
    /**
     * Response message for ConversionValueRuleService.MutateConversionValueRules.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__MutateConversionValueRulesResponse {
        /**
         * Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error.
         */
        partialFailureError?: Schema$GoogleRpc__Status;
        /**
         * All results for the mutate.
         */
        results?: Schema$GoogleAdsSearchads360V23Services__MutateConversionValueRuleResult[];
    }
    /**
     * The result for the custom audience mutate.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__MutateCustomAudienceResult {
        /**
         * Returned for successful operations.
         */
        resourceName?: string | null;
    }
    /**
     * Request message for CustomAudienceService.MutateCustomAudiences.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__MutateCustomAudiencesRequest {
        /**
         * Required. The list of operations to perform on individual custom audiences.
         */
        operations?: Schema$GoogleAdsSearchads360V23Services__CustomAudienceOperation[];
        /**
         * If true, the request is validated but not executed. Only errors are returned, not results.
         */
        validateOnly?: boolean | null;
    }
    /**
     * Response message for custom audience mutate.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__MutateCustomAudiencesResponse {
        /**
         * All results for the mutate.
         */
        results?: Schema$GoogleAdsSearchads360V23Services__MutateCustomAudienceResult[];
    }
    /**
     * The result for the custom conversion goal mutate.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__MutateCustomConversionGoalResult {
        /**
         * The mutated CustomConversionGoal with only mutable fields after mutate. The field will only be returned when response_content_type is set to "MUTABLE_RESOURCE".
         */
        customConversionGoal?: Schema$GoogleAdsSearchads360V23Resources__CustomConversionGoal;
        /**
         * Returned for successful operations.
         */
        resourceName?: string | null;
    }
    /**
     * Request message for CustomConversionGoalService.MutateCustomConversionGoals.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__MutateCustomConversionGoalsRequest {
        /**
         * Required. The list of operations to perform on individual custom conversion goal.
         */
        operations?: Schema$GoogleAdsSearchads360V23Services__CustomConversionGoalOperation[];
        /**
         * The response content type setting. Determines whether the mutable resource or just the resource name should be returned post mutation.
         */
        responseContentType?: string | null;
        /**
         * If true, the request is validated but not executed. Only errors are returned, not results.
         */
        validateOnly?: boolean | null;
    }
    /**
     * Response message for a custom conversion goal mutate.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__MutateCustomConversionGoalsResponse {
        /**
         * All results for the mutate.
         */
        results?: Schema$GoogleAdsSearchads360V23Services__MutateCustomConversionGoalResult[];
    }
    /**
     * The result for the customer asset mutate.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__MutateCustomerAssetResult {
        /**
         * The mutated customer asset with only mutable fields after mutate. The field will only be returned when response_content_type is set to "MUTABLE_RESOURCE".
         */
        customerAsset?: Schema$GoogleAdsSearchads360V23Resources__CustomerAsset;
        /**
         * Returned for successful operations.
         */
        resourceName?: string | null;
    }
    /**
     * The result for the customer asset set mutate.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__MutateCustomerAssetSetResult {
        /**
         * The mutated customer asset set with only mutable fields after mutate. The field will only be returned when response_content_type is set to "MUTABLE_RESOURCE".
         */
        customerAssetSet?: Schema$GoogleAdsSearchads360V23Resources__CustomerAssetSet;
        /**
         * Returned for successful operations.
         */
        resourceName?: string | null;
    }
    /**
     * Request message for CustomerAssetSetService.MutateCustomerAssetSets.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__MutateCustomerAssetSetsRequest {
        /**
         * Required. The list of operations to perform on individual customer asset sets.
         */
        operations?: Schema$GoogleAdsSearchads360V23Services__CustomerAssetSetOperation[];
        /**
         * If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false.
         */
        partialFailure?: boolean | null;
        /**
         * The response content type setting. Determines whether the mutable resource or just the resource name should be returned post mutation.
         */
        responseContentType?: string | null;
        /**
         * If true, the request is validated but not executed. Only errors are returned, not results.
         */
        validateOnly?: boolean | null;
    }
    /**
     * Response message for a customer asset set mutate.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__MutateCustomerAssetSetsResponse {
        /**
         * Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (e.g. auth errors), we return an RPC level error.
         */
        partialFailureError?: Schema$GoogleRpc__Status;
        /**
         * All results for the mutate.
         */
        results?: Schema$GoogleAdsSearchads360V23Services__MutateCustomerAssetSetResult[];
    }
    /**
     * Request message for CustomerAssetService.MutateCustomerAssets.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__MutateCustomerAssetsRequest {
        /**
         * Required. The list of operations to perform on individual customer assets.
         */
        operations?: Schema$GoogleAdsSearchads360V23Services__CustomerAssetOperation[];
        /**
         * If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false.
         */
        partialFailure?: boolean | null;
        /**
         * The response content type setting. Determines whether the mutable resource or just the resource name should be returned post mutation.
         */
        responseContentType?: string | null;
        /**
         * If true, the request is validated but not executed. Only errors are returned, not results.
         */
        validateOnly?: boolean | null;
    }
    /**
     * Response message for a customer asset mutate.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__MutateCustomerAssetsResponse {
        /**
         * Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error.
         */
        partialFailureError?: Schema$GoogleRpc__Status;
        /**
         * All results for the mutate.
         */
        results?: Schema$GoogleAdsSearchads360V23Services__MutateCustomerAssetResult[];
    }
    /**
     * Request message for CustomerClientLinkService.MutateCustomerClientLink.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__MutateCustomerClientLinkRequest {
        /**
         * Required. The operation to perform on the individual CustomerClientLink.
         */
        operation?: Schema$GoogleAdsSearchads360V23Services__CustomerClientLinkOperation;
        /**
         * If true, the request is validated but not executed. Only errors are returned, not results.
         */
        validateOnly?: boolean | null;
    }
    /**
     * Response message for a CustomerClientLink mutate.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__MutateCustomerClientLinkResponse {
        /**
         * A result that identifies the resource affected by the mutate request.
         */
        result?: Schema$GoogleAdsSearchads360V23Services__MutateCustomerClientLinkResult;
    }
    /**
     * The result for a single customer client link mutate.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__MutateCustomerClientLinkResult {
        /**
         * Returned for successful operations.
         */
        resourceName?: string | null;
    }
    /**
     * The result for the customer conversion goal mutate.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__MutateCustomerConversionGoalResult {
        /**
         * Returned for successful operations.
         */
        resourceName?: string | null;
    }
    /**
     * Request message for CustomerConversionGoalService.MutateCustomerConversionGoals.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__MutateCustomerConversionGoalsRequest {
        /**
         * Required. The list of operations to perform on individual customer conversion goal.
         */
        operations?: Schema$GoogleAdsSearchads360V23Services__CustomerConversionGoalOperation[];
        /**
         * If true, the request is validated but not executed. Only errors are returned, not results.
         */
        validateOnly?: boolean | null;
    }
    /**
     * Response message for a customer conversion goal mutate.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__MutateCustomerConversionGoalsResponse {
        /**
         * All results for the mutate.
         */
        results?: Schema$GoogleAdsSearchads360V23Services__MutateCustomerConversionGoalResult[];
    }
    /**
     * The result for the customizer attribute mutate.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__MutateCustomerCustomizerResult {
        /**
         * The mutated CustomerCustomizer with only mutable fields after mutate. The field will only be returned when response_content_type is set to "MUTABLE_RESOURCE".
         */
        customerCustomizer?: Schema$GoogleAdsSearchads360V23Resources__CustomerCustomizer;
        /**
         * Returned for successful operations.
         */
        resourceName?: string | null;
    }
    /**
     * Request message for CustomerCustomizerService.MutateCustomerCustomizers.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__MutateCustomerCustomizersRequest {
        /**
         * Required. The list of operations to perform on individual customer customizers.
         */
        operations?: Schema$GoogleAdsSearchads360V23Services__CustomerCustomizerOperation[];
        /**
         * If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false.
         */
        partialFailure?: boolean | null;
        /**
         * The response content type setting. Determines whether the mutable resource or just the resource name should be returned post mutation.
         */
        responseContentType?: string | null;
        /**
         * If true, the request is validated but not executed. Only errors are returned, not results.
         */
        validateOnly?: boolean | null;
    }
    /**
     * Response message for a customizer attribute mutate.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__MutateCustomerCustomizersResponse {
        /**
         * Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error.
         */
        partialFailureError?: Schema$GoogleRpc__Status;
        /**
         * All results for the mutate.
         */
        results?: Schema$GoogleAdsSearchads360V23Services__MutateCustomerCustomizerResult[];
    }
    /**
     * The result for a customer label mutate.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__MutateCustomerLabelResult {
        /**
         * Returned for successful operations.
         */
        resourceName?: string | null;
    }
    /**
     * Request message for CustomerLabelService.MutateCustomerLabels. A single `MutateCustomerLabelsRequest` can only modify labels for the single customer account specified in the request. To apply a label to multiple different accounts, separate `MutateCustomerLabelsRequest` calls must be made.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__MutateCustomerLabelsRequest {
        /**
         * Required. The list of operations to perform on customer-label relationships.
         */
        operations?: Schema$GoogleAdsSearchads360V23Services__CustomerLabelOperation[];
        /**
         * If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false.
         */
        partialFailure?: boolean | null;
        /**
         * If true, the request is validated but not executed. Only errors are returned, not results.
         */
        validateOnly?: boolean | null;
    }
    /**
     * Response message for a customer labels mutate.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__MutateCustomerLabelsResponse {
        /**
         * Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error.
         */
        partialFailureError?: Schema$GoogleRpc__Status;
        /**
         * All results for the mutate.
         */
        results?: Schema$GoogleAdsSearchads360V23Services__MutateCustomerLabelResult[];
    }
    /**
     * Request message for CustomerManagerLinkService.MutateCustomerManagerLink.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__MutateCustomerManagerLinkRequest {
        /**
         * Required. The list of operations to perform on individual customer manager links.
         */
        operations?: Schema$GoogleAdsSearchads360V23Services__CustomerManagerLinkOperation[];
        /**
         * If true, the request is validated but not executed. Only errors are returned, not results.
         */
        validateOnly?: boolean | null;
    }
    /**
     * Response message for a CustomerManagerLink mutate.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__MutateCustomerManagerLinkResponse {
        /**
         * A result that identifies the resource affected by the mutate request.
         */
        results?: Schema$GoogleAdsSearchads360V23Services__MutateCustomerManagerLinkResult[];
    }
    /**
     * The result for the customer manager link mutate.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__MutateCustomerManagerLinkResult {
        /**
         * Returned for successful operations.
         */
        resourceName?: string | null;
    }
    /**
     * Request message for CustomerNegativeCriterionService.MutateCustomerNegativeCriteria.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__MutateCustomerNegativeCriteriaRequest {
        /**
         * Required. The list of operations to perform on individual criteria.
         */
        operations?: Schema$GoogleAdsSearchads360V23Services__CustomerNegativeCriterionOperation[];
        /**
         * If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false.
         */
        partialFailure?: boolean | null;
        /**
         * The response content type setting. Determines whether the mutable resource or just the resource name should be returned post mutation.
         */
        responseContentType?: string | null;
        /**
         * If true, the request is validated but not executed. Only errors are returned, not results.
         */
        validateOnly?: boolean | null;
    }
    /**
     * Response message for customer negative criterion mutate.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__MutateCustomerNegativeCriteriaResponse {
        /**
         * Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error.
         */
        partialFailureError?: Schema$GoogleRpc__Status;
        /**
         * All results for the mutate.
         */
        results?: Schema$GoogleAdsSearchads360V23Services__MutateCustomerNegativeCriteriaResult[];
    }
    /**
     * The result for the criterion mutate.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__MutateCustomerNegativeCriteriaResult {
        /**
         * The mutated criterion with only mutable fields after mutate. The field will only be returned when response_content_type is set to "MUTABLE_RESOURCE".
         */
        customerNegativeCriterion?: Schema$GoogleAdsSearchads360V23Resources__CustomerNegativeCriterion;
        /**
         * Returned for successful operations.
         */
        resourceName?: string | null;
    }
    /**
     * Request message for CustomerService.MutateCustomer.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__MutateCustomerRequest {
        /**
         * Required. The operation to perform on the customer
         */
        operation?: Schema$GoogleAdsSearchads360V23Services__CustomerOperation;
        /**
         * The response content type setting. Determines whether the mutable resource or just the resource name should be returned post mutation.
         */
        responseContentType?: string | null;
        /**
         * If true, the request is validated but not executed. Only errors are returned, not results.
         */
        validateOnly?: boolean | null;
    }
    /**
     * Response message for customer mutate.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__MutateCustomerResponse {
        /**
         * Result for the mutate.
         */
        result?: Schema$GoogleAdsSearchads360V23Services__MutateCustomerResult;
    }
    /**
     * The result for the customer mutate.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__MutateCustomerResult {
        /**
         * The mutated customer with only mutable fields after mutate. The fields will only be returned when response_content_type is set to "MUTABLE_RESOURCE".
         */
        customer?: Schema$GoogleAdsSearchads360V23Resources__Customer;
        /**
         * Returned for successful operations.
         */
        resourceName?: string | null;
    }
    /**
     * Request message for CustomerSkAdNetworkConversionValueSchemaService.MutateCustomerSkAdNetworkConversionValueSchema.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__MutateCustomerSkAdNetworkConversionValueSchemaRequest {
        /**
         * Optional. If true, enables returning warnings. Warnings return error messages and error codes without blocking the execution of the mutate operation.
         */
        enableWarnings?: boolean | null;
        /**
         * The operation to perform.
         */
        operation?: Schema$GoogleAdsSearchads360V23Services__CustomerSkAdNetworkConversionValueSchemaOperation;
        /**
         * If true, the request is validated but not executed. Only errors are returned, not results.
         */
        validateOnly?: boolean | null;
    }
    /**
     * Response message for MutateCustomerSkAdNetworkConversionValueSchema.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__MutateCustomerSkAdNetworkConversionValueSchemaResponse {
        /**
         * All results for the mutate.
         */
        result?: Schema$GoogleAdsSearchads360V23Services__MutateCustomerSkAdNetworkConversionValueSchemaResult;
        /**
         * Non blocking errors that provides schema validation failure details. Returned only when enable_warnings = true.
         */
        warning?: Schema$GoogleRpc__Status;
    }
    /**
     * The result for the CustomerSkAdNetworkConversionValueSchema mutate.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__MutateCustomerSkAdNetworkConversionValueSchemaResult {
        /**
         * App ID of the SkanConversionValue modified.
         */
        appId?: string | null;
        /**
         * Resource name of the customer that was modified.
         */
        resourceName?: string | null;
    }
    /**
     * Request message for CustomerUserAccessInvitationService.MutateCustomerUserAccessInvitation
     */
    export interface Schema$GoogleAdsSearchads360V23Services__MutateCustomerUserAccessInvitationRequest {
        /**
         * Required. The operation to perform on the access invitation
         */
        operation?: Schema$GoogleAdsSearchads360V23Services__CustomerUserAccessInvitationOperation;
    }
    /**
     * Response message for access invitation mutate.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__MutateCustomerUserAccessInvitationResponse {
        /**
         * Result for the mutate.
         */
        result?: Schema$GoogleAdsSearchads360V23Services__MutateCustomerUserAccessInvitationResult;
    }
    /**
     * The result for the access invitation mutate.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__MutateCustomerUserAccessInvitationResult {
        /**
         * Returned for successful operations.
         */
        resourceName?: string | null;
    }
    /**
     * Mutate Request for CustomerUserAccessService.MutateCustomerUserAccess.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__MutateCustomerUserAccessRequest {
        /**
         * Required. The operation to perform on the customer
         */
        operation?: Schema$GoogleAdsSearchads360V23Services__CustomerUserAccessOperation;
    }
    /**
     * Response message for customer user access mutate.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__MutateCustomerUserAccessResponse {
        /**
         * Result for the mutate.
         */
        result?: Schema$GoogleAdsSearchads360V23Services__MutateCustomerUserAccessResult;
    }
    /**
     * The result for the customer user access mutate.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__MutateCustomerUserAccessResult {
        /**
         * Returned for successful operations.
         */
        resourceName?: string | null;
    }
    /**
     * The result for the custom interest mutate.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__MutateCustomInterestResult {
        /**
         * Returned for successful operations.
         */
        resourceName?: string | null;
    }
    /**
     * Request message for CustomInterestService.MutateCustomInterests.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__MutateCustomInterestsRequest {
        /**
         * Required. The list of operations to perform on individual custom interests.
         */
        operations?: Schema$GoogleAdsSearchads360V23Services__CustomInterestOperation[];
        /**
         * If true, the request is validated but not executed. Only errors are returned, not results.
         */
        validateOnly?: boolean | null;
    }
    /**
     * Response message for custom interest mutate.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__MutateCustomInterestsResponse {
        /**
         * All results for the mutate.
         */
        results?: Schema$GoogleAdsSearchads360V23Services__MutateCustomInterestResult[];
    }
    /**
     * The result for the customizer attribute mutate.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__MutateCustomizerAttributeResult {
        /**
         * The mutated CustomizerAttribute with only mutable fields after mutate. The field will only be returned when response_content_type is set to "MUTABLE_RESOURCE".
         */
        customizerAttribute?: Schema$GoogleAdsSearchads360V23Resources__CustomizerAttribute;
        /**
         * Returned for successful operations.
         */
        resourceName?: string | null;
    }
    /**
     * Request message for CustomizerAttributeService.MutateCustomizerAttributes.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__MutateCustomizerAttributesRequest {
        /**
         * Required. The list of operations to perform on individual customizer attributes.
         */
        operations?: Schema$GoogleAdsSearchads360V23Services__CustomizerAttributeOperation[];
        /**
         * If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false.
         */
        partialFailure?: boolean | null;
        /**
         * The response content type setting. Determines whether the mutable resource or just the resource name should be returned post mutation.
         */
        responseContentType?: string | null;
        /**
         * If true, the request is validated but not executed. Only errors are returned, not results.
         */
        validateOnly?: boolean | null;
    }
    /**
     * Response message for a customizer attribute mutate.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__MutateCustomizerAttributesResponse {
        /**
         * Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error.
         */
        partialFailureError?: Schema$GoogleRpc__Status;
        /**
         * All results for the mutate.
         */
        results?: Schema$GoogleAdsSearchads360V23Services__MutateCustomizerAttributeResult[];
    }
    /**
     * The result for the experiment arm mutate.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__MutateExperimentArmResult {
        /**
         * The mutated experiment arm with only mutable fields after mutate. The field will only be returned when response_content_type is set to "MUTABLE_RESOURCE".
         */
        experimentArm?: Schema$GoogleAdsSearchads360V23Resources__ExperimentArm;
        /**
         * Returned for successful operations.
         */
        resourceName?: string | null;
    }
    /**
     * Request message for ExperimentArmService.MutateExperimentArms.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__MutateExperimentArmsRequest {
        /**
         * Required. The list of operations to perform on individual experiment arm.
         */
        operations?: Schema$GoogleAdsSearchads360V23Services__ExperimentArmOperation[];
        /**
         * If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false.
         */
        partialFailure?: boolean | null;
        /**
         * The response content type setting. Determines whether the mutable resource or just the resource name should be returned post mutation.
         */
        responseContentType?: string | null;
        /**
         * If true, the request is validated but not executed. Only errors are returned, not results.
         */
        validateOnly?: boolean | null;
    }
    /**
     * Response message for experiment arm mutate.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__MutateExperimentArmsResponse {
        /**
         * Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error.
         */
        partialFailureError?: Schema$GoogleRpc__Status;
        /**
         * All results for the mutate.
         */
        results?: Schema$GoogleAdsSearchads360V23Services__MutateExperimentArmResult[];
    }
    /**
     * The result for the campaign experiment mutate.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__MutateExperimentResult {
        /**
         * Returned for successful operations.
         */
        resourceName?: string | null;
    }
    /**
     * Request message for ExperimentService.MutateExperiments.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__MutateExperimentsRequest {
        /**
         * Required. The list of operations to perform on individual experiments.
         */
        operations?: Schema$GoogleAdsSearchads360V23Services__ExperimentOperation[];
        /**
         * If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false.
         */
        partialFailure?: boolean | null;
        /**
         * If true, the request is validated but not executed. Only errors are returned, not results.
         */
        validateOnly?: boolean | null;
    }
    /**
     * Response message for experiment mutate.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__MutateExperimentsResponse {
        /**
         * Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error.
         */
        partialFailureError?: Schema$GoogleRpc__Status;
        /**
         * All results for the mutate.
         */
        results?: Schema$GoogleAdsSearchads360V23Services__MutateExperimentResult[];
    }
    /**
     * The result for the goal mutate.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__MutateGoalResult {
        /**
         * Returned for successful operations.
         */
        resourceName?: string | null;
    }
    /**
     * Request message for GoalService.MutateGoals.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__MutateGoalsRequest {
        /**
         * Required. The list of operations to perform on the goals.
         */
        operations?: Schema$GoogleAdsSearchads360V23Services__GoalOperation[];
        /**
         * Optional. If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false.
         */
        partialFailure?: boolean | null;
        /**
         * Optional. If true, the request is validated but not executed. Only errors are returned, not results.
         */
        validateOnly?: boolean | null;
    }
    /**
     * Response message for a goal mutate.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__MutateGoalsResponse {
        /**
         * Errors that pertain to operation failures in the partial failure mode.
         */
        partialFailureError?: Schema$GoogleRpc__Status;
        /**
         * All results for the mutate.
         */
        results?: Schema$GoogleAdsSearchads360V23Services__MutateGoalResult[];
    }
    /**
     * The result for the Keyword Plan ad group keyword mutate.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__MutateKeywordPlanAdGroupKeywordResult {
        /**
         * Returned for successful operations.
         */
        resourceName?: string | null;
    }
    /**
     * Request message for KeywordPlanAdGroupKeywordService.MutateKeywordPlanAdGroupKeywords.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__MutateKeywordPlanAdGroupKeywordsRequest {
        /**
         * Required. The list of operations to perform on individual Keyword Plan ad group keywords.
         */
        operations?: Schema$GoogleAdsSearchads360V23Services__KeywordPlanAdGroupKeywordOperation[];
        /**
         * If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false.
         */
        partialFailure?: boolean | null;
        /**
         * If true, the request is validated but not executed. Only errors are returned, not results.
         */
        validateOnly?: boolean | null;
    }
    /**
     * Response message for a Keyword Plan ad group keyword mutate.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__MutateKeywordPlanAdGroupKeywordsResponse {
        /**
         * Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error.
         */
        partialFailureError?: Schema$GoogleRpc__Status;
        /**
         * All results for the mutate.
         */
        results?: Schema$GoogleAdsSearchads360V23Services__MutateKeywordPlanAdGroupKeywordResult[];
    }
    /**
     * The result for the Keyword Plan ad group mutate.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__MutateKeywordPlanAdGroupResult {
        /**
         * Returned for successful operations.
         */
        resourceName?: string | null;
    }
    /**
     * Request message for KeywordPlanAdGroupService.MutateKeywordPlanAdGroups.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__MutateKeywordPlanAdGroupsRequest {
        /**
         * Required. The list of operations to perform on individual Keyword Plan ad groups.
         */
        operations?: Schema$GoogleAdsSearchads360V23Services__KeywordPlanAdGroupOperation[];
        /**
         * If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false.
         */
        partialFailure?: boolean | null;
        /**
         * If true, the request is validated but not executed. Only errors are returned, not results.
         */
        validateOnly?: boolean | null;
    }
    /**
     * Response message for a Keyword Plan ad group mutate.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__MutateKeywordPlanAdGroupsResponse {
        /**
         * Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error.
         */
        partialFailureError?: Schema$GoogleRpc__Status;
        /**
         * All results for the mutate. The order of the results is determined by the order of the keywords in the original request.
         */
        results?: Schema$GoogleAdsSearchads360V23Services__MutateKeywordPlanAdGroupResult[];
    }
    /**
     * The result for the Keyword Plan campaign keyword mutate.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__MutateKeywordPlanCampaignKeywordResult {
        /**
         * Returned for successful operations.
         */
        resourceName?: string | null;
    }
    /**
     * Request message for KeywordPlanCampaignKeywordService.MutateKeywordPlanCampaignKeywords.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__MutateKeywordPlanCampaignKeywordsRequest {
        /**
         * Required. The list of operations to perform on individual Keyword Plan campaign keywords.
         */
        operations?: Schema$GoogleAdsSearchads360V23Services__KeywordPlanCampaignKeywordOperation[];
        /**
         * If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false.
         */
        partialFailure?: boolean | null;
        /**
         * If true, the request is validated but not executed. Only errors are returned, not results.
         */
        validateOnly?: boolean | null;
    }
    /**
     * Response message for a Keyword Plan campaign keyword mutate.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__MutateKeywordPlanCampaignKeywordsResponse {
        /**
         * Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error.
         */
        partialFailureError?: Schema$GoogleRpc__Status;
        /**
         * All results for the mutate.
         */
        results?: Schema$GoogleAdsSearchads360V23Services__MutateKeywordPlanCampaignKeywordResult[];
    }
    /**
     * The result for the Keyword Plan campaign mutate.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__MutateKeywordPlanCampaignResult {
        /**
         * Returned for successful operations.
         */
        resourceName?: string | null;
    }
    /**
     * Request message for KeywordPlanCampaignService.MutateKeywordPlanCampaigns.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__MutateKeywordPlanCampaignsRequest {
        /**
         * Required. The list of operations to perform on individual Keyword Plan campaigns.
         */
        operations?: Schema$GoogleAdsSearchads360V23Services__KeywordPlanCampaignOperation[];
        /**
         * If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false.
         */
        partialFailure?: boolean | null;
        /**
         * If true, the request is validated but not executed. Only errors are returned, not results.
         */
        validateOnly?: boolean | null;
    }
    /**
     * Response message for a Keyword Plan campaign mutate.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__MutateKeywordPlanCampaignsResponse {
        /**
         * Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error.
         */
        partialFailureError?: Schema$GoogleRpc__Status;
        /**
         * All results for the mutate.
         */
        results?: Schema$GoogleAdsSearchads360V23Services__MutateKeywordPlanCampaignResult[];
    }
    /**
     * Request message for KeywordPlanService.MutateKeywordPlans.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__MutateKeywordPlansRequest {
        /**
         * Required. The list of operations to perform on individual keyword plans.
         */
        operations?: Schema$GoogleAdsSearchads360V23Services__KeywordPlanOperation[];
        /**
         * If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false.
         */
        partialFailure?: boolean | null;
        /**
         * If true, the request is validated but not executed. Only errors are returned, not results.
         */
        validateOnly?: boolean | null;
    }
    /**
     * Response message for a keyword plan mutate.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__MutateKeywordPlansResponse {
        /**
         * Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error.
         */
        partialFailureError?: Schema$GoogleRpc__Status;
        /**
         * All results for the mutate.
         */
        results?: Schema$GoogleAdsSearchads360V23Services__MutateKeywordPlansResult[];
    }
    /**
     * The result for the keyword plan mutate.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__MutateKeywordPlansResult {
        /**
         * Returned for successful operations.
         */
        resourceName?: string | null;
    }
    /**
     * The result for a label mutate.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__MutateLabelResult {
        /**
         * The mutated label with only mutable fields after mutate. The field will only be returned when response_content_type is set to "MUTABLE_RESOURCE".
         */
        label?: Schema$GoogleAdsSearchads360V23Resources__Label;
        /**
         * Returned for successful operations.
         */
        resourceName?: string | null;
    }
    /**
     * Request message for LabelService.MutateLabels.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__MutateLabelsRequest {
        /**
         * Required. The list of operations to perform on labels.
         */
        operations?: Schema$GoogleAdsSearchads360V23Services__LabelOperation[];
        /**
         * If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false.
         */
        partialFailure?: boolean | null;
        /**
         * The response content type setting. Determines whether the mutable resource or just the resource name should be returned post mutation.
         */
        responseContentType?: string | null;
        /**
         * If true, the request is validated but not executed. Only errors are returned, not results.
         */
        validateOnly?: boolean | null;
    }
    /**
     * Response message for a labels mutate.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__MutateLabelsResponse {
        /**
         * Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error.
         */
        partialFailureError?: Schema$GoogleRpc__Status;
        /**
         * All results for the mutate.
         */
        results?: Schema$GoogleAdsSearchads360V23Services__MutateLabelResult[];
    }
    /**
     * A single operation (create, update, remove) on a resource.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__MutateOperation {
        /**
         * An ad group ad label mutate operation.
         */
        adGroupAdLabelOperation?: Schema$GoogleAdsSearchads360V23Services__AdGroupAdLabelOperation;
        /**
         * An ad group ad mutate operation.
         */
        adGroupAdOperation?: Schema$GoogleAdsSearchads360V23Services__AdGroupAdOperation;
        /**
         * An ad group asset mutate operation.
         */
        adGroupAssetOperation?: Schema$GoogleAdsSearchads360V23Services__AdGroupAssetOperation;
        /**
         * An ad group bid modifier mutate operation.
         */
        adGroupBidModifierOperation?: Schema$GoogleAdsSearchads360V23Services__AdGroupBidModifierOperation;
        /**
         * An ad group criterion customizer mutate operation.
         */
        adGroupCriterionCustomizerOperation?: Schema$GoogleAdsSearchads360V23Services__AdGroupCriterionCustomizerOperation;
        /**
         * An ad group criterion label mutate operation.
         */
        adGroupCriterionLabelOperation?: Schema$GoogleAdsSearchads360V23Services__AdGroupCriterionLabelOperation;
        /**
         * An ad group criterion mutate operation.
         */
        adGroupCriterionOperation?: Schema$GoogleAdsSearchads360V23Services__AdGroupCriterionOperation;
        /**
         * An ad group customizer mutate operation.
         */
        adGroupCustomizerOperation?: Schema$GoogleAdsSearchads360V23Services__AdGroupCustomizerOperation;
        /**
         * An ad group label mutate operation.
         */
        adGroupLabelOperation?: Schema$GoogleAdsSearchads360V23Services__AdGroupLabelOperation;
        /**
         * An ad group mutate operation.
         */
        adGroupOperation?: Schema$GoogleAdsSearchads360V23Services__AdGroupOperation;
        /**
         * An ad mutate operation.
         */
        adOperation?: Schema$GoogleAdsSearchads360V23Services__AdOperation;
        /**
         * An ad parameter mutate operation.
         */
        adParameterOperation?: Schema$GoogleAdsSearchads360V23Services__AdParameterOperation;
        /**
         * An asset group asset mutate operation.
         */
        assetGroupAssetOperation?: Schema$GoogleAdsSearchads360V23Services__AssetGroupAssetOperation;
        /**
         * An asset group listing group filter mutate operation.
         */
        assetGroupListingGroupFilterOperation?: Schema$GoogleAdsSearchads360V23Services__AssetGroupListingGroupFilterOperation;
        /**
         * An asset group mutate operation.
         */
        assetGroupOperation?: Schema$GoogleAdsSearchads360V23Services__AssetGroupOperation;
        /**
         * An asset group signal mutate operation.
         */
        assetGroupSignalOperation?: Schema$GoogleAdsSearchads360V23Services__AssetGroupSignalOperation;
        /**
         * An asset mutate operation.
         */
        assetOperation?: Schema$GoogleAdsSearchads360V23Services__AssetOperation;
        /**
         * An asset set asset mutate operation.
         */
        assetSetAssetOperation?: Schema$GoogleAdsSearchads360V23Services__AssetSetAssetOperation;
        /**
         * An asset set mutate operation.
         */
        assetSetOperation?: Schema$GoogleAdsSearchads360V23Services__AssetSetOperation;
        /**
         * An audience mutate operation.
         */
        audienceOperation?: Schema$GoogleAdsSearchads360V23Services__AudienceOperation;
        /**
         * A bidding data exclusion mutate operation.
         */
        biddingDataExclusionOperation?: Schema$GoogleAdsSearchads360V23Services__BiddingDataExclusionOperation;
        /**
         * A bidding seasonality adjustment mutate operation.
         */
        biddingSeasonalityAdjustmentOperation?: Schema$GoogleAdsSearchads360V23Services__BiddingSeasonalityAdjustmentOperation;
        /**
         * A bidding strategy mutate operation.
         */
        biddingStrategyOperation?: Schema$GoogleAdsSearchads360V23Services__BiddingStrategyOperation;
        /**
         * A campaign asset mutate operation.
         */
        campaignAssetOperation?: Schema$GoogleAdsSearchads360V23Services__CampaignAssetOperation;
        /**
         * A campaign asset mutate operation.
         */
        campaignAssetSetOperation?: Schema$GoogleAdsSearchads360V23Services__CampaignAssetSetOperation;
        /**
         * A campaign bid modifier mutate operation.
         */
        campaignBidModifierOperation?: Schema$GoogleAdsSearchads360V23Services__CampaignBidModifierOperation;
        /**
         * A campaign budget mutate operation.
         */
        campaignBudgetOperation?: Schema$GoogleAdsSearchads360V23Services__CampaignBudgetOperation;
        /**
         * A campaign conversion goal mutate operation.
         */
        campaignConversionGoalOperation?: Schema$GoogleAdsSearchads360V23Services__CampaignConversionGoalOperation;
        /**
         * A campaign criterion mutate operation.
         */
        campaignCriterionOperation?: Schema$GoogleAdsSearchads360V23Services__CampaignCriterionOperation;
        /**
         * A campaign customizer mutate operation.
         */
        campaignCustomizerOperation?: Schema$GoogleAdsSearchads360V23Services__CampaignCustomizerOperation;
        /**
         * A campaign draft mutate operation.
         */
        campaignDraftOperation?: Schema$GoogleAdsSearchads360V23Services__CampaignDraftOperation;
        /**
         * A campaign group mutate operation.
         */
        campaignGroupOperation?: Schema$GoogleAdsSearchads360V23Services__CampaignGroupOperation;
        /**
         * A campaign label mutate operation.
         */
        campaignLabelOperation?: Schema$GoogleAdsSearchads360V23Services__CampaignLabelOperation;
        /**
         * A campaign mutate operation.
         */
        campaignOperation?: Schema$GoogleAdsSearchads360V23Services__CampaignOperation;
        /**
         * A campaign shared set mutate operation.
         */
        campaignSharedSetOperation?: Schema$GoogleAdsSearchads360V23Services__CampaignSharedSetOperation;
        /**
         * A conversion action mutate operation.
         */
        conversionActionOperation?: Schema$GoogleAdsSearchads360V23Services__ConversionActionOperation;
        /**
         * A conversion custom variable mutate operation.
         */
        conversionCustomVariableOperation?: Schema$GoogleAdsSearchads360V23Services__ConversionCustomVariableOperation;
        /**
         * A conversion goal campaign config mutate operation.
         */
        conversionGoalCampaignConfigOperation?: Schema$GoogleAdsSearchads360V23Services__ConversionGoalCampaignConfigOperation;
        /**
         * A conversion value rule mutate operation.
         */
        conversionValueRuleOperation?: Schema$GoogleAdsSearchads360V23Services__ConversionValueRuleOperation;
        /**
         * A conversion value rule set mutate operation.
         */
        conversionValueRuleSetOperation?: Schema$GoogleAdsSearchads360V23Services__ConversionValueRuleSetOperation;
        /**
         * A custom conversion goal mutate operation.
         */
        customConversionGoalOperation?: Schema$GoogleAdsSearchads360V23Services__CustomConversionGoalOperation;
        /**
         * A customer asset mutate operation.
         */
        customerAssetOperation?: Schema$GoogleAdsSearchads360V23Services__CustomerAssetOperation;
        /**
         * A customer conversion goal mutate operation.
         */
        customerConversionGoalOperation?: Schema$GoogleAdsSearchads360V23Services__CustomerConversionGoalOperation;
        /**
         * A customer customizer mutate operation.
         */
        customerCustomizerOperation?: Schema$GoogleAdsSearchads360V23Services__CustomerCustomizerOperation;
        /**
         * A customer label mutate operation.
         */
        customerLabelOperation?: Schema$GoogleAdsSearchads360V23Services__CustomerLabelOperation;
        /**
         * A customer negative criterion mutate operation.
         */
        customerNegativeCriterionOperation?: Schema$GoogleAdsSearchads360V23Services__CustomerNegativeCriterionOperation;
        /**
         * A customer mutate operation.
         */
        customerOperation?: Schema$GoogleAdsSearchads360V23Services__CustomerOperation;
        /**
         * A customizer attribute mutate operation.
         */
        customizerAttributeOperation?: Schema$GoogleAdsSearchads360V23Services__CustomizerAttributeOperation;
        /**
         * An experiment arm mutate operation.
         */
        experimentArmOperation?: Schema$GoogleAdsSearchads360V23Services__ExperimentArmOperation;
        /**
         * An experiment mutate operation.
         */
        experimentOperation?: Schema$GoogleAdsSearchads360V23Services__ExperimentOperation;
        /**
         * A keyword plan ad group keyword operation.
         */
        keywordPlanAdGroupKeywordOperation?: Schema$GoogleAdsSearchads360V23Services__KeywordPlanAdGroupKeywordOperation;
        /**
         * A keyword plan ad group operation.
         */
        keywordPlanAdGroupOperation?: Schema$GoogleAdsSearchads360V23Services__KeywordPlanAdGroupOperation;
        /**
         * A keyword plan campaign keyword operation.
         */
        keywordPlanCampaignKeywordOperation?: Schema$GoogleAdsSearchads360V23Services__KeywordPlanCampaignKeywordOperation;
        /**
         * A keyword plan campaign operation.
         */
        keywordPlanCampaignOperation?: Schema$GoogleAdsSearchads360V23Services__KeywordPlanCampaignOperation;
        /**
         * A keyword plan operation.
         */
        keywordPlanOperation?: Schema$GoogleAdsSearchads360V23Services__KeywordPlanOperation;
        /**
         * A label mutate operation.
         */
        labelOperation?: Schema$GoogleAdsSearchads360V23Services__LabelOperation;
        /**
         * A recommendation subscription mutate operation.
         */
        recommendationSubscriptionOperation?: Schema$GoogleAdsSearchads360V23Services__RecommendationSubscriptionOperation;
        /**
         * A remarketing action mutate operation.
         */
        remarketingActionOperation?: Schema$GoogleAdsSearchads360V23Services__RemarketingActionOperation;
        /**
         * A Search Ads 360 campaign mutate operation.
         */
        searchAds360CampaignOperation?: Schema$GoogleAdsSearchads360V23Services__SearchAds360CampaignOperation;
        /**
         * A shared criterion mutate operation.
         */
        sharedCriterionOperation?: Schema$GoogleAdsSearchads360V23Services__SharedCriterionOperation;
        /**
         * A shared set mutate operation.
         */
        sharedSetOperation?: Schema$GoogleAdsSearchads360V23Services__SharedSetOperation;
        /**
         * A Smart campaign setting mutate operation.
         */
        smartCampaignSettingOperation?: Schema$GoogleAdsSearchads360V23Services__SmartCampaignSettingOperation;
        /**
         * A user list mutate operation.
         */
        userListOperation?: Schema$GoogleAdsSearchads360V23Services__UserListOperation;
    }
    /**
     * Response message for the resource mutate.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__MutateOperationResponse {
        /**
         * The result for the ad group ad label mutate.
         */
        adGroupAdLabelResult?: Schema$GoogleAdsSearchads360V23Services__MutateAdGroupAdLabelResult;
        /**
         * The result for the ad group ad mutate.
         */
        adGroupAdResult?: Schema$GoogleAdsSearchads360V23Services__MutateAdGroupAdResult;
        /**
         * The result for the ad group asset mutate.
         */
        adGroupAssetResult?: Schema$GoogleAdsSearchads360V23Services__MutateAdGroupAssetResult;
        /**
         * The result for the ad group bid modifier mutate.
         */
        adGroupBidModifierResult?: Schema$GoogleAdsSearchads360V23Services__MutateAdGroupBidModifierResult;
        /**
         * The result for the ad group criterion customizer mutate.
         */
        adGroupCriterionCustomizerResult?: Schema$GoogleAdsSearchads360V23Services__MutateAdGroupCriterionCustomizerResult;
        /**
         * The result for the ad group criterion label mutate.
         */
        adGroupCriterionLabelResult?: Schema$GoogleAdsSearchads360V23Services__MutateAdGroupCriterionLabelResult;
        /**
         * The result for the ad group criterion mutate.
         */
        adGroupCriterionResult?: Schema$GoogleAdsSearchads360V23Services__MutateAdGroupCriterionResult;
        /**
         * The result for the ad group customizer mutate.
         */
        adGroupCustomizerResult?: Schema$GoogleAdsSearchads360V23Services__MutateAdGroupCustomizerResult;
        /**
         * The result for the ad group label mutate.
         */
        adGroupLabelResult?: Schema$GoogleAdsSearchads360V23Services__MutateAdGroupLabelResult;
        /**
         * The result for the ad group mutate.
         */
        adGroupResult?: Schema$GoogleAdsSearchads360V23Services__MutateAdGroupResult;
        /**
         * The result for the ad parameter mutate.
         */
        adParameterResult?: Schema$GoogleAdsSearchads360V23Services__MutateAdParameterResult;
        /**
         * The result for the ad mutate.
         */
        adResult?: Schema$GoogleAdsSearchads360V23Services__MutateAdResult;
        /**
         * The result for the asset group asset mutate.
         */
        assetGroupAssetResult?: Schema$GoogleAdsSearchads360V23Services__MutateAssetGroupAssetResult;
        /**
         * The result for the asset group listing group filter mutate.
         */
        assetGroupListingGroupFilterResult?: Schema$GoogleAdsSearchads360V23Services__MutateAssetGroupListingGroupFilterResult;
        /**
         * The result for the asset group mutate.
         */
        assetGroupResult?: Schema$GoogleAdsSearchads360V23Services__MutateAssetGroupResult;
        /**
         * The result for the asset group signal mutate.
         */
        assetGroupSignalResult?: Schema$GoogleAdsSearchads360V23Services__MutateAssetGroupSignalResult;
        /**
         * The result for the asset mutate.
         */
        assetResult?: Schema$GoogleAdsSearchads360V23Services__MutateAssetResult;
        /**
         * The result for the asset set asset mutate.
         */
        assetSetAssetResult?: Schema$GoogleAdsSearchads360V23Services__MutateAssetSetAssetResult;
        /**
         * The result for the asset set mutate.
         */
        assetSetResult?: Schema$GoogleAdsSearchads360V23Services__MutateAssetSetResult;
        /**
         * The result for the audience mutate.
         */
        audienceResult?: Schema$GoogleAdsSearchads360V23Services__MutateAudienceResult;
        /**
         * The result for the bidding data exclusion mutate.
         */
        biddingDataExclusionResult?: Schema$GoogleAdsSearchads360V23Services__MutateBiddingDataExclusionsResult;
        /**
         * The result for the bidding seasonality adjustment mutate.
         */
        biddingSeasonalityAdjustmentResult?: Schema$GoogleAdsSearchads360V23Services__MutateBiddingSeasonalityAdjustmentsResult;
        /**
         * The result for the bidding strategy mutate.
         */
        biddingStrategyResult?: Schema$GoogleAdsSearchads360V23Services__MutateBiddingStrategyResult;
        /**
         * The result for the campaign asset mutate.
         */
        campaignAssetResult?: Schema$GoogleAdsSearchads360V23Services__MutateCampaignAssetResult;
        /**
         * The result for the campaign asset set mutate.
         */
        campaignAssetSetResult?: Schema$GoogleAdsSearchads360V23Services__MutateCampaignAssetSetResult;
        /**
         * The result for the campaign bid modifier mutate.
         */
        campaignBidModifierResult?: Schema$GoogleAdsSearchads360V23Services__MutateCampaignBidModifierResult;
        /**
         * The result for the campaign budget mutate.
         */
        campaignBudgetResult?: Schema$GoogleAdsSearchads360V23Services__MutateCampaignBudgetResult;
        /**
         * The result for the campaign conversion goal mutate.
         */
        campaignConversionGoalResult?: Schema$GoogleAdsSearchads360V23Services__MutateCampaignConversionGoalResult;
        /**
         * The result for the campaign criterion mutate.
         */
        campaignCriterionResult?: Schema$GoogleAdsSearchads360V23Services__MutateCampaignCriterionResult;
        /**
         * The result for the campaign customizer mutate.
         */
        campaignCustomizerResult?: Schema$GoogleAdsSearchads360V23Services__MutateCampaignCustomizerResult;
        /**
         * The result for the campaign draft mutate.
         */
        campaignDraftResult?: Schema$GoogleAdsSearchads360V23Services__MutateCampaignDraftResult;
        /**
         * The result for the campaign group mutate.
         */
        campaignGroupResult?: Schema$GoogleAdsSearchads360V23Services__MutateCampaignGroupResult;
        /**
         * The result for the campaign label mutate.
         */
        campaignLabelResult?: Schema$GoogleAdsSearchads360V23Services__MutateCampaignLabelResult;
        /**
         * The result for the campaign mutate.
         */
        campaignResult?: Schema$GoogleAdsSearchads360V23Services__MutateCampaignResult;
        /**
         * The result for the campaign shared set mutate.
         */
        campaignSharedSetResult?: Schema$GoogleAdsSearchads360V23Services__MutateCampaignSharedSetResult;
        /**
         * The result for the conversion action mutate.
         */
        conversionActionResult?: Schema$GoogleAdsSearchads360V23Services__MutateConversionActionResult;
        /**
         * The result for the conversion custom variable mutate.
         */
        conversionCustomVariableResult?: Schema$GoogleAdsSearchads360V23Services__MutateConversionCustomVariableResult;
        /**
         * The result for the conversion goal campaign config mutate.
         */
        conversionGoalCampaignConfigResult?: Schema$GoogleAdsSearchads360V23Services__MutateConversionGoalCampaignConfigResult;
        /**
         * The result for the conversion value rule mutate.
         */
        conversionValueRuleResult?: Schema$GoogleAdsSearchads360V23Services__MutateConversionValueRuleResult;
        /**
         * The result for the conversion value rule set mutate.
         */
        conversionValueRuleSetResult?: Schema$GoogleAdsSearchads360V23Services__MutateConversionValueRuleSetResult;
        /**
         * The result for the custom conversion goal mutate.
         */
        customConversionGoalResult?: Schema$GoogleAdsSearchads360V23Services__MutateCustomConversionGoalResult;
        /**
         * The result for the customer asset mutate.
         */
        customerAssetResult?: Schema$GoogleAdsSearchads360V23Services__MutateCustomerAssetResult;
        /**
         * The result for the customer conversion goal mutate.
         */
        customerConversionGoalResult?: Schema$GoogleAdsSearchads360V23Services__MutateCustomerConversionGoalResult;
        /**
         * The result for the customer customizer mutate.
         */
        customerCustomizerResult?: Schema$GoogleAdsSearchads360V23Services__MutateCustomerCustomizerResult;
        /**
         * The result for the customer label mutate.
         */
        customerLabelResult?: Schema$GoogleAdsSearchads360V23Services__MutateCustomerLabelResult;
        /**
         * The result for the customer negative criterion mutate.
         */
        customerNegativeCriterionResult?: Schema$GoogleAdsSearchads360V23Services__MutateCustomerNegativeCriteriaResult;
        /**
         * The result for the customer mutate.
         */
        customerResult?: Schema$GoogleAdsSearchads360V23Services__MutateCustomerResult;
        /**
         * The result for the customizer attribute mutate.
         */
        customizerAttributeResult?: Schema$GoogleAdsSearchads360V23Services__MutateCustomizerAttributeResult;
        /**
         * The result for the experiment arm mutate.
         */
        experimentArmResult?: Schema$GoogleAdsSearchads360V23Services__MutateExperimentArmResult;
        /**
         * The result for the experiment mutate.
         */
        experimentResult?: Schema$GoogleAdsSearchads360V23Services__MutateExperimentResult;
        /**
         * The result for the keyword plan ad group keyword mutate.
         */
        keywordPlanAdGroupKeywordResult?: Schema$GoogleAdsSearchads360V23Services__MutateKeywordPlanAdGroupKeywordResult;
        /**
         * The result for the keyword plan ad group mutate.
         */
        keywordPlanAdGroupResult?: Schema$GoogleAdsSearchads360V23Services__MutateKeywordPlanAdGroupResult;
        /**
         * The result for the keyword plan campaign keyword mutate.
         */
        keywordPlanCampaignKeywordResult?: Schema$GoogleAdsSearchads360V23Services__MutateKeywordPlanCampaignKeywordResult;
        /**
         * The result for the keyword plan campaign mutate.
         */
        keywordPlanCampaignResult?: Schema$GoogleAdsSearchads360V23Services__MutateKeywordPlanCampaignResult;
        /**
         * The result for the keyword plan mutate.
         */
        keywordPlanResult?: Schema$GoogleAdsSearchads360V23Services__MutateKeywordPlansResult;
        /**
         * The result for the label mutate.
         */
        labelResult?: Schema$GoogleAdsSearchads360V23Services__MutateLabelResult;
        /**
         * The result for the recommendation subscription mutate.
         */
        recommendationSubscriptionResult?: Schema$GoogleAdsSearchads360V23Services__MutateRecommendationSubscriptionResult;
        /**
         * The result for the remarketing action mutate.
         */
        remarketingActionResult?: Schema$GoogleAdsSearchads360V23Services__MutateRemarketingActionResult;
        /**
         * The result for the Search Ads 360 campaign mutate.
         */
        searchAds360CampaignResult?: Schema$GoogleAdsSearchads360V23Services__MutateSearchAds360CampaignResult;
        /**
         * The result for the shared criterion mutate.
         */
        sharedCriterionResult?: Schema$GoogleAdsSearchads360V23Services__MutateSharedCriterionResult;
        /**
         * The result for the shared set mutate.
         */
        sharedSetResult?: Schema$GoogleAdsSearchads360V23Services__MutateSharedSetResult;
        /**
         * The result for the Smart campaign setting mutate.
         */
        smartCampaignSettingResult?: Schema$GoogleAdsSearchads360V23Services__MutateSmartCampaignSettingResult;
        /**
         * The result for the user list mutate.
         */
        userListResult?: Schema$GoogleAdsSearchads360V23Services__MutateUserListResult;
    }
    /**
     * Request message for RecommendationSubscriptionService.MutateRecommendationSubscription
     */
    export interface Schema$GoogleAdsSearchads360V23Services__MutateRecommendationSubscriptionRequest {
        /**
         * Required. The list of create or update operations.
         */
        operations?: Schema$GoogleAdsSearchads360V23Services__RecommendationSubscriptionOperation[];
        /**
         * If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false.
         */
        partialFailure?: boolean | null;
        /**
         * The response content type setting. Determines whether the mutable resource or just the resource name should be returned post mutation. The mutable resource will only be returned if the resource has the appropriate response field. For example, MutateCampaignResult.campaign.
         */
        responseContentType?: string | null;
        /**
         * If true, the request is validated but not executed. Only errors are returned, not results.
         */
        validateOnly?: boolean | null;
    }
    /**
     * Response message for RecommendationSubscriptionService.MutateRecommendationSubscription
     */
    export interface Schema$GoogleAdsSearchads360V23Services__MutateRecommendationSubscriptionResponse {
        /**
         * Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors) we return the RPC level error.
         */
        partialFailureError?: Schema$GoogleRpc__Status;
        /**
         * Results, one per operation.
         */
        results?: Schema$GoogleAdsSearchads360V23Services__MutateRecommendationSubscriptionResult[];
    }
    /**
     * Result message for RecommendationSubscriptionService.MutateRecommendationSubscription
     */
    export interface Schema$GoogleAdsSearchads360V23Services__MutateRecommendationSubscriptionResult {
        /**
         * The mutated recommendation subscription with only mutable fields after mutate. The field will only be returned when response_content_type is set to "MUTABLE_RESOURCE".
         */
        recommendationSubscription?: Schema$GoogleAdsSearchads360V23Resources__RecommendationSubscription;
        /**
         * Resource name of the subscription that was modified.
         */
        resourceName?: string | null;
    }
    /**
     * The result for the remarketing action mutate.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__MutateRemarketingActionResult {
        /**
         * Returned for successful operations.
         */
        resourceName?: string | null;
    }
    /**
     * Request message for RemarketingActionService.MutateRemarketingActions.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__MutateRemarketingActionsRequest {
        /**
         * Required. The list of operations to perform on individual remarketing actions.
         */
        operations?: Schema$GoogleAdsSearchads360V23Services__RemarketingActionOperation[];
        /**
         * If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false.
         */
        partialFailure?: boolean | null;
        /**
         * If true, the request is validated but not executed. Only errors are returned, not results.
         */
        validateOnly?: boolean | null;
    }
    /**
     * Response message for remarketing action mutate.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__MutateRemarketingActionsResponse {
        /**
         * Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error.
         */
        partialFailureError?: Schema$GoogleRpc__Status;
        /**
         * All results for the mutate.
         */
        results?: Schema$GoogleAdsSearchads360V23Services__MutateRemarketingActionResult[];
    }
    /**
     * The result for the Search Ads 360 campaign mutate.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__MutateSearchAds360CampaignResult {
        /**
         * Returned for successful operations.
         */
        resourceName?: string | null;
        /**
         * The mutated Search Ads 360 campaign with only mutable fields after mutate. The field will only be returned when response_content_type is set to "MUTABLE_RESOURCE".
         */
        searchAds360Campaign?: Schema$GoogleAdsSearchads360V23Resources__SearchAds360Campaign;
    }
    /**
     * Request message for SearchAds360CampaignService.MutateSearchAds360Campaigns.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__MutateSearchAds360CampaignsRequest {
        /**
         * Required. The list of operations to perform on individual Search Ads 360 campaigns.
         */
        operations?: Schema$GoogleAdsSearchads360V23Services__SearchAds360CampaignOperation[];
        /**
         * If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false.
         */
        partialFailure?: boolean | null;
        /**
         * The response content type setting. Determines whether the mutable resource or just the resource name should be returned post mutation.
         */
        responseContentType?: string | null;
        /**
         * If true, the request is validated but not executed. Only errors are returned, not results.
         */
        validateOnly?: boolean | null;
    }
    /**
     * Response message for Search Ads 360 campaign mutate.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__MutateSearchAds360CampaignsResponse {
        /**
         * All results for the mutate.
         */
        results?: Schema$GoogleAdsSearchads360V23Services__MutateSearchAds360CampaignResult[];
    }
    /**
     * Request message for Service.Mutate.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__MutateSearchAds360Request {
        /**
         * Required. The list of operations to perform on individual resources.
         */
        mutateOperations?: Schema$GoogleAdsSearchads360V23Services__MutateOperation[];
        /**
         * If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false.
         */
        partialFailure?: boolean | null;
        /**
         * The response content type setting. Determines whether the mutable resource or just the resource name should be returned post mutation. The mutable resource will only be returned if the resource has the appropriate response field. For example, .
         */
        responseContentType?: string | null;
        validateOnly?: boolean | null;
    }
    /**
     * Response message for Service.Mutate.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__MutateSearchAds360Response {
        /**
         * All responses for the mutate.
         */
        mutateOperationResponses?: Schema$GoogleAdsSearchads360V23Services__MutateOperationResponse[];
        /**
         * Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error.
         */
        partialFailureError?: Schema$GoogleRpc__Status;
    }
    /**
     * Request message for SharedCriterionService.MutateSharedCriteria.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__MutateSharedCriteriaRequest {
        /**
         * Required. The list of operations to perform on individual shared criteria.
         */
        operations?: Schema$GoogleAdsSearchads360V23Services__SharedCriterionOperation[];
        /**
         * If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false.
         */
        partialFailure?: boolean | null;
        /**
         * The response content type setting. Determines whether the mutable resource or just the resource name should be returned post mutation.
         */
        responseContentType?: string | null;
        /**
         * If true, the request is validated but not executed. Only errors are returned, not results.
         */
        validateOnly?: boolean | null;
    }
    /**
     * Response message for a shared criterion mutate.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__MutateSharedCriteriaResponse {
        /**
         * Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error.
         */
        partialFailureError?: Schema$GoogleRpc__Status;
        /**
         * All results for the mutate.
         */
        results?: Schema$GoogleAdsSearchads360V23Services__MutateSharedCriterionResult[];
    }
    /**
     * The result for the shared criterion mutate.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__MutateSharedCriterionResult {
        /**
         * Returned for successful operations.
         */
        resourceName?: string | null;
        /**
         * The mutated shared criterion with only mutable fields after mutate. The field will only be returned when response_content_type is set to "MUTABLE_RESOURCE".
         */
        sharedCriterion?: Schema$GoogleAdsSearchads360V23Resources__SharedCriterion;
    }
    /**
     * The result for the shared set mutate.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__MutateSharedSetResult {
        /**
         * Returned for successful operations.
         */
        resourceName?: string | null;
        /**
         * The mutated shared set with only mutable fields after mutate. The field will only be returned when response_content_type is set to "MUTABLE_RESOURCE".
         */
        sharedSet?: Schema$GoogleAdsSearchads360V23Resources__SharedSet;
    }
    /**
     * Request message for SharedSetService.MutateSharedSets.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__MutateSharedSetsRequest {
        /**
         * Required. The list of operations to perform on individual shared sets.
         */
        operations?: Schema$GoogleAdsSearchads360V23Services__SharedSetOperation[];
        /**
         * If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false.
         */
        partialFailure?: boolean | null;
        /**
         * The response content type setting. Determines whether the mutable resource or just the resource name should be returned post mutation.
         */
        responseContentType?: string | null;
        /**
         * If true, the request is validated but not executed. Only errors are returned, not results.
         */
        validateOnly?: boolean | null;
    }
    /**
     * Response message for a shared set mutate.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__MutateSharedSetsResponse {
        /**
         * Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error.
         */
        partialFailureError?: Schema$GoogleRpc__Status;
        /**
         * All results for the mutate.
         */
        results?: Schema$GoogleAdsSearchads360V23Services__MutateSharedSetResult[];
    }
    /**
     * The result for the Smart campaign setting mutate.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__MutateSmartCampaignSettingResult {
        /**
         * Returned for successful operations.
         */
        resourceName?: string | null;
        /**
         * The mutated Smart campaign setting with only mutable fields after mutate. The field will only be returned when response_content_type is set to "MUTABLE_RESOURCE".
         */
        smartCampaignSetting?: Schema$GoogleAdsSearchads360V23Resources__SmartCampaignSetting;
    }
    /**
     * Request message for SmartCampaignSettingService.MutateSmartCampaignSettings.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__MutateSmartCampaignSettingsRequest {
        /**
         * Required. The list of operations to perform on individual Smart campaign settings.
         */
        operations?: Schema$GoogleAdsSearchads360V23Services__SmartCampaignSettingOperation[];
        /**
         * If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false.
         */
        partialFailure?: boolean | null;
        /**
         * The response content type setting. Determines whether the mutable resource or just the resource name should be returned post mutation.
         */
        responseContentType?: string | null;
        /**
         * If true, the request is validated but not executed. Only errors are returned, not results.
         */
        validateOnly?: boolean | null;
    }
    /**
     * Response message for campaign mutate.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__MutateSmartCampaignSettingsResponse {
        /**
         * Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error.
         */
        partialFailureError?: Schema$GoogleRpc__Status;
        /**
         * All results for the mutate.
         */
        results?: Schema$GoogleAdsSearchads360V23Services__MutateSmartCampaignSettingResult[];
    }
    /**
     * The result for the user list customer type mutate.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__MutateUserListCustomerTypeResult {
        /**
         * Returned for successful operations.
         */
        resourceName?: string | null;
    }
    /**
     * Request message for UserListCustomerTypeService.MutateUserListCustomerTypes.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__MutateUserListCustomerTypesRequest {
        /**
         * Required. The list of operations to perform on the user list customer types.
         */
        operations?: Schema$GoogleAdsSearchads360V23Services__UserListCustomerTypeOperation[];
        /**
         * Optional. If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false.
         */
        partialFailure?: boolean | null;
        /**
         * Optional. If true, the request is validated but not executed. Only errors are returned, not results.
         */
        validateOnly?: boolean | null;
    }
    /**
     * Response message for a user list customer type mutate.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__MutateUserListCustomerTypesResponse {
        /**
         * Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error.
         */
        partialFailureError?: Schema$GoogleRpc__Status;
        /**
         * All results for the mutate.
         */
        results?: Schema$GoogleAdsSearchads360V23Services__MutateUserListCustomerTypeResult[];
    }
    /**
     * The result for the user list mutate.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__MutateUserListResult {
        /**
         * Returned for successful operations.
         */
        resourceName?: string | null;
    }
    /**
     * Request message for UserListService.MutateUserLists.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__MutateUserListsRequest {
        /**
         * Required. The list of operations to perform on individual user lists.
         */
        operations?: Schema$GoogleAdsSearchads360V23Services__UserListOperation[];
        /**
         * If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false.
         */
        partialFailure?: boolean | null;
        /**
         * If true, the request is validated but not executed. Only errors are returned, not results.
         */
        validateOnly?: boolean | null;
    }
    /**
     * Response message for user list mutate.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__MutateUserListsResponse {
        /**
         * Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error.
         */
        partialFailureError?: Schema$GoogleRpc__Status;
        /**
         * All results for the mutate.
         */
        results?: Schema$GoogleAdsSearchads360V23Services__MutateUserListResult[];
    }
    /**
     * Operation to be made for the AddOfflineUserDataJobOperationsRequest.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__OfflineUserDataJobOperation {
        /**
         * Add the provided data to the transaction. Data cannot be retrieved after being uploaded.
         */
        create?: Schema$GoogleAdsSearchads360V23Common__UserData;
        /**
         * Remove the provided data from the transaction. Data cannot be retrieved after being uploaded.
         */
        remove?: Schema$GoogleAdsSearchads360V23Common__UserData;
        /**
         * Remove all previously provided data. This is only supported for Customer Match.
         */
        removeAll?: boolean | null;
    }
    /**
     * Audience metrics for the planned products. These metrics consider the following targeting dimensions: - Location - PlannableAgeRange - Gender - AudienceTargeting (only for youtube_audience_size)
     */
    export interface Schema$GoogleAdsSearchads360V23Services__OnTargetAudienceMetrics {
        /**
         * Reference audience size matching the considered targeting for Census.
         */
        censusAudienceSize?: string | null;
        /**
         * Reference audience size matching the considered targeting for YouTube.
         */
        youtubeAudienceSize?: string | null;
    }
    /**
     * A plannable location: country, metro region, province, etc.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__PlannableLocation {
        /**
         * The ISO-3166-1 alpha-2 country code that is associated with the location.
         */
        countryCode?: string | null;
        /**
         * The location identifier.
         */
        id?: string | null;
        /**
         * The location's type. Location types correspond to target_type returned by .
         */
        locationType?: string | null;
        /**
         * The unique location name in English.
         */
        name?: string | null;
        /**
         * The parent country (not present if location is a country). If present, will always be a GeoTargetConstant ID. Additional information such as country name is provided by ReachPlanService.ListPlannableLocations or
         */
        parentCountryId?: string | null;
    }
    /**
     * The targeting for which traffic metrics will be reported.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__PlannableTargeting {
        /**
         * Allowed plannable age ranges for the product for which metrics will be reported. Actual targeting is computed by mapping this age range onto standard Google common.AgeRangeInfo values.
         */
        ageRanges?: string[] | null;
        /**
         * Targetable devices for the ad product. TABLET device targeting is automatically applied to reported metrics when MOBILE targeting is selected for CPM_MASTHEAD, GOOGLE_PREFERRED_BUMPER, and GOOGLE_PREFERRED_SHORT products.
         */
        devices?: Schema$GoogleAdsSearchads360V23Common__DeviceInfo[];
        /**
         * Targetable genders for the ad product.
         */
        genders?: Schema$GoogleAdsSearchads360V23Common__GenderInfo[];
        /**
         * Targetable networks for the ad product.
         */
        networks?: string[] | null;
        /**
         * Targetable surface combinations for the ad product.
         */
        surfaceTargeting?: Schema$GoogleAdsSearchads360V23Services__SurfaceTargetingCombinations;
        /**
         * Targetable YouTube Select Lineups for the ad product.
         */
        youtubeSelectLineups?: Schema$GoogleAdsSearchads360V23Services__YouTubeSelectLineUp[];
    }
    /**
     * A plannable user interest that can be targeted in a reach forecast using ReachPlanService.GenerateReachForecast.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__PlannableUserInterest {
        /**
         * The user interest id.
         */
        userInterest?: Schema$GoogleAdsSearchads360V23Common__UserInterestInfo;
        /**
         * The user interest display name. For example, "Autos & Vehicles"
         */
        userInterestDisplayName?: string | null;
        /**
         * The user interest path. For example, "/Autos & Vehicles/Motor Vehicles/Motor Vehicles by Type/Off-Road Vehicles"
         */
        userInterestPath?: string | null;
        /**
         * The user interest type.
         */
        userInterestType?: string | null;
    }
    /**
     * A plannable user list.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__PlannableUserList {
        /**
         * The name of the user list.
         */
        displayName?: string | null;
        /**
         * The plannable status of the user list.
         */
        plannableStatus?: string | null;
        /**
         * The relevant metadata for this user list.
         */
        plannableUserListMetadata?: Schema$GoogleAdsSearchads360V23Services__PlannableUserListMetadata;
        /**
         * The user list ID.
         */
        userListInfo?: Schema$GoogleAdsSearchads360V23Common__UserListInfo;
        /**
         * The user list type.
         */
        userListType?: string | null;
    }
    /**
     * The metadata associated with a plannable user list.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__PlannableUserListMetadata {
        /**
         * The data source type of a CRM based user list.
         */
        userListCrmDataSourceType?: string | null;
    }
    /**
     * A product being planned for reach.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__PlannedProduct {
        /**
         * Targeting settings for the selected product. To list the available targeting for each product use ReachPlanService.ListPlannableProducts.
         */
        advancedProductTargeting?: Schema$GoogleAdsSearchads360V23Services__AdvancedProductTargeting;
        /**
         * Required. Maximum budget allocation in micros for the selected product. The value is specified in the selected planning currency_code. For example: 1 000 000$ = 1 000 000 000 000 micros.
         */
        budgetMicros?: string | null;
        /**
         * Conversion rate as a decimal between 0 and 1, exclusive. For example: if 2% of ad interactions are expected to lead to conversions, conversion_rate should be 0.02. This field is required for DEMAND_GEN plannable products. It is not supported for other plannable products.
         */
        conversionRate?: number | null;
        /**
         * Required. Selected product for planning. The code associated with the ad product (for example: Trueview, Bumper). To list the available plannable product codes use ReachPlanService.ListPlannableProducts.
         */
        plannableProductCode?: string | null;
    }
    /**
     * Forecasted traffic metrics for a planned product.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__PlannedProductForecast {
        /**
         * The number of times per selected time unit a user will see an ad, averaged over the number of time units in the forecast length. This field will only be populated for a Target Frequency campaign. See https://support.google.com/google-ads/answer/12400225 for more information about Target Frequency campaigns.
         */
        averageFrequency?: number | null;
        /**
         * The number of conversions. This metric is only available for DEMAND_GEN plannable products. See https://support.google.com/google-ads/answer/2375431 for more information on conversions.
         */
        conversions?: number | null;
        /**
         * Number of ad impressions that exactly matches the Targeting including co-viewers.
         */
        onTargetCoviewImpressions?: string | null;
        /**
         * Number of unique people reached that exactly matches the Targeting including co-viewers.
         */
        onTargetCoviewReach?: string | null;
        /**
         * Number of ad impressions that exactly matches the Targeting.
         */
        onTargetImpressions?: string | null;
        /**
         * Number of unique people reached that exactly matches the Targeting. Note that a minimum number of unique people must be reached in order for data to be reported. If the minimum number is not met, the on_target_reach value will be rounded to 0.
         */
        onTargetReach?: string | null;
        /**
         * Total number of ad impressions including co-viewers. This includes impressions that may fall outside the specified Targeting, due to insufficient information on signed-in users.
         */
        totalCoviewImpressions?: string | null;
        /**
         * Number of unique people reached including co-viewers. This includes people that may fall outside the specified Targeting.
         */
        totalCoviewReach?: string | null;
        /**
         * Total number of ad impressions. This includes impressions that may fall outside the specified Targeting, due to insufficient information on signed-in users.
         */
        totalImpressions?: string | null;
        /**
         * Number of unique people reached. This includes people that may fall outside the specified Targeting. Note that a minimum number of unique people must be reached in order for data to be reported. If the minimum number is not met, the total_reach value will be rounded to 0.
         */
        totalReach?: string | null;
        /**
         * Number of ad views forecasted for the specified product and targeting. A TrueView View is counted when a viewer views a larger portion or the entirety of an ad beyond an impression. See https://support.google.com/google-ads/answer/2375431 for more information on TrueView Views.
         */
        trueviewViews?: string | null;
        /**
         * Number of times the ad's impressions were considered viewable. See https://support.google.com/google-ads/answer/7029393 for more information about what makes an ad viewable and how viewability is measured.
         */
        viewableImpressions?: string | null;
    }
    /**
     * The forecasted allocation and traffic metrics for a specific product at a point on the reach curve.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__PlannedProductReachForecast {
        /**
         * The cost in micros. This may differ from the product's input allocation if one or more planned products cannot fulfill the budget because of limited inventory.
         */
        costMicros?: string | null;
        /**
         * Selected product for planning. The product codes returned are within the set of the ones returned by ListPlannableProducts when using the same location ID.
         */
        plannableProductCode?: string | null;
        /**
         * Forecasted traffic metrics for this product.
         */
        plannedProductForecast?: Schema$GoogleAdsSearchads360V23Services__PlannedProductForecast;
    }
    /**
     * The type and list of products to aggregate benchmarks metrics over.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__ProductFilter {
        /**
         * The list of marketing goals. Marketing objective is a broader product classification of products.
         */
        marketingObjectiveList?: Schema$GoogleAdsSearchads360V23Services_ProductFilter_MarketingObjectiveList;
        /**
         * The list of products.
         */
        productList?: Schema$GoogleAdsSearchads360V23Services_ProductFilter_ProductList;
    }
    /**
     * The metadata associated with an available plannable product.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__ProductMetadata {
        /**
         * The code associated with the ad product (for example: BUMPER, TRUEVIEW_IN_STREAM). To list the available plannable product codes use ReachPlanService.ListPlannableProducts.
         */
        plannableProductCode?: string | null;
        /**
         * The name associated with the ad product.
         */
        plannableProductName?: string | null;
        /**
         * The allowed plannable targeting for this product.
         */
        plannableTargeting?: Schema$GoogleAdsSearchads360V23Services__PlannableTargeting;
    }
    /**
     * Request message for CampaignDraftService.PromoteCampaignDraft.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__PromoteCampaignDraftRequest {
        /**
         * If true, the request is validated but no Long Running Operation is created. Only errors are returned.
         */
        validateOnly?: boolean | null;
    }
    /**
     * The metadata of the promoted experiment.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__PromoteExperimentMetadata {
        /**
         * Required. The promoted experiment.
         */
        experiment?: string | null;
    }
    /**
     * Request message for ExperimentService.PromoteExperiment.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__PromoteExperimentRequest {
        /**
         * If true, the request is validated but not executed. Only errors are returned, not results.
         */
        validateOnly?: boolean | null;
    }
    /**
     * Request message for LocalServicesLeadService.ProvideLeadFeedback.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__ProvideLeadFeedbackRequest {
        /**
         * Required. Survey answer for Local Services Ads Lead.
         */
        surveyAnswer?: string | null;
        /**
         * Details about various factors for not being satisfied with the lead.
         */
        surveyDissatisfied?: Schema$GoogleAdsSearchads360V23Services__SurveyDissatisfied;
        /**
         * Details about various factors for being satisfied with the lead.
         */
        surveySatisfied?: Schema$GoogleAdsSearchads360V23Services__SurveySatisfied;
    }
    /**
     * Response message for LocalServicesLeadService.ProvideLeadFeedback.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__ProvideLeadFeedbackResponse {
        /**
         * Required. Decision of bonus credit issued or rejected. If a bonus credit is issued, it will be available for use in about two months.
         */
        creditIssuanceDecision?: string | null;
    }
    /**
     * Average rate metrics. Metrics that represent monetary values are returned in USD by default, if unspecified in the request.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__RateMetrics {
        /**
         * The percentage of time when your ad appeared on an Active View enabled site (measurable impressions) and was viewable (viewable impressions).
         */
        activeViewViewability?: number | null;
        /**
         * Average cost-per-thousand viewable impressions.
         */
        averageActiveViewCpm?: number | null;
        /**
         * The average cost-per-click (CPC) is defined by the total cost of all clicks divided by the total number of clicks received.
         */
        averageCpc?: number | null;
        /**
         * The average cost-per-engagement (CPE) is defined by the total cost of all ad engagements divided by the total number of ad engagements.
         */
        averageCpe?: number | null;
        /**
         * The average cost-per-interaction (CPI) is defined by the total cost of all interactions divided by the total number of interactions.
         */
        averageCpi?: number | null;
        /**
         * Average cost-per-thousand impressions (CPM).
         */
        averageCpm?: number | null;
        /**
         * The number of clicks your ad receives (Clicks) divided by the number of times your ad is shown (Impressions).
         */
        clickThroughRate?: number | null;
        /**
         * How often people engage with your ad after it's shown to them. This is the number of ad expansions divided by the number of times your ad is shown.
         */
        engagementRate?: number | null;
        /**
         * How often people interact with your ad after it is shown to them. This is the number of interactions divided by the number of times your ad is shown.
         */
        interactionRate?: number | null;
        /**
         * The average TrueView cost-per-view (CPV) is defined by the total cost of all ad TrueView views divided by the number of TrueView views.
         */
        trueviewAverageCpv?: number | null;
        /**
         * Number of completed TrueView views divided by the number of impressions.
         */
        trueviewViewRate?: number | null;
        /**
         * Percentage of impressions where the viewer watched all of your video.
         */
        videoCompletionP100Rate?: number | null;
        /**
         * Percentage of impressions where the viewer watched 25% of your video.
         */
        videoCompletionP25Rate?: number | null;
        /**
         * Percentage of impressions where the viewer watched 50% of your video.
         */
        videoCompletionP50Rate?: number | null;
        /**
         * Percentage of impressions where the viewer watched 75% of your video.
         */
        videoCompletionP75Rate?: number | null;
    }
    /**
     * Message for raw event conversion dimension header.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__RawEventConversionDimensionHeader {
        /**
         * The conversion custom variable ID.
         */
        id?: string | null;
        /**
         * The user defined name of the raw event dimension.
         */
        name?: string | null;
    }
    /**
     * Message for raw event conversion metric header.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__RawEventConversionMetricHeader {
        /**
         * The conversion custom variable ID.
         */
        id?: string | null;
        /**
         * The user defined name of the raw event metric.
         */
        name?: string | null;
    }
    /**
     * The reach curve for the planned products.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__ReachCurve {
        /**
         * All points on the reach curve.
         */
        reachForecasts?: Schema$GoogleAdsSearchads360V23Services__ReachForecast[];
    }
    /**
     * A point on reach curve.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__ReachForecast {
        /**
         * The cost in micros.
         */
        costMicros?: string | null;
        /**
         * Forecasted traffic metrics for this point.
         */
        forecast?: Schema$GoogleAdsSearchads360V23Services__Forecast;
        /**
         * The forecasted allocation and traffic metrics for each planned product at this point on the reach curve.
         */
        plannedProductReachForecasts?: Schema$GoogleAdsSearchads360V23Services__PlannedProductReachForecast[];
    }
    /**
     * A single operation (create, update) on a recommendation subscription. RecommendationSubscriptionService.MutateRecommendationSubscription
     */
    export interface Schema$GoogleAdsSearchads360V23Services__RecommendationSubscriptionOperation {
        /**
         * Create operation: No resource name is expected for the new subscription.
         */
        create?: Schema$GoogleAdsSearchads360V23Resources__RecommendationSubscription;
        /**
         * Update operation: The subscription is expected to have a valid resource name.
         */
        update?: Schema$GoogleAdsSearchads360V23Resources__RecommendationSubscription;
        /**
         * Optional. FieldMask that determines which resource fields are modified in an update.
         */
        updateMask?: string | null;
    }
    /**
     * Request message for ThirdPartyAppAnalyticsLinkService.RegenerateShareableLinkId.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__RegenerateShareableLinkIdRequest {
    }
    /**
     * Response message for ThirdPartyAppAnalyticsLinkService.RegenerateShareableLinkId.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__RegenerateShareableLinkIdResponse {
    }
    /**
     * A single operation (create, update) on a remarketing action.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__RemarketingActionOperation {
        /**
         * Create operation: No resource name is expected for the new remarketing action.
         */
        create?: Schema$GoogleAdsSearchads360V23Resources__RemarketingAction;
        /**
         * Update operation: The remarketing action is expected to have a valid resource name.
         */
        update?: Schema$GoogleAdsSearchads360V23Resources__RemarketingAction;
        /**
         * FieldMask that determines which resource fields are modified in an update.
         */
        updateMask?: string | null;
    }
    /**
     * Request message for AdGroupAdService.RemoveAutomaticallyCreatedAssets.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__RemoveAutomaticallyCreatedAssetsRequest {
        /**
         * Required. List of assets with field type to be removed from the AdGroupAd.
         */
        assetsWithFieldType?: Schema$GoogleAdsSearchads360V23Services__AssetsWithFieldType[];
    }
    /**
     * A single operation to remove an automatically created asset from a campaign.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__RemoveCampaignAutomaticallyCreatedAssetOperation {
        /**
         * Required. The resource name of the asset to remove.
         */
        asset?: string | null;
        /**
         * Required. The resource name of the campaign.
         */
        campaign?: string | null;
        /**
         * Required. The field type of the asset to remove.
         */
        fieldType?: string | null;
    }
    /**
     * Request message for AutomaticallyCreatedAssetRemovalService.RemoveCampaignAutomaticallyCreatedAsset.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__RemoveCampaignAutomaticallyCreatedAssetRequest {
        /**
         * Required. The list of operations.
         */
        operations?: Schema$GoogleAdsSearchads360V23Services__RemoveCampaignAutomaticallyCreatedAssetOperation[];
        /**
         * Required. If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid.
         */
        partialFailure?: boolean | null;
    }
    /**
     * Response message for AutomaticallyCreatedAssetRemovalService.RemoveCampaignAutomaticallyCreatedAsset.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__RemoveCampaignAutomaticallyCreatedAssetResponse {
        /**
         * Errors that pertain to AutomaticallyCreatedAssetRemoval failures in the partial failure mode. Returned when all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), RPC level error will be returned. See https://developers.google.com/google-ads/api/docs/best-practices/partial-failures for more information about partial failure.
         */
        partialFailureError?: Schema$GoogleRpc__Status;
    }
    /**
     * Request message for DataLinkService.RemoveDataLink.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__RemoveDataLinkRequest {
        /**
         * Required. The data link is expected to have a valid resource name.
         */
        resourceName?: string | null;
    }
    /**
     * Response message for DataLinkService.RemoveDataLink.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__RemoveDataLinkResponse {
        /**
         * Result for the remove request.
         */
        resourceName?: string | null;
    }
    /**
     * Request message for ProductLinkInvitationService.RemoveProductLinkInvitation.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__RemoveProductLinkInvitationRequest {
        /**
         * Required. The resource name of the product link invitation being removed. expected, in this format: ` `
         */
        resourceName?: string | null;
    }
    /**
     * Response message for product link invitation removeal.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__RemoveProductLinkInvitationResponse {
        /**
         * Result for the remove request.
         */
        resourceName?: string | null;
    }
    /**
     * Request message for ProductLinkService.RemoveProductLink.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__RemoveProductLinkRequest {
        /**
         * Required. Remove operation: A resource name for the product link to remove is expected, in this format: ` `
         */
        resourceName?: string | null;
        /**
         * If true, the request is validated but not executed. Only errors are returned, not results.
         */
        validateOnly?: boolean | null;
    }
    /**
     * Response message for product link removal.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__RemoveProductLinkResponse {
        /**
         * Result for the remove request.
         */
        resourceName?: string | null;
    }
    /**
     * Contains information needed to restate a conversion's value.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__RestatementValue {
        /**
         * The restated conversion value. This is the value of the conversion after restatement. For example, to change the value of a conversion from 100 to 70, an adjusted value of 70 should be reported. NOTE: If you want to upload a second restatement with a different adjusted value, it must have a new, more recent, adjustment occurrence time. Otherwise, it will be treated as a duplicate of the previous restatement and ignored.
         */
        adjustedValue?: number | null;
        /**
         * The currency of the restated value. If not provided, then the default currency from the conversion action is used, and if that is not set then the account currency is used. This is the ISO 4217 3-character currency code for example, USD or EUR.
         */
        currencyCode?: string | null;
    }
    /**
     * Request message for BatchJobService.RunBatchJob.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__RunBatchJobRequest {
    }
    /**
     * Request message for OfflineUserDataJobService.RunOfflineUserDataJob.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__RunOfflineUserDataJobRequest {
        /**
         * If true, the request is validated but not executed. Only errors are returned, not results.
         */
        validateOnly?: boolean | null;
    }
    /**
     * The metadata of the scheduled experiment.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__ScheduleExperimentMetadata {
        /**
         * Required. The scheduled experiment.
         */
        experiment?: string | null;
    }
    /**
     * Request message for ExperimentService.ScheduleExperiment.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__ScheduleExperimentRequest {
        /**
         * If true, the request is validated but not executed. Only errors are returned, not results.
         */
        validateOnly?: boolean | null;
    }
    /**
     * A single operation (update) on a Search Ads 360 campaign.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__SearchAds360CampaignOperation {
        /**
         * Update operation: The Search Ads 360 campaign is expected to have a valid resource name.
         */
        update?: Schema$GoogleAdsSearchads360V23Resources__SearchAds360Campaign;
        /**
         * FieldMask that determines which resource fields are modified in an update.
         */
        updateMask?: string | null;
    }
    /**
     * A returned row from the query.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__SearchAds360Row {
        /**
         * The accessible bidding strategy referenced in the query.
         */
        accessibleBiddingStrategy?: Schema$GoogleAdsSearchads360V23Resources__AccessibleBiddingStrategy;
        /**
         * The account budget in the query.
         */
        accountBudget?: Schema$GoogleAdsSearchads360V23Resources__AccountBudget;
        /**
         * The account budget proposal referenced in the query.
         */
        accountBudgetProposal?: Schema$GoogleAdsSearchads360V23Resources__AccountBudgetProposal;
        /**
         * The AccountLink referenced in the query.
         */
        accountLink?: Schema$GoogleAdsSearchads360V23Resources__AccountLink;
        /**
         * The Ad referenced in the query.
         */
        ad?: Schema$GoogleAdsSearchads360V23Resources__Ad;
        /**
         * The ad group referenced in the query.
         */
        adGroup?: Schema$GoogleAdsSearchads360V23Resources__AdGroup;
        /**
         * The ad referenced in the query.
         */
        adGroupAd?: Schema$GoogleAdsSearchads360V23Resources__AdGroupAd;
        /**
         * The ad group ad asset combination view in the query.
         */
        adGroupAdAssetCombinationView?: Schema$GoogleAdsSearchads360V23Resources__AdGroupAdAssetCombinationView;
        /**
         * The ad group ad asset view in the query.
         */
        adGroupAdAssetView?: Schema$GoogleAdsSearchads360V23Resources__AdGroupAdAssetView;
        /**
         * The ad group ad effective label referenced in the query.
         */
        adGroupAdEffectiveLabel?: Schema$GoogleAdsSearchads360V23Resources__AdGroupAdEffectiveLabel;
        /**
         * The ad group ad label referenced in the query.
         */
        adGroupAdLabel?: Schema$GoogleAdsSearchads360V23Resources__AdGroupAdLabel;
        /**
         * The ad group asset referenced in the query.
         */
        adGroupAsset?: Schema$GoogleAdsSearchads360V23Resources__AdGroupAsset;
        /**
         * The ad group asset set referenced in the query.
         */
        adGroupAssetSet?: Schema$GoogleAdsSearchads360V23Resources__AdGroupAssetSet;
        /**
         * The ad group audience view referenced in the query.
         */
        adGroupAudienceView?: Schema$GoogleAdsSearchads360V23Resources__AdGroupAudienceView;
        /**
         * The bid modifier referenced in the query.
         */
        adGroupBidModifier?: Schema$GoogleAdsSearchads360V23Resources__AdGroupBidModifier;
        /**
         * The criterion referenced in the query.
         */
        adGroupCriterion?: Schema$GoogleAdsSearchads360V23Resources__AdGroupCriterion;
        /**
         * The ad group criterion customizer referenced in the query.
         */
        adGroupCriterionCustomizer?: Schema$GoogleAdsSearchads360V23Resources__AdGroupCriterionCustomizer;
        /**
         * The ad group criterion effective label referenced in the query.
         */
        adGroupCriterionEffectiveLabel?: Schema$GoogleAdsSearchads360V23Resources__AdGroupCriterionEffectiveLabel;
        /**
         * The ad group criterion label referenced in the query.
         */
        adGroupCriterionLabel?: Schema$GoogleAdsSearchads360V23Resources__AdGroupCriterionLabel;
        /**
         * The ad group criterion simulation referenced in the query.
         */
        adGroupCriterionSimulation?: Schema$GoogleAdsSearchads360V23Resources__AdGroupCriterionSimulation;
        /**
         * The ad group customizer referenced in the query.
         */
        adGroupCustomizer?: Schema$GoogleAdsSearchads360V23Resources__AdGroupCustomizer;
        /**
         * The ad group effective label referenced in the query.
         */
        adGroupEffectiveLabel?: Schema$GoogleAdsSearchads360V23Resources__AdGroupEffectiveLabel;
        /**
         * The ad group label referenced in the query.
         */
        adGroupLabel?: Schema$GoogleAdsSearchads360V23Resources__AdGroupLabel;
        /**
         * The ad group simulation referenced in the query.
         */
        adGroupSimulation?: Schema$GoogleAdsSearchads360V23Resources__AdGroupSimulation;
        /**
         * The ad parameter referenced in the query.
         */
        adParameter?: Schema$GoogleAdsSearchads360V23Resources__AdParameter;
        /**
         * The ad schedule view referenced in the query.
         */
        adScheduleView?: Schema$GoogleAdsSearchads360V23Resources__AdScheduleView;
        /**
         * The age range view referenced in the query.
         */
        ageRangeView?: Schema$GoogleAdsSearchads360V23Resources__AgeRangeView;
        /**
         * The AI Max search term ad combination view referenced in the query.
         */
        aiMaxSearchTermAdCombinationView?: Schema$GoogleAdsSearchads360V23Resources__AiMaxSearchTermAdCombinationView;
        /**
         * The android privacy shared key google ad group referenced in the query.
         */
        androidPrivacySharedKeyGoogleAdGroup?: Schema$GoogleAdsSearchads360V23Resources__AndroidPrivacySharedKeyGoogleAdGroup;
        /**
         * The android privacy shared key google campaign referenced in the query.
         */
        androidPrivacySharedKeyGoogleCampaign?: Schema$GoogleAdsSearchads360V23Resources__AndroidPrivacySharedKeyGoogleCampaign;
        /**
         * The android privacy shared key google network type referenced in the query.
         */
        androidPrivacySharedKeyGoogleNetworkType?: Schema$GoogleAdsSearchads360V23Resources__AndroidPrivacySharedKeyGoogleNetworkType;
        /**
         * The asset referenced in the query.
         */
        asset?: Schema$GoogleAdsSearchads360V23Resources__Asset;
        /**
         * The asset field type view referenced in the query.
         */
        assetFieldTypeView?: Schema$GoogleAdsSearchads360V23Resources__AssetFieldTypeView;
        /**
         * The asset group referenced in the query.
         */
        assetGroup?: Schema$GoogleAdsSearchads360V23Resources__AssetGroup;
        /**
         * The asset group asset referenced in the query.
         */
        assetGroupAsset?: Schema$GoogleAdsSearchads360V23Resources__AssetGroupAsset;
        /**
         * The asset group listing group filter referenced in the query.
         */
        assetGroupListingGroupFilter?: Schema$GoogleAdsSearchads360V23Resources__AssetGroupListingGroupFilter;
        /**
         * The asset group product group view referenced in the query.
         */
        assetGroupProductGroupView?: Schema$GoogleAdsSearchads360V23Resources__AssetGroupProductGroupView;
        /**
         * The asset group signal referenced in the query.
         */
        assetGroupSignal?: Schema$GoogleAdsSearchads360V23Resources__AssetGroupSignal;
        /**
         * The asset group top combination view referenced in the query.
         */
        assetGroupTopCombinationView?: Schema$GoogleAdsSearchads360V23Resources__AssetGroupTopCombinationView;
        /**
         * The asset set referenced in the query.
         */
        assetSet?: Schema$GoogleAdsSearchads360V23Resources__AssetSet;
        /**
         * The asset set asset referenced in the query.
         */
        assetSetAsset?: Schema$GoogleAdsSearchads360V23Resources__AssetSetAsset;
        /**
         * The asset set type view referenced in the query.
         */
        assetSetTypeView?: Schema$GoogleAdsSearchads360V23Resources__AssetSetTypeView;
        /**
         * The Audience referenced in the query.
         */
        audience?: Schema$GoogleAdsSearchads360V23Resources__Audience;
        /**
         * The batch job referenced in the query.
         */
        batchJob?: Schema$GoogleAdsSearchads360V23Resources__BatchJob;
        /**
         * The bidding data exclusion referenced in the query.
         */
        biddingDataExclusion?: Schema$GoogleAdsSearchads360V23Resources__BiddingDataExclusion;
        /**
         * The bidding seasonality adjustment referenced in the query.
         */
        biddingSeasonalityAdjustment?: Schema$GoogleAdsSearchads360V23Resources__BiddingSeasonalityAdjustment;
        /**
         * The bidding strategy referenced in the query.
         */
        biddingStrategy?: Schema$GoogleAdsSearchads360V23Resources__BiddingStrategy;
        /**
         * The bidding strategy simulation referenced in the query.
         */
        biddingStrategySimulation?: Schema$GoogleAdsSearchads360V23Resources__BiddingStrategySimulation;
        /**
         * The billing setup referenced in the query.
         */
        billingSetup?: Schema$GoogleAdsSearchads360V23Resources__BillingSetup;
        /**
         * The call view referenced in the query.
         */
        callView?: Schema$GoogleAdsSearchads360V23Resources__CallView;
        /**
         * The campaign referenced in the query.
         */
        campaign?: Schema$GoogleAdsSearchads360V23Resources__Campaign;
        /**
         * The campaign asset referenced in the query.
         */
        campaignAsset?: Schema$GoogleAdsSearchads360V23Resources__CampaignAsset;
        /**
         * The campaign asset set referenced in the query.
         */
        campaignAssetSet?: Schema$GoogleAdsSearchads360V23Resources__CampaignAssetSet;
        /**
         * The campaign audience view referenced in the query.
         */
        campaignAudienceView?: Schema$GoogleAdsSearchads360V23Resources__CampaignAudienceView;
        /**
         * The campaign bid modifier referenced in the query.
         */
        campaignBidModifier?: Schema$GoogleAdsSearchads360V23Resources__CampaignBidModifier;
        /**
         * The campaign budget referenced in the query.
         */
        campaignBudget?: Schema$GoogleAdsSearchads360V23Resources__CampaignBudget;
        /**
         * The CampaignConversionGoal referenced in the query.
         */
        campaignConversionGoal?: Schema$GoogleAdsSearchads360V23Resources__CampaignConversionGoal;
        /**
         * The campaign criterion referenced in the query.
         */
        campaignCriterion?: Schema$GoogleAdsSearchads360V23Resources__CampaignCriterion;
        /**
         * The campaign customizer referenced in the query.
         */
        campaignCustomizer?: Schema$GoogleAdsSearchads360V23Resources__CampaignCustomizer;
        /**
         * The campaign draft referenced in the query.
         */
        campaignDraft?: Schema$GoogleAdsSearchads360V23Resources__CampaignDraft;
        /**
         * The campaign effective label referenced in the query.
         */
        campaignEffectiveLabel?: Schema$GoogleAdsSearchads360V23Resources__CampaignEffectiveLabel;
        /**
         * The campaign goal config referenced in the query.
         */
        campaignGoalConfig?: Schema$GoogleAdsSearchads360V23Resources__CampaignGoalConfig;
        /**
         * Campaign Group referenced in AWQL query.
         */
        campaignGroup?: Schema$GoogleAdsSearchads360V23Resources__CampaignGroup;
        /**
         * The campaign label referenced in the query.
         */
        campaignLabel?: Schema$GoogleAdsSearchads360V23Resources__CampaignLabel;
        /**
         * The campaign lifecycle goal referenced in the query.
         */
        campaignLifecycleGoal?: Schema$GoogleAdsSearchads360V23Resources__CampaignLifecycleGoal;
        /**
         * The campaign search term insight referenced in the query.
         */
        campaignSearchTermInsight?: Schema$GoogleAdsSearchads360V23Resources__CampaignSearchTermInsight;
        /**
         * The campaign-level search term view referenced in the query.
         */
        campaignSearchTermView?: Schema$GoogleAdsSearchads360V23Resources__CampaignSearchTermView;
        /**
         * Campaign Shared Set referenced in AWQL query.
         */
        campaignSharedSet?: Schema$GoogleAdsSearchads360V23Resources__CampaignSharedSet;
        /**
         * The campaign simulation referenced in the query.
         */
        campaignSimulation?: Schema$GoogleAdsSearchads360V23Resources__CampaignSimulation;
        /**
         * The carrier constant referenced in the query.
         */
        carrierConstant?: Schema$GoogleAdsSearchads360V23Resources__CarrierConstant;
        /**
         * The cart data sales view referenced in the query.
         */
        cartDataSalesView?: Schema$GoogleAdsSearchads360V23Resources__CartDataSalesView;
        /**
         * The ChangeEvent referenced in the query.
         */
        changeEvent?: Schema$GoogleAdsSearchads360V23Resources__ChangeEvent;
        /**
         * The ChangeStatus referenced in the query.
         */
        changeStatus?: Schema$GoogleAdsSearchads360V23Resources__ChangeStatus;
        /**
         * The ClickView referenced in the query.
         */
        clickView?: Schema$GoogleAdsSearchads360V23Resources__ClickView;
        /**
         * The CombinedAudience referenced in the query.
         */
        combinedAudience?: Schema$GoogleAdsSearchads360V23Resources__CombinedAudience;
        /**
         * The content criterion view referenced in the query.
         */
        contentCriterionView?: Schema$GoogleAdsSearchads360V23Resources__ContentCriterionView;
        /**
         * The event level conversion referenced in the query.
         */
        conversion?: Schema$GoogleAdsSearchads360V23Resources__Conversion;
        /**
         * The conversion action referenced in the query.
         */
        conversionAction?: Schema$GoogleAdsSearchads360V23Resources__ConversionAction;
        /**
         * The conversion custom variable referenced in the query.
         */
        conversionCustomVariable?: Schema$GoogleAdsSearchads360V23Resources__ConversionCustomVariable;
        /**
         * The ConversionGoalCampaignConfig referenced in the query.
         */
        conversionGoalCampaignConfig?: Schema$GoogleAdsSearchads360V23Resources__ConversionGoalCampaignConfig;
        /**
         * The conversion value rule referenced in the query.
         */
        conversionValueRule?: Schema$GoogleAdsSearchads360V23Resources__ConversionValueRule;
        /**
         * The conversion value rule set referenced in the query.
         */
        conversionValueRuleSet?: Schema$GoogleAdsSearchads360V23Resources__ConversionValueRuleSet;
        /**
         * The currency constant referenced in the query.
         */
        currencyConstant?: Schema$GoogleAdsSearchads360V23Resources__CurrencyConstant;
        /**
         * The CustomAudience referenced in the query.
         */
        customAudience?: Schema$GoogleAdsSearchads360V23Resources__CustomAudience;
        /**
         * The custom columns.
         */
        customColumns?: Schema$GoogleAdsSearchads360V23Common__Value[];
        /**
         * The CustomConversionGoal referenced in the query.
         */
        customConversionGoal?: Schema$GoogleAdsSearchads360V23Resources__CustomConversionGoal;
        /**
         * The customer referenced in the query.
         */
        customer?: Schema$GoogleAdsSearchads360V23Resources__Customer;
        /**
         * The customer asset referenced in the query.
         */
        customerAsset?: Schema$GoogleAdsSearchads360V23Resources__CustomerAsset;
        /**
         * The customer asset set referenced in the query.
         */
        customerAssetSet?: Schema$GoogleAdsSearchads360V23Resources__CustomerAssetSet;
        /**
         * The CustomerClient referenced in the query.
         */
        customerClient?: Schema$GoogleAdsSearchads360V23Resources__CustomerClient;
        /**
         * The CustomerClientLink referenced in the query.
         */
        customerClientLink?: Schema$GoogleAdsSearchads360V23Resources__CustomerClientLink;
        /**
         * The CustomerConversionGoal referenced in the query.
         */
        customerConversionGoal?: Schema$GoogleAdsSearchads360V23Resources__CustomerConversionGoal;
        /**
         * The customer customizer referenced in the query.
         */
        customerCustomizer?: Schema$GoogleAdsSearchads360V23Resources__CustomerCustomizer;
        /**
         * The customer label referenced in the query.
         */
        customerLabel?: Schema$GoogleAdsSearchads360V23Resources__CustomerLabel;
        /**
         * The customer lifecycle goal referenced in the query.
         */
        customerLifecycleGoal?: Schema$GoogleAdsSearchads360V23Resources__CustomerLifecycleGoal;
        /**
         * The CustomerManagerLink referenced in the query.
         */
        customerManagerLink?: Schema$GoogleAdsSearchads360V23Resources__CustomerManagerLink;
        /**
         * The customer negative criterion referenced in the query.
         */
        customerNegativeCriterion?: Schema$GoogleAdsSearchads360V23Resources__CustomerNegativeCriterion;
        /**
         * The customer search term insight referenced in the query.
         */
        customerSearchTermInsight?: Schema$GoogleAdsSearchads360V23Resources__CustomerSearchTermInsight;
        /**
         * The CustomerUserAccess referenced in the query.
         */
        customerUserAccess?: Schema$GoogleAdsSearchads360V23Resources__CustomerUserAccess;
        /**
         * The CustomerUserAccessInvitation referenced in the query.
         */
        customerUserAccessInvitation?: Schema$GoogleAdsSearchads360V23Resources__CustomerUserAccessInvitation;
        /**
         * The CustomInterest referenced in the query.
         */
        customInterest?: Schema$GoogleAdsSearchads360V23Resources__CustomInterest;
        /**
         * The customizer attribute referenced in the query.
         */
        customizerAttribute?: Schema$GoogleAdsSearchads360V23Resources__CustomizerAttribute;
        /**
         * The data link referenced in the query.
         */
        dataLink?: Schema$GoogleAdsSearchads360V23Resources__DataLink;
        /**
         * The detail content suitability placement view referenced in the query.
         */
        detailContentSuitabilityPlacementView?: Schema$GoogleAdsSearchads360V23Resources__DetailContentSuitabilityPlacementView;
        /**
         * The detailed demographic referenced in the query.
         */
        detailedDemographic?: Schema$GoogleAdsSearchads360V23Resources__DetailedDemographic;
        /**
         * The detail placement view referenced in the query.
         */
        detailPlacementView?: Schema$GoogleAdsSearchads360V23Resources__DetailPlacementView;
        /**
         * The display keyword view referenced in the query.
         */
        displayKeywordView?: Schema$GoogleAdsSearchads360V23Resources__DisplayKeywordView;
        /**
         * The distance view referenced in the query.
         */
        distanceView?: Schema$GoogleAdsSearchads360V23Resources__DistanceView;
        /**
         * The dynamic search ads search term view referenced in the query.
         */
        dynamicSearchAdsSearchTermView?: Schema$GoogleAdsSearchads360V23Resources__DynamicSearchAdsSearchTermView;
        /**
         * The expanded landing page view referenced in the query.
         */
        expandedLandingPageView?: Schema$GoogleAdsSearchads360V23Resources__ExpandedLandingPageView;
        /**
         * The experiment referenced in the query.
         */
        experiment?: Schema$GoogleAdsSearchads360V23Resources__Experiment;
        /**
         * The experiment arm referenced in the query.
         */
        experimentArm?: Schema$GoogleAdsSearchads360V23Resources__ExperimentArm;
        /**
         * The final url expansion asset view referenced in the query.
         */
        finalUrlExpansionAssetView?: Schema$GoogleAdsSearchads360V23Resources__FinalUrlExpansionAssetView;
        /**
         * The gender view referenced in the query.
         */
        genderView?: Schema$GoogleAdsSearchads360V23Resources__GenderView;
        /**
         * The geographic view referenced in the query.
         */
        geographicView?: Schema$GoogleAdsSearchads360V23Resources__GeographicView;
        /**
         * The geo target constant referenced in the query.
         */
        geoTargetConstant?: Schema$GoogleAdsSearchads360V23Resources__GeoTargetConstant;
        /**
         * The goal in the query.
         */
        goal?: Schema$GoogleAdsSearchads360V23Resources__Goal;
        /**
         * The group content suitability placement view referenced in the query.
         */
        groupContentSuitabilityPlacementView?: Schema$GoogleAdsSearchads360V23Resources__GroupContentSuitabilityPlacementView;
        /**
         * The group placement view referenced in the query.
         */
        groupPlacementView?: Schema$GoogleAdsSearchads360V23Resources__GroupPlacementView;
        /**
         * The hotel group view referenced in the query.
         */
        hotelGroupView?: Schema$GoogleAdsSearchads360V23Resources__HotelGroupView;
        /**
         * The hotel performance view referenced in the query.
         */
        hotelPerformanceView?: Schema$GoogleAdsSearchads360V23Resources__HotelPerformanceView;
        /**
         * The hotel reconciliation referenced in the query.
         */
        hotelReconciliation?: Schema$GoogleAdsSearchads360V23Resources__HotelReconciliation;
        /**
         * The income range view referenced in the query.
         */
        incomeRangeView?: Schema$GoogleAdsSearchads360V23Resources__IncomeRangeView;
        /**
         * The keyword plan referenced in the query.
         */
        keywordPlan?: Schema$GoogleAdsSearchads360V23Resources__KeywordPlan;
        /**
         * The keyword plan ad group referenced in the query.
         */
        keywordPlanAdGroup?: Schema$GoogleAdsSearchads360V23Resources__KeywordPlanAdGroup;
        /**
         * The keyword plan ad group referenced in the query.
         */
        keywordPlanAdGroupKeyword?: Schema$GoogleAdsSearchads360V23Resources__KeywordPlanAdGroupKeyword;
        /**
         * The keyword plan campaign referenced in the query.
         */
        keywordPlanCampaign?: Schema$GoogleAdsSearchads360V23Resources__KeywordPlanCampaign;
        /**
         * The keyword plan campaign keyword referenced in the query.
         */
        keywordPlanCampaignKeyword?: Schema$GoogleAdsSearchads360V23Resources__KeywordPlanCampaignKeyword;
        /**
         * The keyword theme constant referenced in the query.
         */
        keywordThemeConstant?: Schema$GoogleAdsSearchads360V23Resources__KeywordThemeConstant;
        /**
         * The keyword view referenced in the query.
         */
        keywordView?: Schema$GoogleAdsSearchads360V23Resources__KeywordView;
        /**
         * The label referenced in the query.
         */
        label?: Schema$GoogleAdsSearchads360V23Resources__Label;
        /**
         * The landing page view referenced in the query.
         */
        landingPageView?: Schema$GoogleAdsSearchads360V23Resources__LandingPageView;
        /**
         * The language constant referenced in the query.
         */
        languageConstant?: Schema$GoogleAdsSearchads360V23Resources__LanguageConstant;
        /**
         * The lead form user submission referenced in the query.
         */
        leadFormSubmissionData?: Schema$GoogleAdsSearchads360V23Resources__LeadFormSubmissionData;
        /**
         * The life event referenced in the query.
         */
        lifeEvent?: Schema$GoogleAdsSearchads360V23Resources__LifeEvent;
        /**
         * The local services employee referenced in the query.
         */
        localServicesEmployee?: Schema$GoogleAdsSearchads360V23Resources__LocalServicesEmployee;
        /**
         * The local services lead referenced in the query.
         */
        localServicesLead?: Schema$GoogleAdsSearchads360V23Resources__LocalServicesLead;
        /**
         * The local services lead conversationreferenced in the query.
         */
        localServicesLeadConversation?: Schema$GoogleAdsSearchads360V23Resources__LocalServicesLeadConversation;
        /**
         * The local services verification artifact referenced in the query.
         */
        localServicesVerificationArtifact?: Schema$GoogleAdsSearchads360V23Resources__LocalServicesVerificationArtifact;
        /**
         * The location interest view referenced in the query.
         */
        locationInterestView?: Schema$GoogleAdsSearchads360V23Resources__LocationInterestView;
        /**
         * The location view referenced in the query.
         */
        locationView?: Schema$GoogleAdsSearchads360V23Resources__LocationView;
        /**
         * The managed placement view referenced in the query.
         */
        managedPlacementView?: Schema$GoogleAdsSearchads360V23Resources__ManagedPlacementView;
        /**
         * The matched location interest view referenced in the query.
         */
        matchedLocationInterestView?: Schema$GoogleAdsSearchads360V23Resources__MatchedLocationInterestView;
        /**
         * The media file referenced in the query.
         */
        mediaFile?: Schema$GoogleAdsSearchads360V23Resources__MediaFile;
        /**
         * The metrics.
         */
        metrics?: Schema$GoogleAdsSearchads360V23Common__Metrics;
        /**
         * The mobile app category constant referenced in the query.
         */
        mobileAppCategoryConstant?: Schema$GoogleAdsSearchads360V23Resources__MobileAppCategoryConstant;
        /**
         * The mobile device constant referenced in the query.
         */
        mobileDeviceConstant?: Schema$GoogleAdsSearchads360V23Resources__MobileDeviceConstant;
        /**
         * Offline conversion upload summary at customer level.
         */
        offlineConversionUploadClientSummary?: Schema$GoogleAdsSearchads360V23Resources__OfflineConversionUploadClientSummary;
        /**
         * Offline conversion upload summary at conversion type level.
         */
        offlineConversionUploadConversionActionSummary?: Schema$GoogleAdsSearchads360V23Resources__OfflineConversionUploadConversionActionSummary;
        /**
         * The offline user data job referenced in the query.
         */
        offlineUserDataJob?: Schema$GoogleAdsSearchads360V23Resources__OfflineUserDataJob;
        /**
         * The operating system version constant referenced in the query.
         */
        operatingSystemVersionConstant?: Schema$GoogleAdsSearchads360V23Resources__OperatingSystemVersionConstant;
        /**
         * The paid organic search term view referenced in the query.
         */
        paidOrganicSearchTermView?: Schema$GoogleAdsSearchads360V23Resources__PaidOrganicSearchTermView;
        /**
         * The parental status view referenced in the query.
         */
        parentalStatusView?: Schema$GoogleAdsSearchads360V23Resources__ParentalStatusView;
        /**
         * The performance max placement view referenced in the query.
         */
        performanceMaxPlacementView?: Schema$GoogleAdsSearchads360V23Resources__PerformanceMaxPlacementView;
        /**
         * The per store view referenced in the query.
         */
        perStoreView?: Schema$GoogleAdsSearchads360V23Resources__PerStoreView;
        /**
         * The product category referenced in the query.
         */
        productCategoryConstant?: Schema$GoogleAdsSearchads360V23Resources__ProductCategoryConstant;
        /**
         * The product group view referenced in the query.
         */
        productGroupView?: Schema$GoogleAdsSearchads360V23Resources__ProductGroupView;
        /**
         * The product link referenced in the query.
         */
        productLink?: Schema$GoogleAdsSearchads360V23Resources__ProductLink;
        /**
         * The product link invitation in the query.
         */
        productLinkInvitation?: Schema$GoogleAdsSearchads360V23Resources__ProductLinkInvitation;
        /**
         * The qualifying question referenced in the query.
         */
        qualifyingQuestion?: Schema$GoogleAdsSearchads360V23Resources__QualifyingQuestion;
        /**
         * The recommendation referenced in the query.
         */
        recommendation?: Schema$GoogleAdsSearchads360V23Resources__Recommendation;
        /**
         * The recommendation subscription referenced in the query.
         */
        recommendationSubscription?: Schema$GoogleAdsSearchads360V23Resources__RecommendationSubscription;
        /**
         * The remarketing action referenced in the query.
         */
        remarketingAction?: Schema$GoogleAdsSearchads360V23Resources__RemarketingAction;
        /**
         * The Search Ads 360 campaign referenced in the query.
         */
        searchAds360Campaign?: Schema$GoogleAdsSearchads360V23Resources__SearchAds360Campaign;
        /**
         * The search term view referenced in the query.
         */
        searchTermView?: Schema$GoogleAdsSearchads360V23Resources__SearchTermView;
        /**
         * The segments.
         */
        segments?: Schema$GoogleAdsSearchads360V23Common__Segments;
        /**
         * The shared set referenced in the query.
         */
        sharedCriterion?: Schema$GoogleAdsSearchads360V23Resources__SharedCriterion;
        /**
         * The shared set referenced in the query.
         */
        sharedSet?: Schema$GoogleAdsSearchads360V23Resources__SharedSet;
        /**
         * The shopping performance view referenced in the query.
         */
        shoppingPerformanceView?: Schema$GoogleAdsSearchads360V23Resources__ShoppingPerformanceView;
        /**
         * The shopping product referenced in the query.
         */
        shoppingProduct?: Schema$GoogleAdsSearchads360V23Resources__ShoppingProduct;
        /**
         * The Smart campaign search term view referenced in the query.
         */
        smartCampaignSearchTermView?: Schema$GoogleAdsSearchads360V23Resources__SmartCampaignSearchTermView;
        /**
         * The Smart campaign setting referenced in the query.
         */
        smartCampaignSetting?: Schema$GoogleAdsSearchads360V23Resources__SmartCampaignSetting;
        /**
         * The Targeting expansion view referenced in the query.
         */
        targetingExpansionView?: Schema$GoogleAdsSearchads360V23Resources__TargetingExpansionView;
        /**
         * The AccountLink referenced in the query.
         */
        thirdPartyAppAnalyticsLink?: Schema$GoogleAdsSearchads360V23Resources__ThirdPartyAppAnalyticsLink;
        /**
         * The topic constant referenced in the query.
         */
        topicConstant?: Schema$GoogleAdsSearchads360V23Resources__TopicConstant;
        /**
         * The topic view referenced in the query.
         */
        topicView?: Schema$GoogleAdsSearchads360V23Resources__TopicView;
        /**
         * The travel activity group view referenced in the query.
         */
        travelActivityGroupView?: Schema$GoogleAdsSearchads360V23Resources__TravelActivityGroupView;
        /**
         * The travel activity performance view referenced in the query.
         */
        travelActivityPerformanceView?: Schema$GoogleAdsSearchads360V23Resources__TravelActivityPerformanceView;
        /**
         * The user interest referenced in the query.
         */
        userInterest?: Schema$GoogleAdsSearchads360V23Resources__UserInterest;
        /**
         * The user list referenced in the query.
         */
        userList?: Schema$GoogleAdsSearchads360V23Resources__UserList;
        /**
         * The user list customer type in the query.
         */
        userListCustomerType?: Schema$GoogleAdsSearchads360V23Resources__UserListCustomerType;
        /**
         * The user location view referenced in the query.
         */
        userLocationView?: Schema$GoogleAdsSearchads360V23Resources__UserLocationView;
        /**
         * The video referenced in the query.
         */
        video?: Schema$GoogleAdsSearchads360V23Resources__Video;
        /**
         * The event level visit referenced in the query.
         */
        visit?: Schema$GoogleAdsSearchads360V23Resources__Visit;
        /**
         * The webpage view referenced in the query.
         */
        webpageView?: Schema$GoogleAdsSearchads360V23Resources__WebpageView;
    }
    /**
     * Request message for SearchAds360FieldService.SearchSearchAds360Fields.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__SearchSearchAds360FieldsRequest {
        /**
         * Number of elements to retrieve in a single page. When too large a page is requested, the server may decide to further limit the number of returned resources.
         */
        pageSize?: number | null;
        /**
         * Token of the page to retrieve. If not specified, the first page of results will be returned. Use the value obtained from `next_page_token` in the previous response in order to request the next page of results.
         */
        pageToken?: string | null;
        /**
         * Required. The query string.
         */
        query?: string | null;
    }
    /**
     * Response message for SearchAds360FieldService.SearchSearchAds360Fields.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__SearchSearchAds360FieldsResponse {
        /**
         * Pagination token used to retrieve the next page of results. Pass the content of this string as the `page_token` attribute of the next request. `next_page_token` is not returned for the last page.
         */
        nextPageToken?: string | null;
        /**
         * The list of fields that matched the query.
         */
        results?: Schema$GoogleAdsSearchads360V23Resources__SearchAds360Field[];
        /**
         * Total number of results that match the query ignoring the LIMIT clause.
         */
        totalResultsCount?: string | null;
    }
    /**
     * Request message for SearchAds360Service.Search.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__SearchSearchAds360Request {
        /**
         * Number of elements to retrieve in a single page. When too large a page is requested, the server may decide to further limit the number of returned resources.
         */
        pageSize?: number | null;
        /**
         * Token of the page to retrieve. If not specified, the first page of results will be returned. Use the value obtained from `next_page_token` in the previous response in order to request the next page of results.
         */
        pageToken?: string | null;
        /**
         * Required. The query string.
         */
        query?: string | null;
        /**
         * Settings that allow users to specify request count, summary row, and results behavior.
         */
        searchSettings?: Schema$GoogleAdsSearchads360V23Services__SearchSettings;
        /**
         * If true, the request is validated but not executed.
         */
        validateOnly?: boolean | null;
    }
    /**
     * Response message for SearchAds360Service.Search.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__SearchSearchAds360Response {
        /**
         * The headers of the conversion custom dimensions in the results.
         */
        conversionCustomDimensionHeaders?: Schema$GoogleAdsSearchads360V23Services__ConversionCustomDimensionHeader[];
        /**
         * The headers of the conversion custom metrics in the results.
         */
        conversionCustomMetricHeaders?: Schema$GoogleAdsSearchads360V23Services__ConversionCustomMetricHeader[];
        /**
         * The headers of the custom columns in the results.
         */
        customColumnHeaders?: Schema$GoogleAdsSearchads360V23Services__CustomColumnHeader[];
        /**
         * FieldMask that represents what fields were requested by the user.
         */
        fieldMask?: string | null;
        /**
         * The metric attributes of the metrics in the results.
         */
        metricAttributes?: Schema$GoogleAdsSearchads360V23Services__MetricAttributes[];
        /**
         * Pagination token used to retrieve the next page of results. Pass the content of this string as the `page_token` attribute of the next request. `next_page_token` is not returned for the last page.
         */
        nextPageToken?: string | null;
        /**
         * The amount of resources consumed to serve the query.
         */
        queryResourceConsumption?: string | null;
        /**
         * The headers of the raw event conversion dimensions in the results.
         */
        rawEventConversionDimensionHeaders?: Schema$GoogleAdsSearchads360V23Services__RawEventConversionDimensionHeader[];
        /**
         * The headers of the raw event conversion metrics in the results.
         */
        rawEventConversionMetricHeaders?: Schema$GoogleAdsSearchads360V23Services__RawEventConversionMetricHeader[];
        /**
         * The list of rows that matched the query.
         */
        results?: Schema$GoogleAdsSearchads360V23Services__SearchAds360Row[];
        /**
         * Summary row that contains summary of metrics in results. Summary of metrics means aggregation of metrics across all results, here aggregation could be sum, average, rate, etc.
         */
        summaryRow?: Schema$GoogleAdsSearchads360V23Services__SearchAds360Row;
        /**
         * Total number of results that match the query ignoring the LIMIT clause.
         */
        totalResultsCount?: string | null;
    }
    /**
     * Indicates search settings in request parameter.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__SearchSettings {
        /**
         * If true, results will be excluded from the response. Otherwise, results will be returned. Default is false.
         */
        omitResults?: boolean | null;
        /**
         * If true, summary row will be included in the response and sent in a response by itself after all other query results are returned. Default is false.
         */
        returnSummaryRow?: boolean | null;
        /**
         * If true, the total number of results that match the query ignoring the LIMIT clause will be included in the response. Default is false.
         */
        returnTotalResultsCount?: boolean | null;
    }
    /**
     * Contains one session attribute of the conversion.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__SessionAttributeKeyValuePair {
        /**
         * Required. The name of the session attribute.
         */
        sessionAttributeKey?: string | null;
        /**
         * Required. The value of the session attribute.
         */
        sessionAttributeValue?: string | null;
    }
    /**
     * Contains session attributes of the conversion, represented as key-value pairs.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__SessionAttributesKeyValuePairs {
        /**
         * Required. The session attributes for the conversion.
         */
        keyValuePairs?: Schema$GoogleAdsSearchads360V23Services__SessionAttributeKeyValuePair[];
    }
    /**
     * A single operation (create, remove) on an shared criterion.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__SharedCriterionOperation {
        /**
         * Create operation: No resource name is expected for the new shared criterion.
         */
        create?: Schema$GoogleAdsSearchads360V23Resources__SharedCriterion;
        /**
         * Remove operation: A resource name for the removed shared criterion is expected, in this format: `customers/{customer_id\}/sharedCriteria/{shared_set_id\}~{criterion_id\}`
         */
        remove?: string | null;
    }
    /**
     * A single operation (create, update, remove) on an shared set.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__SharedSetOperation {
        /**
         * Create operation: No resource name is expected for the new shared set.
         */
        create?: Schema$GoogleAdsSearchads360V23Resources__SharedSet;
        /**
         * Remove operation: A resource name for the removed shared set is expected, in this format: `customers/{customer_id\}/sharedSets/{shared_set_id\}`
         */
        remove?: string | null;
        /**
         * Update operation: The shared set is expected to have a valid resource name.
         */
        update?: Schema$GoogleAdsSearchads360V23Resources__SharedSet;
        /**
         * FieldMask that determines which resource fields are modified in an update.
         */
        updateMask?: string | null;
    }
    /**
     * Site Seed
     */
    export interface Schema$GoogleAdsSearchads360V23Services__SiteSeed {
        /**
         * The domain name of the site. If the customer requesting the ideas doesn't own the site provided only public information is returned.
         */
        site?: string | null;
    }
    /**
     * Details related to Smart campaigns that are eligible to serve.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__SmartCampaignEligibleDetails {
        /**
         * The timestamp of when the campaign will end, if applicable. The timestamp is in the customer’s timezone and in “yyyy-MM-dd HH:mm:ss” format.
         */
        endDateTime?: string | null;
        /**
         * The timestamp of the last impression observed in the last 48 hours for this campaign. The timestamp is in the customer’s timezone and in “yyyy-MM-dd HH:mm:ss” format.
         */
        lastImpressionDateTime?: string | null;
    }
    /**
     * Details related to Smart campaigns that have ended.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__SmartCampaignEndedDetails {
        /**
         * The timestamp of when the campaign ended. The timestamp is in the customer’s timezone and in “yyyy-MM-dd HH:mm:ss” format.
         */
        endDateTime?: string | null;
    }
    /**
     * Details related to Smart campaigns that are not eligible to serve.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__SmartCampaignNotEligibleDetails {
        /**
         * The reason why the Smart campaign is not eligible to serve.
         */
        notEligibleReason?: string | null;
    }
    /**
     * Details related to paused Smart campaigns.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__SmartCampaignPausedDetails {
        /**
         * The timestamp of when the campaign was last paused. The timestamp is in the customer’s timezone and in “yyyy-MM-dd HH:mm:ss” format.
         */
        pausedDateTime?: string | null;
    }
    /**
     * Details related to removed Smart campaigns.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__SmartCampaignRemovedDetails {
        /**
         * The timestamp of when the campaign was removed. The timestamp is in the customer’s timezone and in “yyyy-MM-dd HH:mm:ss” format.
         */
        removedDateTime?: string | null;
    }
    /**
     * A single operation to update Smart campaign settings for a campaign.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__SmartCampaignSettingOperation {
        /**
         * Update operation: The Smart campaign setting must specify a valid resource name.
         */
        update?: Schema$GoogleAdsSearchads360V23Resources__SmartCampaignSetting;
        /**
         * FieldMask that determines which resource fields are modified in an update.
         */
        updateMask?: string | null;
    }
    /**
     * Information needed to get suggestion for Smart Campaign. More information provided will help the system to derive better suggestions.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__SmartCampaignSuggestionInfo {
        /**
         * Optional. The business ad schedule.
         */
        adSchedules?: Schema$GoogleAdsSearchads360V23Common__AdScheduleInfo[];
        /**
         * Optional. Context describing the business to advertise.
         */
        businessContext?: Schema$GoogleAdsSearchads360V23Services_SmartCampaignSuggestionInfo_BusinessContext;
        /**
         * Optional. The resource name of a Business Profile location. Business Profile location resource names can be fetched through the Business Profile API and adhere to the following format: `locations/{locationId\}`. See the [Business Profile API] (https://developers.google.com/my-business/reference/businessinformation/rest/v1/accounts.locations) for additional details.
         */
        businessProfileLocation?: string | null;
        /**
         * Optional. Landing page URL of the campaign.
         */
        finalUrl?: string | null;
        /**
         * Optional. Smart campaign keyword themes. This field may greatly improve suggestion accuracy and we recommend always setting it if possible.
         */
        keywordThemes?: Schema$GoogleAdsSearchads360V23Common__KeywordThemeInfo[];
        /**
         * Optional. The two letter advertising language for the Smart campaign to be constructed, default to 'en' if not set.
         */
        languageCode?: string | null;
        /**
         * Optional. The targeting geo location by locations.
         */
        locationList?: Schema$GoogleAdsSearchads360V23Services_SmartCampaignSuggestionInfo_LocationList;
        /**
         * Optional. The targeting geo location by proximity.
         */
        proximity?: Schema$GoogleAdsSearchads360V23Common__ProximityInfo;
    }
    /**
     * Request message for StartIdentityVerification.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__StartIdentityVerificationRequest {
        /**
         * Required. The verification program type for which we want to start the verification.
         */
        verificationProgram?: string | null;
    }
    /**
     * Request message for GeoTargetConstantService.SuggestGeoTargetConstants.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__SuggestGeoTargetConstantsRequest {
        /**
         * Returned geo targets are restricted to this country code.
         */
        countryCode?: string | null;
        /**
         * The geo target constant resource names to filter by.
         */
        geoTargets?: Schema$GoogleAdsSearchads360V23Services_SuggestGeoTargetConstantsRequest_GeoTargets;
        /**
         * If possible, returned geo targets are translated using this locale. If not, en is used by default. This is also used as a hint for returned geo targets.
         */
        locale?: string | null;
        /**
         * The location names to search by. At most 25 names can be set.
         */
        locationNames?: Schema$GoogleAdsSearchads360V23Services_SuggestGeoTargetConstantsRequest_LocationNames;
    }
    /**
     * Response message for GeoTargetConstantService.SuggestGeoTargetConstants.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__SuggestGeoTargetConstantsResponse {
        /**
         * Geo target constant suggestions.
         */
        geoTargetConstantSuggestions?: Schema$GoogleAdsSearchads360V23Services__GeoTargetConstantSuggestion[];
    }
    /**
     * Request message for KeywordThemeConstantService.SuggestKeywordThemeConstants.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__SuggestKeywordThemeConstantsRequest {
        /**
         * Upper-case, two-letter country code as defined by ISO-3166. This for refining the scope of the query, default to 'US' if not set.
         */
        countryCode?: string | null;
        /**
         * The two letter language code for get corresponding keyword theme for refining the scope of the query, default to 'en' if not set.
         */
        languageCode?: string | null;
        /**
         * The query text of a keyword theme that will be used to map to similar keyword themes. For example, "plumber" or "roofer".
         */
        queryText?: string | null;
    }
    /**
     * Response message for KeywordThemeConstantService.SuggestKeywordThemeConstants.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__SuggestKeywordThemeConstantsResponse {
        /**
         * Smart Campaign keyword theme suggestions.
         */
        keywordThemeConstants?: Schema$GoogleAdsSearchads360V23Resources__KeywordThemeConstant[];
    }
    /**
     * Request message for SmartCampaignSuggestService.SuggestKeywordThemes.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__SuggestKeywordThemesRequest {
        /**
         * Required. Information to get keyword theme suggestions. Required fields: * suggestion_info.final_url * suggestion_info.language_code * suggestion_info.geo_target Recommended fields: * suggestion_info.business_setting
         */
        suggestionInfo?: Schema$GoogleAdsSearchads360V23Services__SmartCampaignSuggestionInfo;
    }
    /**
     * Response message for SmartCampaignSuggestService.SuggestKeywordThemes.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__SuggestKeywordThemesResponse {
        /**
         * Smart campaign keyword theme suggestions.
         */
        keywordThemes?: Schema$GoogleAdsSearchads360V23Services_SuggestKeywordThemesResponse_KeywordTheme[];
    }
    /**
     * Request message for SmartCampaignSuggestService.SuggestSmartCampaignAd.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__SuggestSmartCampaignAdRequest {
        /**
         * Required. Inputs used to suggest a Smart campaign ad. Required fields: final_url, language_code, keyword_themes. Optional but recommended fields to improve the quality of the suggestion: business_setting and geo_target.
         */
        suggestionInfo?: Schema$GoogleAdsSearchads360V23Services__SmartCampaignSuggestionInfo;
    }
    /**
     * Response message for SmartCampaignSuggestService.SuggestSmartCampaignAd.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__SuggestSmartCampaignAdResponse {
        /**
         * Optional. Ad info includes 3 creative headlines and 2 creative descriptions.
         */
        adInfo?: Schema$GoogleAdsSearchads360V23Common__SmartCampaignAdInfo;
    }
    /**
     * Request message for SmartCampaignSuggestService.SuggestSmartCampaignBudgetOptions.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__SuggestSmartCampaignBudgetOptionsRequest {
        /**
         * Required. The resource name of the campaign to get suggestion for.
         */
        campaign?: string | null;
        /**
         * Required. Information needed to get budget options
         */
        suggestionInfo?: Schema$GoogleAdsSearchads360V23Services__SmartCampaignSuggestionInfo;
    }
    /**
     * Response message for SmartCampaignSuggestService.SuggestSmartCampaignBudgetOptions. Depending on whether the system could suggest the options, either all of the options or none of them might be returned.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__SuggestSmartCampaignBudgetOptionsResponse {
        /**
         * Optional. The highest budget option.
         */
        high?: Schema$GoogleAdsSearchads360V23Services_SuggestSmartCampaignBudgetOptionsResponse_BudgetOption;
        /**
         * Optional. The lowest budget option.
         */
        low?: Schema$GoogleAdsSearchads360V23Services_SuggestSmartCampaignBudgetOptionsResponse_BudgetOption;
        /**
         * Optional. The recommended budget option.
         */
        recommended?: Schema$GoogleAdsSearchads360V23Services_SuggestSmartCampaignBudgetOptionsResponse_BudgetOption;
    }
    /**
     * Request message for TravelAssetSuggestionService.SuggestTravelAssets.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__SuggestTravelAssetsRequest {
        /**
         * Required. The language specifications in BCP 47 format (for example, en-US, zh-CN, etc.) for the asset suggestions. Text will be in this language. Usually matches one of the campaign target languages.
         */
        languageOption?: string | null;
        /**
         * The Google Maps Place IDs of hotels for which assets are requested. See https://developers.google.com/places/web-service/place-id for more information.
         */
        placeIds?: string[] | null;
    }
    /**
     * Response message for TravelAssetSuggestionService.SuggestTravelAssets.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__SuggestTravelAssetsResponse {
        /**
         * Asset suggestions for each place ID submitted in the request.
         */
        hotelAssetSuggestions?: Schema$GoogleAdsSearchads360V23Services__HotelAssetSuggestion[];
    }
    /**
     * Container for surfaces for a product. Surfaces refer to the available types of ad inventories such as In-Feed, In-Stream, and Shorts.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__SurfaceTargeting {
        /**
         * List of surfaces available to target.
         */
        surfaces?: string[] | null;
    }
    /**
     * The surface targeting combinations available for an ad product.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__SurfaceTargetingCombinations {
        /**
         * Available surface target combinations for the ad product.
         */
        availableTargetingCombinations?: Schema$GoogleAdsSearchads360V23Services__SurfaceTargeting[];
        /**
         * Default surface targeting applied to the ad product.
         */
        defaultTargeting?: Schema$GoogleAdsSearchads360V23Services__SurfaceTargeting;
    }
    /**
     * Details about various factors for not being satisfied with the lead.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__SurveyDissatisfied {
        /**
         * Optional. Provider's free form comments. This field is required when OTHER_DISSATISFIED_REASON is selected as the reason.
         */
        otherReasonComment?: string | null;
        /**
         * Required. Provider's reason for not being satisfied with the lead.
         */
        surveyDissatisfiedReason?: string | null;
    }
    /**
     * Details about various factors for being satisfied with the lead.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__SurveySatisfied {
        /**
         * Optional. Provider's free form comments. This field is required when OTHER_SATISFIED_REASON is selected as the reason.
         */
        otherReasonComment?: string | null;
        /**
         * Required. Provider's reason for being satisfied with the lead.
         */
        surveySatisfiedReason?: string | null;
    }
    /**
     * Target Frequency settings for a supported product.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__TargetFrequencySettings {
        /**
         * Required. The target frequency goal per selected time unit.
         */
        targetFrequency?: number | null;
        /**
         * Required. The time unit used to describe the time frame for target_frequency.
         */
        timeUnit?: string | null;
    }
    /**
     * The targeting for which traffic metrics will be reported.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__Targeting {
        /**
         * Targeted age range. An unset value is equivalent to targeting all ages.
         */
        ageRange?: string | null;
        /**
         * Targeted audiences. If not specified, does not target any specific audience.
         */
        audienceTargeting?: Schema$GoogleAdsSearchads360V23Services__AudienceTargeting;
        /**
         * Targeted devices. If not specified, targets all applicable devices. Applicable devices vary by product and region and can be obtained from ReachPlanService.ListPlannableProducts.
         */
        devices?: Schema$GoogleAdsSearchads360V23Common__DeviceInfo[];
        /**
         * Targeted genders. An unset value is equivalent to targeting MALE and FEMALE.
         */
        genders?: Schema$GoogleAdsSearchads360V23Common__GenderInfo[];
        /**
         * Targetable network for the ad product. If not specified, targets all applicable networks. Applicable networks vary by product and region and can be obtained from ReachPlanService.ListPlannableProducts.
         */
        network?: string | null;
        /**
         * The ID of the selected location. Plannable location IDs can be obtained from ReachPlanService.ListPlannableLocations. Requests must set either this field or `plannable_location_ids`. This field is deprecated as of V12 and will be removed in a future release. Use `plannable_location_ids` instead.
         */
        plannableLocationId?: string | null;
        /**
         * The list of plannable location IDs to target with this forecast. If more than one ID is provided, all IDs must have the same `parent_country_id`. Planning for more than `parent_county` is not supported. Plannable location IDs and their `parent_country_id` can be obtained from ReachPlanService.ListPlannableLocations. Requests must set either this field or `plannable_location_id`.
         */
        plannableLocationIds?: string[] | null;
    }
    /**
     * A suggested targetable audience relevant to the requested audience.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__TargetingSuggestionMetrics {
        /**
         * Suggested age targeting; may be empty indicating no age targeting.
         */
        ageRanges?: Schema$GoogleAdsSearchads360V23Common__AgeRangeInfo[];
        /**
         * The fraction (from 0 to 1 inclusive) of the requested audience that can be reached using the suggested targeting.
         */
        coverage?: number | null;
        /**
         * Suggested gender targeting. If present, this attribute has dimension GENDER.
         */
        gender?: Schema$GoogleAdsSearchads360V23Common__GenderInfo;
        /**
         * The ratio of coverage to the coverage of the baseline audience or zero if this ratio is undefined or is not meaningful.
         */
        index?: number | null;
        /**
         * Suggested location targeting. These attributes all have dimension GEO_TARGET_COUNTRY or SUB_COUNTRY_LOCATION
         */
        locations?: Schema$GoogleAdsSearchads360V23Common__AudienceInsightsAttributeMetadata[];
        /**
         * A Parental Status value (parent, or not a parent).
         */
        parentalStatus?: Schema$GoogleAdsSearchads360V23Common__ParentalStatusInfo;
        /**
         * The approximate estimated number of people that can be reached on YouTube using this targeting.
         */
        potentialYoutubeReach?: string | null;
        /**
         * List of user interest attributes with metadata defining the audience. The combination has a logical AND-of-ORs structure: The attributes within each AudienceInsightsAttributeMetadataGroup are ORed, and the groups themselves are ANDed.
         */
        userInterests?: Schema$GoogleAdsSearchads360V23Common__AudienceInsightsAttributeMetadataGroup[];
    }
    /**
     * An AdGroup/Campaign pair that could not be used as a suggestion for keywords. AdGroups may not be usable if the AdGroup * belongs to a Campaign that is not ENABLED or PAUSED * is itself not ENABLED
     */
    export interface Schema$GoogleAdsSearchads360V23Services__UnusableAdGroup {
        /**
         * The AdGroup resource name. Resource name format: `customers/{customer_id\}/adGroups/{ad_group_id\}`
         */
        adGroup?: string | null;
        /**
         * The Campaign resource name. Resource name format: `customers/{customer_id\}/campaigns/{campaign_id\}`
         */
        campaign?: string | null;
    }
    /**
     * Request message for DataLinkService.UpdateDataLink.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__UpdateDataLinkRequest {
        /**
         * Required. The data link status to be updated to.
         */
        dataLinkStatus?: string | null;
        /**
         * Required. The data link is expected to have a valid resource name.
         */
        resourceName?: string | null;
    }
    /**
     * Response message for DataLinkService.UpdateDataLink.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__UpdateDataLinkResponse {
        /**
         * Returned for successful operations. Resource name of the data link.
         */
        resourceName?: string | null;
    }
    /**
     * Request message for ProductLinkInvitationService.UpdateProductLinkInvitation.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__UpdateProductLinkInvitationRequest {
        /**
         * Required. The product link invitation to be created.
         */
        productLinkInvitationStatus?: string | null;
        /**
         * Required. Resource name of the product link invitation.
         */
        resourceName?: string | null;
    }
    /**
     * Response message for product link invitation update.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__UpdateProductLinkInvitationResponse {
        /**
         * Result of the update.
         */
        resourceName?: string | null;
    }
    /**
     * Request message for ConversionUploadService.UploadCallConversions.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__UploadCallConversionsRequest {
        /**
         * Required. The conversions that are being uploaded.
         */
        conversions?: Schema$GoogleAdsSearchads360V23Services__CallConversion[];
        /**
         * Required. If `true`, successful operations will be carried out and invalid operations will return errors. If `false`, all operations will be carried out in one transaction if and only if they are all valid. This should always be set to `true`.
         */
        partialFailure?: boolean | null;
        /**
         * If true, the request is validated but not executed. Only errors are returned, not results.
         */
        validateOnly?: boolean | null;
    }
    /**
     * Response message for ConversionUploadService.UploadCallConversions.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__UploadCallConversionsResponse {
        /**
         * Errors that pertain to conversion failures in the partial failure mode. Returned when all errors occur inside the conversions. If any errors occur outside the conversions (for example, auth errors), we return an RPC level error.
         */
        partialFailureError?: Schema$GoogleRpc__Status;
        /**
         * Returned for successfully processed conversions. Proto will be empty for rows that received an error. Results are not returned when `validate_only` is `true`.
         */
        results?: Schema$GoogleAdsSearchads360V23Services__CallConversionResult[];
    }
    /**
     * Request message for ConversionUploadService.UploadClickConversions.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__UploadClickConversionsRequest {
        /**
         * Required. The conversions that are being uploaded.
         */
        conversions?: Schema$GoogleAdsSearchads360V23Services__ClickConversion[];
        /**
         * Optional. Optional input to set job ID. Must be a non-negative number that is less than 2^31 if provided. If this field is not provided, the API will generate a job ID in the range [2^31, (2^63)-1]. The API will return the value for this request in the `job_id` field of the `UploadClickConversionsResponse`.
         */
        jobId?: number | null;
        /**
         * Required. If `true`, successful operations will be carried out and invalid operations will return errors. If `false`, all operations will be carried out in one transaction if and only if they are all valid. This should always be set to `true`.
         */
        partialFailure?: boolean | null;
        /**
         * If `true`, the request is validated but not executed. Only errors are returned, not results.
         */
        validateOnly?: boolean | null;
    }
    /**
     * Response message for ConversionUploadService.UploadClickConversions.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__UploadClickConversionsResponse {
        /**
         * Job ID for the upload batch.
         */
        jobId?: string | null;
        /**
         * Errors that pertain to conversion failures in the partial failure mode. Returned when all errors occur inside the conversions. If any errors occur outside the conversions (for example, auth errors), we return an RPC level error.
         */
        partialFailureError?: Schema$GoogleRpc__Status;
        /**
         * Returned for successfully processed conversions. Proto will be empty for rows that received an error. Results are not returned when `validate_only` is `true`.
         */
        results?: Schema$GoogleAdsSearchads360V23Services__ClickConversionResult[];
    }
    /**
     * Request message for ConversionAdjustmentUploadService.UploadConversionAdjustments.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__UploadConversionAdjustmentsRequest {
        /**
         * Required. The conversion adjustments that are being uploaded.
         */
        conversionAdjustments?: Schema$GoogleAdsSearchads360V23Services__ConversionAdjustment[];
        /**
         * Optional. Optional input to set job ID. Must be a non-negative number that is less than 2^31 if provided. If this field is not provided, the API will generate a job ID in the range [2^31, (2^63)-1]. The API will return the value for this request in the `job_id` field of the `UploadConversionAdjustmentsResponse`.
         */
        jobId?: number | null;
        /**
         * Required. If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. This should always be set to true. See https://developers.google.com/google-ads/api/docs/best-practices/partial-failures for more information about partial failure.
         */
        partialFailure?: boolean | null;
        /**
         * If true, the request is validated but not executed. Only errors are returned, not results.
         */
        validateOnly?: boolean | null;
    }
    /**
     * Response message for ConversionAdjustmentUploadService.UploadConversionAdjustments.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__UploadConversionAdjustmentsResponse {
        /**
         * Job ID for the upload batch.
         */
        jobId?: string | null;
        /**
         * Errors that pertain to conversion adjustment failures in the partial failure mode. Returned when all errors occur inside the adjustments. If any errors occur outside the adjustments (for example, auth errors), we return an RPC level error. See https://developers.google.com/google-ads/api/docs/best-practices/partial-failures for more information about partial failure.
         */
        partialFailureError?: Schema$GoogleRpc__Status;
        /**
         * Returned for successfully processed conversion adjustments. Proto will be empty for rows that received an error. Results are not returned when validate_only is true.
         */
        results?: Schema$GoogleAdsSearchads360V23Services__ConversionAdjustmentResult[];
    }
    /**
     * Request message for UserDataService.UploadUserData
     */
    export interface Schema$GoogleAdsSearchads360V23Services__UploadUserDataRequest {
        /**
         * Metadata for data updates to a Customer Match user list.
         */
        customerMatchUserListMetadata?: Schema$GoogleAdsSearchads360V23Common__CustomerMatchUserListMetadata;
        /**
         * Required. The list of operations to be done.
         */
        operations?: Schema$GoogleAdsSearchads360V23Services__UserDataOperation[];
    }
    /**
     * Response message for UserDataService.UploadUserData Uploads made through this service will not be visible under the 'Segment members' section for the Customer Match List in the Google Ads UI.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__UploadUserDataResponse {
        /**
         * Number of upload data operations received by API.
         */
        receivedOperationsCount?: number | null;
        /**
         * The date time at which the request was received by API, formatted as "yyyy-mm-dd hh:mm:ss+|-hh:mm", for example, "2019-01-01 12:32:45-08:00".
         */
        uploadDateTime?: string | null;
    }
    /**
     * Url Seed
     */
    export interface Schema$GoogleAdsSearchads360V23Services__UrlSeed {
        /**
         * The URL to crawl in order to generate keyword ideas.
         */
        url?: string | null;
    }
    /**
     * Operation to be made for the UploadUserDataRequest.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__UserDataOperation {
        /**
         * The list of user data to be appended to the user list.
         */
        create?: Schema$GoogleAdsSearchads360V23Common__UserData;
        /**
         * The list of user data to be removed from the user list.
         */
        remove?: Schema$GoogleAdsSearchads360V23Common__UserData;
    }
    /**
     * A single mutate operation on the user list customer type.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__UserListCustomerTypeOperation {
        /**
         * Attach a user list customer type to a user list. No resource name is expected for the new user list customer type.
         */
        create?: Schema$GoogleAdsSearchads360V23Resources__UserListCustomerType;
        /**
         * Remove an existing user list customer type. A resource name for the removed user list customer type is expected, in this format: `customers/{customer_id\}/userListCustomerTypes/{user_list_id\}~{customer_type_category\}`
         */
        remove?: string | null;
    }
    /**
     * A single operation (create, update) on a user list.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__UserListOperation {
        /**
         * Create operation: No resource name is expected for the new user list.
         */
        create?: Schema$GoogleAdsSearchads360V23Resources__UserList;
        /**
         * Remove operation: A resource name for the removed user list is expected, in this format: `customers/{customer_id\}/userLists/{user_list_id\}`
         */
        remove?: string | null;
        /**
         * Update operation: The user list is expected to have a valid resource name.
         */
        update?: Schema$GoogleAdsSearchads360V23Resources__UserList;
        /**
         * FieldMask that determines which resource fields are modified in an update.
         */
        updateMask?: string | null;
    }
    /**
     * A Plannable YouTube Select Lineup for product targeting.
     */
    export interface Schema$GoogleAdsSearchads360V23Services__YouTubeSelectLineUp {
        /**
         * The ID of the YouTube Select Lineup.
         */
        lineupId?: string | null;
        /**
         * The unique name of the YouTube Select Lineup.
         */
        lineupName?: string | null;
    }
    /**
     * Request settings for YouTube Select Lineups
     */
    export interface Schema$GoogleAdsSearchads360V23Services__YouTubeSelectSettings {
        /**
         * Lineup for YouTube Select Targeting.
         */
        lineupId?: string | null;
    }
    /**
     * This resource represents a long-running operation that is the result of a network API call.
     */
    export interface Schema$GoogleLongrunning__Operation {
        /**
         * If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available.
         */
        done?: boolean | null;
        /**
         * The error result of the operation in case of failure or cancellation.
         */
        error?: Schema$GoogleRpc__Status;
        /**
         * Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.
         */
        metadata?: {
            [key: string]: any;
        } | null;
        /**
         * The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id\}`.
         */
        name?: string | null;
        /**
         * The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.
         */
        response?: {
            [key: string]: any;
        } | null;
    }
    /**
     * A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); \}
     */
    export interface Schema$GoogleProtobuf__Empty {
    }
    /**
     * The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors).
     */
    export interface Schema$GoogleRpc__Status {
        /**
         * The status code, which should be an enum value of google.rpc.Code.
         */
        code?: number | null;
        /**
         * A list of messages that carry the error details. There is a common set of message types for APIs to use.
         */
        details?: Array<{
            [key: string]: any;
        }> | null;
        /**
         * A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.
         */
        message?: string | null;
    }
    /**
     * Represents an amount of money with its currency type.
     */
    export interface Schema$GoogleType__Money {
        /**
         * The three-letter currency code defined in ISO 4217.
         */
        currencyCode?: string | null;
        /**
         * Number of nano (10^-9) units of the amount. The value must be between -999,999,999 and +999,999,999 inclusive. If `units` is positive, `nanos` must be positive or zero. If `units` is zero, `nanos` can be positive, zero, or negative. If `units` is negative, `nanos` must be negative or zero. For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
         */
        nanos?: number | null;
        /**
         * The whole units of the amount. For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
         */
        units?: string | null;
    }
    export class Resource$Audienceinsights {
        context: APIRequestContext;
        constructor(context: APIRequestContext);
        /**
         * Lists date ranges for which audience insights data can be requested. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [FieldError]() [HeaderError]() [InternalError]() [QuotaError]() [RangeError]() [RequestError]()
         * @example
         * ```js
         * // Before running the sample:
         * // - Enable the API at:
         * //   https://console.developers.google.com/apis/api/searchads360.googleapis.com
         * // - Login into gcloud by running:
         * //   ```sh
         * //   $ gcloud auth application-default login
         * //   ```
         * // - Install the npm module by running:
         * //   ```sh
         * //   $ npm install googleapis
         * //   ```
         *
         * const {google} = require('googleapis');
         * const searchads360 = google.searchads360('v23');
         *
         * async function main() {
         *   const auth = new google.auth.GoogleAuth({
         *     // Scopes can be specified either as an array or as a single, space-delimited string.
         *     scopes: ['https://www.googleapis.com/auth/doubleclicksearch'],
         *   });
         *
         *   // Acquire an auth client, and bind it to all future calls
         *   const authClient = await auth.getClient();
         *   google.options({auth: authClient});
         *
         *   // Do the magic
         *   const res = await searchads360.audienceInsights.listInsightsEligibleDates({
         *     // Request body metadata
         *     requestBody: {
         *       // request body parameters
         *       // {
         *       //   "insightsApplicationInfo": {}
         *       // }
         *     },
         *   });
         *   console.log(res.data);
         *
         *   // Example response
         *   // {
         *   //   "dataMonths": [],
         *   //   "lastThirtyDays": {}
         *   // }
         * }
         *
         * main().catch(e => {
         *   console.error(e);
         *   throw e;
         * });
         *
         * ```
         *
         * @param params - Parameters for request
         * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
         * @param callback - Optional callback that handles the response.
         * @returns A promise if used with async/await, or void if used with a callback.
         */
        listInsightsEligibleDates(params: Params$Resource$Audienceinsights$Listinsightseligibledates, options: StreamMethodOptions): Promise<GaxiosResponseWithHTTP2<Readable>>;
        listInsightsEligibleDates(params?: Params$Resource$Audienceinsights$Listinsightseligibledates, options?: MethodOptions): Promise<GaxiosResponseWithHTTP2<Schema$GoogleAdsSearchads360V23Services__ListInsightsEligibleDatesResponse>>;
        listInsightsEligibleDates(params: Params$Resource$Audienceinsights$Listinsightseligibledates, options: StreamMethodOptions | BodyResponseCallback<Readable>, callback: BodyResponseCallback<Readable>): void;
        listInsightsEligibleDates(params: Params$Resource$Audienceinsights$Listinsightseligibledates, options: MethodOptions | BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__ListInsightsEligibleDatesResponse>, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__ListInsightsEligibleDatesResponse>): void;
        listInsightsEligibleDates(params: Params$Resource$Audienceinsights$Listinsightseligibledates, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__ListInsightsEligibleDatesResponse>): void;
        listInsightsEligibleDates(callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__ListInsightsEligibleDatesResponse>): void;
    }
    export interface Params$Resource$Audienceinsights$Listinsightseligibledates extends StandardParameters {
        /**
         * Request body metadata
         */
        requestBody?: Schema$GoogleAdsSearchads360V23Services__ListInsightsEligibleDatesRequest;
    }
    export class Resource$Customers {
        context: APIRequestContext;
        accountBudgetProposals: Resource$Customers$Accountbudgetproposals;
        accountLinks: Resource$Customers$Accountlinks;
        adGroupAdLabels: Resource$Customers$Adgroupadlabels;
        adGroupAds: Resource$Customers$Adgroupads;
        adGroupAssets: Resource$Customers$Adgroupassets;
        adGroupAssetSets: Resource$Customers$Adgroupassetsets;
        adGroupBidModifiers: Resource$Customers$Adgroupbidmodifiers;
        adGroupCriteria: Resource$Customers$Adgroupcriteria;
        AdGroupCriterionCustomizers: Resource$Customers$Adgroupcriterioncustomizers;
        adGroupCriterionLabels: Resource$Customers$Adgroupcriterionlabels;
        adGroupCustomizers: Resource$Customers$Adgroupcustomizers;
        adGroupLabels: Resource$Customers$Adgrouplabels;
        adGroups: Resource$Customers$Adgroups;
        adParameters: Resource$Customers$Adparameters;
        ads: Resource$Customers$Ads;
        assetGroupAssets: Resource$Customers$Assetgroupassets;
        assetGroupListingGroupFilters: Resource$Customers$Assetgrouplistinggroupfilters;
        assetGroups: Resource$Customers$Assetgroups;
        assetGroupSignals: Resource$Customers$Assetgroupsignals;
        assets: Resource$Customers$Assets;
        assetSetAssets: Resource$Customers$Assetsetassets;
        assetSets: Resource$Customers$Assetsets;
        audiences: Resource$Customers$Audiences;
        batchJobs: Resource$Customers$Batchjobs;
        biddingDataExclusions: Resource$Customers$Biddingdataexclusions;
        biddingSeasonalityAdjustments: Resource$Customers$Biddingseasonalityadjustments;
        biddingStrategies: Resource$Customers$Biddingstrategies;
        billingSetups: Resource$Customers$Billingsetups;
        campaignAssets: Resource$Customers$Campaignassets;
        campaignAssetSets: Resource$Customers$Campaignassetsets;
        campaignBidModifiers: Resource$Customers$Campaignbidmodifiers;
        campaignBudgets: Resource$Customers$Campaignbudgets;
        campaignConversionGoals: Resource$Customers$Campaignconversiongoals;
        campaignCriteria: Resource$Customers$Campaigncriteria;
        campaignCustomizers: Resource$Customers$Campaigncustomizers;
        campaignDrafts: Resource$Customers$Campaigndrafts;
        CampaignGoalConfigs: Resource$Customers$Campaigngoalconfigs;
        campaignGroups: Resource$Customers$Campaigngroups;
        campaignLabels: Resource$Customers$Campaignlabels;
        campaignLifecycleGoal: Resource$Customers$Campaignlifecyclegoal;
        campaigns: Resource$Customers$Campaigns;
        campaignSharedSets: Resource$Customers$Campaignsharedsets;
        conversionActions: Resource$Customers$Conversionactions;
        conversionCustomVariables: Resource$Customers$Conversioncustomvariables;
        conversionGoalCampaignConfigs: Resource$Customers$Conversiongoalcampaignconfigs;
        conversionValueRules: Resource$Customers$Conversionvaluerules;
        conversionValueRuleSets: Resource$Customers$Conversionvaluerulesets;
        customAudiences: Resource$Customers$Customaudiences;
        customColumns: Resource$Customers$Customcolumns;
        customConversionGoals: Resource$Customers$Customconversiongoals;
        customerAssets: Resource$Customers$Customerassets;
        customerAssetSets: Resource$Customers$Customerassetsets;
        customerClientLinks: Resource$Customers$Customerclientlinks;
        customerConversionGoals: Resource$Customers$Customerconversiongoals;
        CustomerCustomizers: Resource$Customers$Customercustomizers;
        customerLabels: Resource$Customers$Customerlabels;
        customerLifecycleGoal: Resource$Customers$Customerlifecyclegoal;
        customerManagerLinks: Resource$Customers$Customermanagerlinks;
        customerNegativeCriteria: Resource$Customers$Customernegativecriteria;
        customerSkAdNetworkConversionValueSchemas: Resource$Customers$Customerskadnetworkconversionvalueschemas;
        customerUserAccesses: Resource$Customers$Customeruseraccesses;
        customerUserAccessInvitations: Resource$Customers$Customeruseraccessinvitations;
        customInterests: Resource$Customers$Custominterests;
        customizerAttributes: Resource$Customers$Customizerattributes;
        dataLinks: Resource$Customers$Datalinks;
        experimentArms: Resource$Customers$Experimentarms;
        experiments: Resource$Customers$Experiments;
        Goals: Resource$Customers$Goals;
        incentives: Resource$Customers$Incentives;
        invoices: Resource$Customers$Invoices;
        keywordPlanAdGroupKeywords: Resource$Customers$Keywordplanadgroupkeywords;
        keywordPlanAdGroups: Resource$Customers$Keywordplanadgroups;
        keywordPlanCampaignKeywords: Resource$Customers$Keywordplancampaignkeywords;
        keywordPlanCampaigns: Resource$Customers$Keywordplancampaigns;
        keywordPlans: Resource$Customers$Keywordplans;
        labels: Resource$Customers$Labels;
        localServices: Resource$Customers$Localservices;
        localServicesLeads: Resource$Customers$Localservicesleads;
        offlineUserDataJobs: Resource$Customers$Offlineuserdatajobs;
        paymentsAccounts: Resource$Customers$Paymentsaccounts;
        productLinkInvitations: Resource$Customers$Productlinkinvitations;
        productLinks: Resource$Customers$Productlinks;
        recommendations: Resource$Customers$Recommendations;
        recommendationSubscriptions: Resource$Customers$Recommendationsubscriptions;
        remarketingActions: Resource$Customers$Remarketingactions;
        searchAds360: Resource$Customers$Searchads360;
        searchAds360Campaigns: Resource$Customers$Searchads360campaigns;
        sharedCriteria: Resource$Customers$Sharedcriteria;
        sharedSets: Resource$Customers$Sharedsets;
        smartCampaignSettings: Resource$Customers$Smartcampaignsettings;
        thirdPartyAppAnalyticsLinks: Resource$Customers$Thirdpartyappanalyticslinks;
        userListCustomerTypes: Resource$Customers$Userlistcustomertypes;
        userLists: Resource$Customers$Userlists;
        constructor(context: APIRequestContext);
        /**
         * Creates a new client under manager. The new client customer is returned. List of thrown errors: [AccessInvitationError]() [AuthenticationError]() [AuthorizationError]() [CurrencyCodeError]() [HeaderError]() [InternalError]() [ManagerLinkError]() [QuotaError]() [RequestError]() [StringLengthError]() [TimeZoneError]()
         * @example
         * ```js
         * // Before running the sample:
         * // - Enable the API at:
         * //   https://console.developers.google.com/apis/api/searchads360.googleapis.com
         * // - Login into gcloud by running:
         * //   ```sh
         * //   $ gcloud auth application-default login
         * //   ```
         * // - Install the npm module by running:
         * //   ```sh
         * //   $ npm install googleapis
         * //   ```
         *
         * const {google} = require('googleapis');
         * const searchads360 = google.searchads360('v23');
         *
         * async function main() {
         *   const auth = new google.auth.GoogleAuth({
         *     // Scopes can be specified either as an array or as a single, space-delimited string.
         *     scopes: ['https://www.googleapis.com/auth/doubleclicksearch'],
         *   });
         *
         *   // Acquire an auth client, and bind it to all future calls
         *   const authClient = await auth.getClient();
         *   google.options({auth: authClient});
         *
         *   // Do the magic
         *   const res = await searchads360.customers.createCustomerClient({
         *     // Required. The ID of the Manager under whom client customer is being created.
         *     customerId: '[^/]+',
         *
         *     // Request body metadata
         *     requestBody: {
         *       // request body parameters
         *       // {
         *       //   "accessRole": "my_accessRole",
         *       //   "customerClient": {},
         *       //   "emailAddress": "my_emailAddress",
         *       //   "validateOnly": false
         *       // }
         *     },
         *   });
         *   console.log(res.data);
         *
         *   // Example response
         *   // {
         *   //   "invitationLink": "my_invitationLink",
         *   //   "resourceName": "my_resourceName"
         *   // }
         * }
         *
         * main().catch(e => {
         *   console.error(e);
         *   throw e;
         * });
         *
         * ```
         *
         * @param params - Parameters for request
         * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
         * @param callback - Optional callback that handles the response.
         * @returns A promise if used with async/await, or void if used with a callback.
         */
        createCustomerClient(params: Params$Resource$Customers$Createcustomerclient, options: StreamMethodOptions): Promise<GaxiosResponseWithHTTP2<Readable>>;
        createCustomerClient(params?: Params$Resource$Customers$Createcustomerclient, options?: MethodOptions): Promise<GaxiosResponseWithHTTP2<Schema$GoogleAdsSearchads360V23Services__CreateCustomerClientResponse>>;
        createCustomerClient(params: Params$Resource$Customers$Createcustomerclient, options: StreamMethodOptions | BodyResponseCallback<Readable>, callback: BodyResponseCallback<Readable>): void;
        createCustomerClient(params: Params$Resource$Customers$Createcustomerclient, options: MethodOptions | BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__CreateCustomerClientResponse>, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__CreateCustomerClientResponse>): void;
        createCustomerClient(params: Params$Resource$Customers$Createcustomerclient, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__CreateCustomerClientResponse>): void;
        createCustomerClient(callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__CreateCustomerClientResponse>): void;
        /**
         * Returns a list of suggested AdGroups and suggested modifications (text, match type) for the given keywords. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [CollectionSizeError]() [HeaderError]() [InternalError]() [QuotaError]() [RequestError]()
         * @example
         * ```js
         * // Before running the sample:
         * // - Enable the API at:
         * //   https://console.developers.google.com/apis/api/searchads360.googleapis.com
         * // - Login into gcloud by running:
         * //   ```sh
         * //   $ gcloud auth application-default login
         * //   ```
         * // - Install the npm module by running:
         * //   ```sh
         * //   $ npm install googleapis
         * //   ```
         *
         * const {google} = require('googleapis');
         * const searchads360 = google.searchads360('v23');
         *
         * async function main() {
         *   const auth = new google.auth.GoogleAuth({
         *     // Scopes can be specified either as an array or as a single, space-delimited string.
         *     scopes: ['https://www.googleapis.com/auth/doubleclicksearch'],
         *   });
         *
         *   // Acquire an auth client, and bind it to all future calls
         *   const authClient = await auth.getClient();
         *   google.options({auth: authClient});
         *
         *   // Do the magic
         *   const res = await searchads360.customers.generateAdGroupThemes({
         *     // Required. The ID of the customer.
         *     customerId: '[^/]+',
         *
         *     // Request body metadata
         *     requestBody: {
         *       // request body parameters
         *       // {
         *       //   "adGroups": [],
         *       //   "keywords": []
         *       // }
         *     },
         *   });
         *   console.log(res.data);
         *
         *   // Example response
         *   // {
         *   //   "adGroupKeywordSuggestions": [],
         *   //   "unusableAdGroups": []
         *   // }
         * }
         *
         * main().catch(e => {
         *   console.error(e);
         *   throw e;
         * });
         *
         * ```
         *
         * @param params - Parameters for request
         * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
         * @param callback - Optional callback that handles the response.
         * @returns A promise if used with async/await, or void if used with a callback.
         */
        generateAdGroupThemes(params: Params$Resource$Customers$Generateadgroupthemes, options: StreamMethodOptions): Promise<GaxiosResponseWithHTTP2<Readable>>;
        generateAdGroupThemes(params?: Params$Resource$Customers$Generateadgroupthemes, options?: MethodOptions): Promise<GaxiosResponseWithHTTP2<Schema$GoogleAdsSearchads360V23Services__GenerateAdGroupThemesResponse>>;
        generateAdGroupThemes(params: Params$Resource$Customers$Generateadgroupthemes, options: StreamMethodOptions | BodyResponseCallback<Readable>, callback: BodyResponseCallback<Readable>): void;
        generateAdGroupThemes(params: Params$Resource$Customers$Generateadgroupthemes, options: MethodOptions | BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__GenerateAdGroupThemesResponse>, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__GenerateAdGroupThemesResponse>): void;
        generateAdGroupThemes(params: Params$Resource$Customers$Generateadgroupthemes, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__GenerateAdGroupThemesResponse>): void;
        generateAdGroupThemes(callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__GenerateAdGroupThemesResponse>): void;
        /**
         * Returns a collection of attributes that are represented in an audience of interest, with metrics that compare each attribute's share of the audience with its share of a baseline audience. List of thrown errors: [AudienceInsightsError]() [AuthenticationError]() [AuthorizationError]() [FieldError]() [HeaderError]() [InternalError]() [QuotaError]() [RangeError]() [RequestError]()
         * @example
         * ```js
         * // Before running the sample:
         * // - Enable the API at:
         * //   https://console.developers.google.com/apis/api/searchads360.googleapis.com
         * // - Login into gcloud by running:
         * //   ```sh
         * //   $ gcloud auth application-default login
         * //   ```
         * // - Install the npm module by running:
         * //   ```sh
         * //   $ npm install googleapis
         * //   ```
         *
         * const {google} = require('googleapis');
         * const searchads360 = google.searchads360('v23');
         *
         * async function main() {
         *   const auth = new google.auth.GoogleAuth({
         *     // Scopes can be specified either as an array or as a single, space-delimited string.
         *     scopes: ['https://www.googleapis.com/auth/doubleclicksearch'],
         *   });
         *
         *   // Acquire an auth client, and bind it to all future calls
         *   const authClient = await auth.getClient();
         *   google.options({auth: authClient});
         *
         *   // Do the magic
         *   const res = await searchads360.customers.generateAudienceCompositionInsights({
         *     // Required. The ID of the customer.
         *     customerId: '[^/]+',
         *
         *     // Request body metadata
         *     requestBody: {
         *       // request body parameters
         *       // {
         *       //   "audience": {},
         *       //   "baselineAudience": {},
         *       //   "customerInsightsGroup": "my_customerInsightsGroup",
         *       //   "dataMonth": "my_dataMonth",
         *       //   "dimensions": [],
         *       //   "insightsApplicationInfo": {}
         *       // }
         *     },
         *   });
         *   console.log(res.data);
         *
         *   // Example response
         *   // {
         *   //   "sections": []
         *   // }
         * }
         *
         * main().catch(e => {
         *   console.error(e);
         *   throw e;
         * });
         *
         * ```
         *
         * @param params - Parameters for request
         * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
         * @param callback - Optional callback that handles the response.
         * @returns A promise if used with async/await, or void if used with a callback.
         */
        generateAudienceCompositionInsights(params: Params$Resource$Customers$Generateaudiencecompositioninsights, options: StreamMethodOptions): Promise<GaxiosResponseWithHTTP2<Readable>>;
        generateAudienceCompositionInsights(params?: Params$Resource$Customers$Generateaudiencecompositioninsights, options?: MethodOptions): Promise<GaxiosResponseWithHTTP2<Schema$GoogleAdsSearchads360V23Services__GenerateAudienceCompositionInsightsResponse>>;
        generateAudienceCompositionInsights(params: Params$Resource$Customers$Generateaudiencecompositioninsights, options: StreamMethodOptions | BodyResponseCallback<Readable>, callback: BodyResponseCallback<Readable>): void;
        generateAudienceCompositionInsights(params: Params$Resource$Customers$Generateaudiencecompositioninsights, options: MethodOptions | BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__GenerateAudienceCompositionInsightsResponse>, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__GenerateAudienceCompositionInsightsResponse>): void;
        generateAudienceCompositionInsights(params: Params$Resource$Customers$Generateaudiencecompositioninsights, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__GenerateAudienceCompositionInsightsResponse>): void;
        generateAudienceCompositionInsights(callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__GenerateAudienceCompositionInsightsResponse>): void;
        /**
         * Returns a collection of audience attributes using generative AI based on the provided audience description. List of thrown errors: [AudienceInsightsError]() [AuthenticationError]() [AuthorizationError]() [FieldError]() [HeaderError]() [InternalError]() [QuotaError]() [RequestError]()
         * @example
         * ```js
         * // Before running the sample:
         * // - Enable the API at:
         * //   https://console.developers.google.com/apis/api/searchads360.googleapis.com
         * // - Login into gcloud by running:
         * //   ```sh
         * //   $ gcloud auth application-default login
         * //   ```
         * // - Install the npm module by running:
         * //   ```sh
         * //   $ npm install googleapis
         * //   ```
         *
         * const {google} = require('googleapis');
         * const searchads360 = google.searchads360('v23');
         *
         * async function main() {
         *   const auth = new google.auth.GoogleAuth({
         *     // Scopes can be specified either as an array or as a single, space-delimited string.
         *     scopes: ['https://www.googleapis.com/auth/doubleclicksearch'],
         *   });
         *
         *   // Acquire an auth client, and bind it to all future calls
         *   const authClient = await auth.getClient();
         *   google.options({auth: authClient});
         *
         *   // Do the magic
         *   const res = await searchads360.customers.generateAudienceDefinition({
         *     // Required. The ID of the customer.
         *     customerId: '[^/]+',
         *
         *     // Request body metadata
         *     requestBody: {
         *       // request body parameters
         *       // {
         *       //   "audienceDescription": {},
         *       //   "customerInsightsGroup": "my_customerInsightsGroup",
         *       //   "insightsApplicationInfo": {}
         *       // }
         *     },
         *   });
         *   console.log(res.data);
         *
         *   // Example response
         *   // {
         *   //   "highRelevanceAttributes": [],
         *   //   "mediumRelevanceAttributes": []
         *   // }
         * }
         *
         * main().catch(e => {
         *   console.error(e);
         *   throw e;
         * });
         *
         * ```
         *
         * @param params - Parameters for request
         * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
         * @param callback - Optional callback that handles the response.
         * @returns A promise if used with async/await, or void if used with a callback.
         */
        generateAudienceDefinition(params: Params$Resource$Customers$Generateaudiencedefinition, options: StreamMethodOptions): Promise<GaxiosResponseWithHTTP2<Readable>>;
        generateAudienceDefinition(params?: Params$Resource$Customers$Generateaudiencedefinition, options?: MethodOptions): Promise<GaxiosResponseWithHTTP2<Schema$GoogleAdsSearchads360V23Services__GenerateAudienceDefinitionResponse>>;
        generateAudienceDefinition(params: Params$Resource$Customers$Generateaudiencedefinition, options: StreamMethodOptions | BodyResponseCallback<Readable>, callback: BodyResponseCallback<Readable>): void;
        generateAudienceDefinition(params: Params$Resource$Customers$Generateaudiencedefinition, options: MethodOptions | BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__GenerateAudienceDefinitionResponse>, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__GenerateAudienceDefinitionResponse>): void;
        generateAudienceDefinition(params: Params$Resource$Customers$Generateaudiencedefinition, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__GenerateAudienceDefinitionResponse>): void;
        generateAudienceDefinition(callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__GenerateAudienceDefinitionResponse>): void;
        /**
         * Returns a collection of audience attributes along with estimates of the overlap between their potential YouTube reach and that of a given input attribute. List of thrown errors: [AudienceInsightsError]() [AuthenticationError]() [AuthorizationError]() [FieldError]() [HeaderError]() [InternalError]() [QuotaError]() [RangeError]() [RequestError]()
         * @example
         * ```js
         * // Before running the sample:
         * // - Enable the API at:
         * //   https://console.developers.google.com/apis/api/searchads360.googleapis.com
         * // - Login into gcloud by running:
         * //   ```sh
         * //   $ gcloud auth application-default login
         * //   ```
         * // - Install the npm module by running:
         * //   ```sh
         * //   $ npm install googleapis
         * //   ```
         *
         * const {google} = require('googleapis');
         * const searchads360 = google.searchads360('v23');
         *
         * async function main() {
         *   const auth = new google.auth.GoogleAuth({
         *     // Scopes can be specified either as an array or as a single, space-delimited string.
         *     scopes: ['https://www.googleapis.com/auth/doubleclicksearch'],
         *   });
         *
         *   // Acquire an auth client, and bind it to all future calls
         *   const authClient = await auth.getClient();
         *   google.options({auth: authClient});
         *
         *   // Do the magic
         *   const res = await searchads360.customers.generateAudienceOverlapInsights({
         *     // Required. The ID of the customer.
         *     customerId: '[^/]+',
         *
         *     // Request body metadata
         *     requestBody: {
         *       // request body parameters
         *       // {
         *       //   "countryLocation": {},
         *       //   "customerInsightsGroup": "my_customerInsightsGroup",
         *       //   "dimensions": [],
         *       //   "insightsApplicationInfo": {},
         *       //   "primaryAttribute": {}
         *       // }
         *     },
         *   });
         *   console.log(res.data);
         *
         *   // Example response
         *   // {
         *   //   "dimensionResults": [],
         *   //   "primaryAttributeMetadata": {}
         *   // }
         * }
         *
         * main().catch(e => {
         *   console.error(e);
         *   throw e;
         * });
         *
         * ```
         *
         * @param params - Parameters for request
         * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
         * @param callback - Optional callback that handles the response.
         * @returns A promise if used with async/await, or void if used with a callback.
         */
        generateAudienceOverlapInsights(params: Params$Resource$Customers$Generateaudienceoverlapinsights, options: StreamMethodOptions): Promise<GaxiosResponseWithHTTP2<Readable>>;
        generateAudienceOverlapInsights(params?: Params$Resource$Customers$Generateaudienceoverlapinsights, options?: MethodOptions): Promise<GaxiosResponseWithHTTP2<Schema$GoogleAdsSearchads360V23Services__GenerateAudienceOverlapInsightsResponse>>;
        generateAudienceOverlapInsights(params: Params$Resource$Customers$Generateaudienceoverlapinsights, options: StreamMethodOptions | BodyResponseCallback<Readable>, callback: BodyResponseCallback<Readable>): void;
        generateAudienceOverlapInsights(params: Params$Resource$Customers$Generateaudienceoverlapinsights, options: MethodOptions | BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__GenerateAudienceOverlapInsightsResponse>, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__GenerateAudienceOverlapInsightsResponse>): void;
        generateAudienceOverlapInsights(params: Params$Resource$Customers$Generateaudienceoverlapinsights, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__GenerateAudienceOverlapInsightsResponse>): void;
        generateAudienceOverlapInsights(callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__GenerateAudienceOverlapInsightsResponse>): void;
        /**
         * Returns YouTube advertisement metrics for the given client against industry benchmarks. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [BenchmarksError]() [FieldError]() [HeaderError]() [InternalError]() [QuotaError]() [RangeError]() [RequestError]()
         * @example
         * ```js
         * // Before running the sample:
         * // - Enable the API at:
         * //   https://console.developers.google.com/apis/api/searchads360.googleapis.com
         * // - Login into gcloud by running:
         * //   ```sh
         * //   $ gcloud auth application-default login
         * //   ```
         * // - Install the npm module by running:
         * //   ```sh
         * //   $ npm install googleapis
         * //   ```
         *
         * const {google} = require('googleapis');
         * const searchads360 = google.searchads360('v23');
         *
         * async function main() {
         *   const auth = new google.auth.GoogleAuth({
         *     // Scopes can be specified either as an array or as a single, space-delimited string.
         *     scopes: ['https://www.googleapis.com/auth/doubleclicksearch'],
         *   });
         *
         *   // Acquire an auth client, and bind it to all future calls
         *   const authClient = await auth.getClient();
         *   google.options({auth: authClient});
         *
         *   // Do the magic
         *   const res = await searchads360.customers.generateBenchmarksMetrics({
         *     // Required. The ID of the customer. Supply a client customer ID to generate metrics for the customer. A manager account customer ID will not return customer metrics since it does not have any associated direct ad campaigns.
         *     customerId: '[^/]+',
         *
         *     // Request body metadata
         *     requestBody: {
         *       // request body parameters
         *       // {
         *       //   "applicationInfo": {},
         *       //   "benchmarksSource": {},
         *       //   "currencyCode": "my_currencyCode",
         *       //   "customerBenchmarksGroup": "my_customerBenchmarksGroup",
         *       //   "dateRange": {},
         *       //   "location": {},
         *       //   "productFilter": {}
         *       // }
         *     },
         *   });
         *   console.log(res.data);
         *
         *   // Example response
         *   // {
         *   //   "averageBenchmarksMetrics": {},
         *   //   "customerMetrics": {}
         *   // }
         * }
         *
         * main().catch(e => {
         *   console.error(e);
         *   throw e;
         * });
         *
         * ```
         *
         * @param params - Parameters for request
         * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
         * @param callback - Optional callback that handles the response.
         * @returns A promise if used with async/await, or void if used with a callback.
         */
        generateBenchmarksMetrics(params: Params$Resource$Customers$Generatebenchmarksmetrics, options: StreamMethodOptions): Promise<GaxiosResponseWithHTTP2<Readable>>;
        generateBenchmarksMetrics(params?: Params$Resource$Customers$Generatebenchmarksmetrics, options?: MethodOptions): Promise<GaxiosResponseWithHTTP2<Schema$GoogleAdsSearchads360V23Services__GenerateBenchmarksMetricsResponse>>;
        generateBenchmarksMetrics(params: Params$Resource$Customers$Generatebenchmarksmetrics, options: StreamMethodOptions | BodyResponseCallback<Readable>, callback: BodyResponseCallback<Readable>): void;
        generateBenchmarksMetrics(params: Params$Resource$Customers$Generatebenchmarksmetrics, options: MethodOptions | BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__GenerateBenchmarksMetricsResponse>, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__GenerateBenchmarksMetricsResponse>): void;
        generateBenchmarksMetrics(params: Params$Resource$Customers$Generatebenchmarksmetrics, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__GenerateBenchmarksMetricsResponse>): void;
        generateBenchmarksMetrics(callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__GenerateBenchmarksMetricsResponse>): void;
        /**
         * Creates a saved report that can be viewed in the Insights Finder tool. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [FieldError]() [HeaderError]() [InternalError]() [QuotaError]() [RangeError]() [RequestError]()
         * @example
         * ```js
         * // Before running the sample:
         * // - Enable the API at:
         * //   https://console.developers.google.com/apis/api/searchads360.googleapis.com
         * // - Login into gcloud by running:
         * //   ```sh
         * //   $ gcloud auth application-default login
         * //   ```
         * // - Install the npm module by running:
         * //   ```sh
         * //   $ npm install googleapis
         * //   ```
         *
         * const {google} = require('googleapis');
         * const searchads360 = google.searchads360('v23');
         *
         * async function main() {
         *   const auth = new google.auth.GoogleAuth({
         *     // Scopes can be specified either as an array or as a single, space-delimited string.
         *     scopes: ['https://www.googleapis.com/auth/doubleclicksearch'],
         *   });
         *
         *   // Acquire an auth client, and bind it to all future calls
         *   const authClient = await auth.getClient();
         *   google.options({auth: authClient});
         *
         *   // Do the magic
         *   const res = await searchads360.customers.generateInsightsFinderReport({
         *     // Required. The ID of the customer.
         *     customerId: '[^/]+',
         *
         *     // Request body metadata
         *     requestBody: {
         *       // request body parameters
         *       // {
         *       //   "baselineAudience": {},
         *       //   "customerInsightsGroup": "my_customerInsightsGroup",
         *       //   "insightsApplicationInfo": {},
         *       //   "specificAudience": {}
         *       // }
         *     },
         *   });
         *   console.log(res.data);
         *
         *   // Example response
         *   // {
         *   //   "savedReportUrl": "my_savedReportUrl"
         *   // }
         * }
         *
         * main().catch(e => {
         *   console.error(e);
         *   throw e;
         * });
         *
         * ```
         *
         * @param params - Parameters for request
         * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
         * @param callback - Optional callback that handles the response.
         * @returns A promise if used with async/await, or void if used with a callback.
         */
        generateInsightsFinderReport(params: Params$Resource$Customers$Generateinsightsfinderreport, options: StreamMethodOptions): Promise<GaxiosResponseWithHTTP2<Readable>>;
        generateInsightsFinderReport(params?: Params$Resource$Customers$Generateinsightsfinderreport, options?: MethodOptions): Promise<GaxiosResponseWithHTTP2<Schema$GoogleAdsSearchads360V23Services__GenerateInsightsFinderReportResponse>>;
        generateInsightsFinderReport(params: Params$Resource$Customers$Generateinsightsfinderreport, options: StreamMethodOptions | BodyResponseCallback<Readable>, callback: BodyResponseCallback<Readable>): void;
        generateInsightsFinderReport(params: Params$Resource$Customers$Generateinsightsfinderreport, options: MethodOptions | BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__GenerateInsightsFinderReportResponse>, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__GenerateInsightsFinderReportResponse>): void;
        generateInsightsFinderReport(params: Params$Resource$Customers$Generateinsightsfinderreport, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__GenerateInsightsFinderReportResponse>): void;
        generateInsightsFinderReport(callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__GenerateInsightsFinderReportResponse>): void;
        /**
         * Returns metrics (such as impressions, clicks, total cost) of a keyword forecast for the given campaign. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [CollectionSizeError]() [HeaderError]() [InternalError]() [QuotaError]() [RequestError]()
         * @example
         * ```js
         * // Before running the sample:
         * // - Enable the API at:
         * //   https://console.developers.google.com/apis/api/searchads360.googleapis.com
         * // - Login into gcloud by running:
         * //   ```sh
         * //   $ gcloud auth application-default login
         * //   ```
         * // - Install the npm module by running:
         * //   ```sh
         * //   $ npm install googleapis
         * //   ```
         *
         * const {google} = require('googleapis');
         * const searchads360 = google.searchads360('v23');
         *
         * async function main() {
         *   const auth = new google.auth.GoogleAuth({
         *     // Scopes can be specified either as an array or as a single, space-delimited string.
         *     scopes: ['https://www.googleapis.com/auth/doubleclicksearch'],
         *   });
         *
         *   // Acquire an auth client, and bind it to all future calls
         *   const authClient = await auth.getClient();
         *   google.options({auth: authClient});
         *
         *   // Do the magic
         *   const res = await searchads360.customers.generateKeywordForecastMetrics({
         *     // The ID of the customer.
         *     customerId: '[^/]+',
         *
         *     // Request body metadata
         *     requestBody: {
         *       // request body parameters
         *       // {
         *       //   "campaign": {},
         *       //   "currencyCode": "my_currencyCode",
         *       //   "forecastPeriod": {}
         *       // }
         *     },
         *   });
         *   console.log(res.data);
         *
         *   // Example response
         *   // {
         *   //   "campaignForecastMetrics": {}
         *   // }
         * }
         *
         * main().catch(e => {
         *   console.error(e);
         *   throw e;
         * });
         *
         * ```
         *
         * @param params - Parameters for request
         * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
         * @param callback - Optional callback that handles the response.
         * @returns A promise if used with async/await, or void if used with a callback.
         */
        generateKeywordForecastMetrics(params: Params$Resource$Customers$Generatekeywordforecastmetrics, options: StreamMethodOptions): Promise<GaxiosResponseWithHTTP2<Readable>>;
        generateKeywordForecastMetrics(params?: Params$Resource$Customers$Generatekeywordforecastmetrics, options?: MethodOptions): Promise<GaxiosResponseWithHTTP2<Schema$GoogleAdsSearchads360V23Services__GenerateKeywordForecastMetricsResponse>>;
        generateKeywordForecastMetrics(params: Params$Resource$Customers$Generatekeywordforecastmetrics, options: StreamMethodOptions | BodyResponseCallback<Readable>, callback: BodyResponseCallback<Readable>): void;
        generateKeywordForecastMetrics(params: Params$Resource$Customers$Generatekeywordforecastmetrics, options: MethodOptions | BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__GenerateKeywordForecastMetricsResponse>, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__GenerateKeywordForecastMetricsResponse>): void;
        generateKeywordForecastMetrics(params: Params$Resource$Customers$Generatekeywordforecastmetrics, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__GenerateKeywordForecastMetricsResponse>): void;
        generateKeywordForecastMetrics(callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__GenerateKeywordForecastMetricsResponse>): void;
        /**
         * Returns a list of keyword historical metrics. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [CollectionSizeError]() [HeaderError]() [InternalError]() [QuotaError]() [RequestError]()
         * @example
         * ```js
         * // Before running the sample:
         * // - Enable the API at:
         * //   https://console.developers.google.com/apis/api/searchads360.googleapis.com
         * // - Login into gcloud by running:
         * //   ```sh
         * //   $ gcloud auth application-default login
         * //   ```
         * // - Install the npm module by running:
         * //   ```sh
         * //   $ npm install googleapis
         * //   ```
         *
         * const {google} = require('googleapis');
         * const searchads360 = google.searchads360('v23');
         *
         * async function main() {
         *   const auth = new google.auth.GoogleAuth({
         *     // Scopes can be specified either as an array or as a single, space-delimited string.
         *     scopes: ['https://www.googleapis.com/auth/doubleclicksearch'],
         *   });
         *
         *   // Acquire an auth client, and bind it to all future calls
         *   const authClient = await auth.getClient();
         *   google.options({auth: authClient});
         *
         *   // Do the magic
         *   const res = await searchads360.customers.generateKeywordHistoricalMetrics({
         *     // The ID of the customer with the recommendation.
         *     customerId: '[^/]+',
         *
         *     // Request body metadata
         *     requestBody: {
         *       // request body parameters
         *       // {
         *       //   "aggregateMetrics": {},
         *       //   "geoTargetConstants": [],
         *       //   "historicalMetricsOptions": {},
         *       //   "includeAdultKeywords": false,
         *       //   "keywordPlanNetwork": "my_keywordPlanNetwork",
         *       //   "keywords": [],
         *       //   "language": "my_language"
         *       // }
         *     },
         *   });
         *   console.log(res.data);
         *
         *   // Example response
         *   // {
         *   //   "aggregateMetricResults": {},
         *   //   "results": []
         *   // }
         * }
         *
         * main().catch(e => {
         *   console.error(e);
         *   throw e;
         * });
         *
         * ```
         *
         * @param params - Parameters for request
         * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
         * @param callback - Optional callback that handles the response.
         * @returns A promise if used with async/await, or void if used with a callback.
         */
        generateKeywordHistoricalMetrics(params: Params$Resource$Customers$Generatekeywordhistoricalmetrics, options: StreamMethodOptions): Promise<GaxiosResponseWithHTTP2<Readable>>;
        generateKeywordHistoricalMetrics(params?: Params$Resource$Customers$Generatekeywordhistoricalmetrics, options?: MethodOptions): Promise<GaxiosResponseWithHTTP2<Schema$GoogleAdsSearchads360V23Services__GenerateKeywordHistoricalMetricsResponse>>;
        generateKeywordHistoricalMetrics(params: Params$Resource$Customers$Generatekeywordhistoricalmetrics, options: StreamMethodOptions | BodyResponseCallback<Readable>, callback: BodyResponseCallback<Readable>): void;
        generateKeywordHistoricalMetrics(params: Params$Resource$Customers$Generatekeywordhistoricalmetrics, options: MethodOptions | BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__GenerateKeywordHistoricalMetricsResponse>, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__GenerateKeywordHistoricalMetricsResponse>): void;
        generateKeywordHistoricalMetrics(params: Params$Resource$Customers$Generatekeywordhistoricalmetrics, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__GenerateKeywordHistoricalMetricsResponse>): void;
        generateKeywordHistoricalMetrics(callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__GenerateKeywordHistoricalMetricsResponse>): void;
        /**
         * Returns a list of keyword ideas. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [CollectionSizeError]() [HeaderError]() [InternalError]() [KeywordPlanIdeaError]() [QuotaError]() [RequestError]()
         * @example
         * ```js
         * // Before running the sample:
         * // - Enable the API at:
         * //   https://console.developers.google.com/apis/api/searchads360.googleapis.com
         * // - Login into gcloud by running:
         * //   ```sh
         * //   $ gcloud auth application-default login
         * //   ```
         * // - Install the npm module by running:
         * //   ```sh
         * //   $ npm install googleapis
         * //   ```
         *
         * const {google} = require('googleapis');
         * const searchads360 = google.searchads360('v23');
         *
         * async function main() {
         *   const auth = new google.auth.GoogleAuth({
         *     // Scopes can be specified either as an array or as a single, space-delimited string.
         *     scopes: ['https://www.googleapis.com/auth/doubleclicksearch'],
         *   });
         *
         *   // Acquire an auth client, and bind it to all future calls
         *   const authClient = await auth.getClient();
         *   google.options({auth: authClient});
         *
         *   // Do the magic
         *   const res = await searchads360.customers.generateKeywordIdeas({
         *     // The ID of the customer with the recommendation.
         *     customerId: '[^/]+',
         *
         *     // Request body metadata
         *     requestBody: {
         *       // request body parameters
         *       // {
         *       //   "aggregateMetrics": {},
         *       //   "geoTargetConstants": [],
         *       //   "historicalMetricsOptions": {},
         *       //   "includeAdultKeywords": false,
         *       //   "keywordAndUrlSeed": {},
         *       //   "keywordAnnotation": [],
         *       //   "keywordPlanNetwork": "my_keywordPlanNetwork",
         *       //   "keywordSeed": {},
         *       //   "language": "my_language",
         *       //   "pageSize": 0,
         *       //   "pageToken": "my_pageToken",
         *       //   "siteSeed": {},
         *       //   "urlSeed": {}
         *       // }
         *     },
         *   });
         *   console.log(res.data);
         *
         *   // Example response
         *   // {
         *   //   "aggregateMetricResults": {},
         *   //   "nextPageToken": "my_nextPageToken",
         *   //   "results": [],
         *   //   "totalSize": "my_totalSize"
         *   // }
         * }
         *
         * main().catch(e => {
         *   console.error(e);
         *   throw e;
         * });
         *
         * ```
         *
         * @param params - Parameters for request
         * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
         * @param callback - Optional callback that handles the response.
         * @returns A promise if used with async/await, or void if used with a callback.
         */
        generateKeywordIdeas(params: Params$Resource$Customers$Generatekeywordideas, options: StreamMethodOptions): Promise<GaxiosResponseWithHTTP2<Readable>>;
        generateKeywordIdeas(params?: Params$Resource$Customers$Generatekeywordideas, options?: MethodOptions): Promise<GaxiosResponseWithHTTP2<Schema$GoogleAdsSearchads360V23Services__GenerateKeywordIdeaResponse>>;
        generateKeywordIdeas(params: Params$Resource$Customers$Generatekeywordideas, options: StreamMethodOptions | BodyResponseCallback<Readable>, callback: BodyResponseCallback<Readable>): void;
        generateKeywordIdeas(params: Params$Resource$Customers$Generatekeywordideas, options: MethodOptions | BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__GenerateKeywordIdeaResponse>, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__GenerateKeywordIdeaResponse>): void;
        generateKeywordIdeas(params: Params$Resource$Customers$Generatekeywordideas, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__GenerateKeywordIdeaResponse>): void;
        generateKeywordIdeas(callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__GenerateKeywordIdeaResponse>): void;
        /**
         * Generates a reach forecast for a given targeting / product mix. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [FieldError]() [HeaderError]() [InternalError]() [QuotaError]() [RangeError]() [ReachPlanError]() [RequestError]()
         * @example
         * ```js
         * // Before running the sample:
         * // - Enable the API at:
         * //   https://console.developers.google.com/apis/api/searchads360.googleapis.com
         * // - Login into gcloud by running:
         * //   ```sh
         * //   $ gcloud auth application-default login
         * //   ```
         * // - Install the npm module by running:
         * //   ```sh
         * //   $ npm install googleapis
         * //   ```
         *
         * const {google} = require('googleapis');
         * const searchads360 = google.searchads360('v23');
         *
         * async function main() {
         *   const auth = new google.auth.GoogleAuth({
         *     // Scopes can be specified either as an array or as a single, space-delimited string.
         *     scopes: ['https://www.googleapis.com/auth/doubleclicksearch'],
         *   });
         *
         *   // Acquire an auth client, and bind it to all future calls
         *   const authClient = await auth.getClient();
         *   google.options({auth: authClient});
         *
         *   // Do the magic
         *   const res = await searchads360.customers.generateReachForecast({
         *     // Required. The ID of the customer.
         *     customerId: '[^/]+',
         *
         *     // Request body metadata
         *     requestBody: {
         *       // request body parameters
         *       // {
         *       //   "campaignDuration": {},
         *       //   "cookieFrequencyCap": 0,
         *       //   "cookieFrequencyCapSetting": {},
         *       //   "currencyCode": "my_currencyCode",
         *       //   "customerReachGroup": "my_customerReachGroup",
         *       //   "effectiveFrequencyLimit": {},
         *       //   "forecastMetricOptions": {},
         *       //   "minEffectiveFrequency": 0,
         *       //   "plannedProducts": [],
         *       //   "reachApplicationInfo": {},
         *       //   "targeting": {}
         *       // }
         *     },
         *   });
         *   console.log(res.data);
         *
         *   // Example response
         *   // {
         *   //   "onTargetAudienceMetrics": {},
         *   //   "reachCurve": {}
         *   // }
         * }
         *
         * main().catch(e => {
         *   console.error(e);
         *   throw e;
         * });
         *
         * ```
         *
         * @param params - Parameters for request
         * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
         * @param callback - Optional callback that handles the response.
         * @returns A promise if used with async/await, or void if used with a callback.
         */
        generateReachForecast(params: Params$Resource$Customers$Generatereachforecast, options: StreamMethodOptions): Promise<GaxiosResponseWithHTTP2<Readable>>;
        generateReachForecast(params?: Params$Resource$Customers$Generatereachforecast, options?: MethodOptions): Promise<GaxiosResponseWithHTTP2<Schema$GoogleAdsSearchads360V23Services__GenerateReachForecastResponse>>;
        generateReachForecast(params: Params$Resource$Customers$Generatereachforecast, options: StreamMethodOptions | BodyResponseCallback<Readable>, callback: BodyResponseCallback<Readable>): void;
        generateReachForecast(params: Params$Resource$Customers$Generatereachforecast, options: MethodOptions | BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__GenerateReachForecastResponse>, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__GenerateReachForecastResponse>): void;
        generateReachForecast(params: Params$Resource$Customers$Generatereachforecast, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__GenerateReachForecastResponse>): void;
        generateReachForecast(callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__GenerateReachForecastResponse>): void;
        /**
         * Returns a collection of targeting insights (e.g. targetable audiences) that are relevant to the requested audience. List of thrown errors: [AudienceInsightsError]() [AuthenticationError]() [AuthorizationError]() [FieldError]() [HeaderError]() [InternalError]() [QuotaError]() [RangeError]() [RequestError]()
         * @example
         * ```js
         * // Before running the sample:
         * // - Enable the API at:
         * //   https://console.developers.google.com/apis/api/searchads360.googleapis.com
         * // - Login into gcloud by running:
         * //   ```sh
         * //   $ gcloud auth application-default login
         * //   ```
         * // - Install the npm module by running:
         * //   ```sh
         * //   $ npm install googleapis
         * //   ```
         *
         * const {google} = require('googleapis');
         * const searchads360 = google.searchads360('v23');
         *
         * async function main() {
         *   const auth = new google.auth.GoogleAuth({
         *     // Scopes can be specified either as an array or as a single, space-delimited string.
         *     scopes: ['https://www.googleapis.com/auth/doubleclicksearch'],
         *   });
         *
         *   // Acquire an auth client, and bind it to all future calls
         *   const authClient = await auth.getClient();
         *   google.options({auth: authClient});
         *
         *   // Do the magic
         *   const res = await searchads360.customers.generateSuggestedTargetingInsights({
         *     // Required. The ID of the customer.
         *     customerId: '[^/]+',
         *
         *     // Request body metadata
         *     requestBody: {
         *       // request body parameters
         *       // {
         *       //   "audienceDefinition": {},
         *       //   "audienceDescription": {},
         *       //   "customerInsightsGroup": "my_customerInsightsGroup",
         *       //   "insightsApplicationInfo": {}
         *       // }
         *     },
         *   });
         *   console.log(res.data);
         *
         *   // Example response
         *   // {
         *   //   "suggestions": []
         *   // }
         * }
         *
         * main().catch(e => {
         *   console.error(e);
         *   throw e;
         * });
         *
         * ```
         *
         * @param params - Parameters for request
         * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
         * @param callback - Optional callback that handles the response.
         * @returns A promise if used with async/await, or void if used with a callback.
         */
        generateSuggestedTargetingInsights(params: Params$Resource$Customers$Generatesuggestedtargetinginsights, options: StreamMethodOptions): Promise<GaxiosResponseWithHTTP2<Readable>>;
        generateSuggestedTargetingInsights(params?: Params$Resource$Customers$Generatesuggestedtargetinginsights, options?: MethodOptions): Promise<GaxiosResponseWithHTTP2<Schema$GoogleAdsSearchads360V23Services__GenerateSuggestedTargetingInsightsResponse>>;
        generateSuggestedTargetingInsights(params: Params$Resource$Customers$Generatesuggestedtargetinginsights, options: StreamMethodOptions | BodyResponseCallback<Readable>, callback: BodyResponseCallback<Readable>): void;
        generateSuggestedTargetingInsights(params: Params$Resource$Customers$Generatesuggestedtargetinginsights, options: MethodOptions | BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__GenerateSuggestedTargetingInsightsResponse>, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__GenerateSuggestedTargetingInsightsResponse>): void;
        generateSuggestedTargetingInsights(params: Params$Resource$Customers$Generatesuggestedtargetinginsights, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__GenerateSuggestedTargetingInsightsResponse>): void;
        generateSuggestedTargetingInsights(callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__GenerateSuggestedTargetingInsightsResponse>): void;
        /**
         * Returns potential reach metrics for targetable audiences. This method helps answer questions like "How many Men aged 18+ interested in Camping can be reached on YouTube?" List of thrown errors: [AudienceInsightsError]() [AuthenticationError]() [AuthorizationError]() [FieldError]() [HeaderError]() [InternalError]() [QuotaError]() [RangeError]() [RequestError]()
         * @example
         * ```js
         * // Before running the sample:
         * // - Enable the API at:
         * //   https://console.developers.google.com/apis/api/searchads360.googleapis.com
         * // - Login into gcloud by running:
         * //   ```sh
         * //   $ gcloud auth application-default login
         * //   ```
         * // - Install the npm module by running:
         * //   ```sh
         * //   $ npm install googleapis
         * //   ```
         *
         * const {google} = require('googleapis');
         * const searchads360 = google.searchads360('v23');
         *
         * async function main() {
         *   const auth = new google.auth.GoogleAuth({
         *     // Scopes can be specified either as an array or as a single, space-delimited string.
         *     scopes: ['https://www.googleapis.com/auth/doubleclicksearch'],
         *   });
         *
         *   // Acquire an auth client, and bind it to all future calls
         *   const authClient = await auth.getClient();
         *   google.options({auth: authClient});
         *
         *   // Do the magic
         *   const res = await searchads360.customers.generateTargetingSuggestionMetrics({
         *     // Required. The ID of the customer.
         *     customerId: '[^/]+',
         *
         *     // Request body metadata
         *     requestBody: {
         *       // request body parameters
         *       // {
         *       //   "audiences": [],
         *       //   "customerInsightsGroup": "my_customerInsightsGroup",
         *       //   "insightsApplicationInfo": {}
         *       // }
         *     },
         *   });
         *   console.log(res.data);
         *
         *   // Example response
         *   // {
         *   //   "suggestions": []
         *   // }
         * }
         *
         * main().catch(e => {
         *   console.error(e);
         *   throw e;
         * });
         *
         * ```
         *
         * @param params - Parameters for request
         * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
         * @param callback - Optional callback that handles the response.
         * @returns A promise if used with async/await, or void if used with a callback.
         */
        generateTargetingSuggestionMetrics(params: Params$Resource$Customers$Generatetargetingsuggestionmetrics, options: StreamMethodOptions): Promise<GaxiosResponseWithHTTP2<Readable>>;
        generateTargetingSuggestionMetrics(params?: Params$Resource$Customers$Generatetargetingsuggestionmetrics, options?: MethodOptions): Promise<GaxiosResponseWithHTTP2<Schema$GoogleAdsSearchads360V23Services__GenerateTargetingSuggestionMetricsResponse>>;
        generateTargetingSuggestionMetrics(params: Params$Resource$Customers$Generatetargetingsuggestionmetrics, options: StreamMethodOptions | BodyResponseCallback<Readable>, callback: BodyResponseCallback<Readable>): void;
        generateTargetingSuggestionMetrics(params: Params$Resource$Customers$Generatetargetingsuggestionmetrics, options: MethodOptions | BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__GenerateTargetingSuggestionMetricsResponse>, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__GenerateTargetingSuggestionMetricsResponse>): void;
        generateTargetingSuggestionMetrics(params: Params$Resource$Customers$Generatetargetingsuggestionmetrics, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__GenerateTargetingSuggestionMetricsResponse>): void;
        generateTargetingSuggestionMetrics(callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__GenerateTargetingSuggestionMetricsResponse>): void;
        /**
         * Returns Identity Verification information. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [HeaderError]() [InternalError]() [QuotaError]() [RequestError]()
         * @example
         * ```js
         * // Before running the sample:
         * // - Enable the API at:
         * //   https://console.developers.google.com/apis/api/searchads360.googleapis.com
         * // - Login into gcloud by running:
         * //   ```sh
         * //   $ gcloud auth application-default login
         * //   ```
         * // - Install the npm module by running:
         * //   ```sh
         * //   $ npm install googleapis
         * //   ```
         *
         * const {google} = require('googleapis');
         * const searchads360 = google.searchads360('v23');
         *
         * async function main() {
         *   const auth = new google.auth.GoogleAuth({
         *     // Scopes can be specified either as an array or as a single, space-delimited string.
         *     scopes: ['https://www.googleapis.com/auth/doubleclicksearch'],
         *   });
         *
         *   // Acquire an auth client, and bind it to all future calls
         *   const authClient = await auth.getClient();
         *   google.options({auth: authClient});
         *
         *   // Do the magic
         *   const res = await searchads360.customers.getIdentityVerification({
         *     // Required. The ID of the customer for whom we are requesting verification information.
         *     customerId: '[^/]+',
         *   });
         *   console.log(res.data);
         *
         *   // Example response
         *   // {
         *   //   "identityVerification": []
         *   // }
         * }
         *
         * main().catch(e => {
         *   console.error(e);
         *   throw e;
         * });
         *
         * ```
         *
         * @param params - Parameters for request
         * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
         * @param callback - Optional callback that handles the response.
         * @returns A promise if used with async/await, or void if used with a callback.
         */
        getIdentityVerification(params: Params$Resource$Customers$Getidentityverification, options: StreamMethodOptions): Promise<GaxiosResponseWithHTTP2<Readable>>;
        getIdentityVerification(params?: Params$Resource$Customers$Getidentityverification, options?: MethodOptions): Promise<GaxiosResponseWithHTTP2<Schema$GoogleAdsSearchads360V23Services__GetIdentityVerificationResponse>>;
        getIdentityVerification(params: Params$Resource$Customers$Getidentityverification, options: StreamMethodOptions | BodyResponseCallback<Readable>, callback: BodyResponseCallback<Readable>): void;
        getIdentityVerification(params: Params$Resource$Customers$Getidentityverification, options: MethodOptions | BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__GetIdentityVerificationResponse>, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__GetIdentityVerificationResponse>): void;
        getIdentityVerification(params: Params$Resource$Customers$Getidentityverification, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__GetIdentityVerificationResponse>): void;
        getIdentityVerification(callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__GetIdentityVerificationResponse>): void;
        /**
         * Returns resource names of customers directly accessible by the user authenticating the call. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [HeaderError]() [InternalError]() [QuotaError]() [RequestError]()
         * @example
         * ```js
         * // Before running the sample:
         * // - Enable the API at:
         * //   https://console.developers.google.com/apis/api/searchads360.googleapis.com
         * // - Login into gcloud by running:
         * //   ```sh
         * //   $ gcloud auth application-default login
         * //   ```
         * // - Install the npm module by running:
         * //   ```sh
         * //   $ npm install googleapis
         * //   ```
         *
         * const {google} = require('googleapis');
         * const searchads360 = google.searchads360('v23');
         *
         * async function main() {
         *   const auth = new google.auth.GoogleAuth({
         *     // Scopes can be specified either as an array or as a single, space-delimited string.
         *     scopes: ['https://www.googleapis.com/auth/doubleclicksearch'],
         *   });
         *
         *   // Acquire an auth client, and bind it to all future calls
         *   const authClient = await auth.getClient();
         *   google.options({auth: authClient});
         *
         *   // Do the magic
         *   const res = await searchads360.customers.listAccessibleCustomers({});
         *   console.log(res.data);
         *
         *   // Example response
         *   // {
         *   //   "resourceNames": []
         *   // }
         * }
         *
         * main().catch(e => {
         *   console.error(e);
         *   throw e;
         * });
         *
         * ```
         *
         * @param params - Parameters for request
         * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
         * @param callback - Optional callback that handles the response.
         * @returns A promise if used with async/await, or void if used with a callback.
         */
        listAccessibleCustomers(params: Params$Resource$Customers$Listaccessiblecustomers, options: StreamMethodOptions): Promise<GaxiosResponseWithHTTP2<Readable>>;
        listAccessibleCustomers(params?: Params$Resource$Customers$Listaccessiblecustomers, options?: MethodOptions): Promise<GaxiosResponseWithHTTP2<Schema$GoogleAdsSearchads360V23Services__ListAccessibleCustomersResponse>>;
        listAccessibleCustomers(params: Params$Resource$Customers$Listaccessiblecustomers, options: StreamMethodOptions | BodyResponseCallback<Readable>, callback: BodyResponseCallback<Readable>): void;
        listAccessibleCustomers(params: Params$Resource$Customers$Listaccessiblecustomers, options: MethodOptions | BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__ListAccessibleCustomersResponse>, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__ListAccessibleCustomersResponse>): void;
        listAccessibleCustomers(params: Params$Resource$Customers$Listaccessiblecustomers, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__ListAccessibleCustomersResponse>): void;
        listAccessibleCustomers(callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__ListAccessibleCustomersResponse>): void;
        /**
         * Updates a customer. Operation statuses are returned. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [DatabaseError]() [FieldMaskError]() [HeaderError]() [InternalError]() [QuotaError]() [RequestError]() [UrlFieldError]()
         * @example
         * ```js
         * // Before running the sample:
         * // - Enable the API at:
         * //   https://console.developers.google.com/apis/api/searchads360.googleapis.com
         * // - Login into gcloud by running:
         * //   ```sh
         * //   $ gcloud auth application-default login
         * //   ```
         * // - Install the npm module by running:
         * //   ```sh
         * //   $ npm install googleapis
         * //   ```
         *
         * const {google} = require('googleapis');
         * const searchads360 = google.searchads360('v23');
         *
         * async function main() {
         *   const auth = new google.auth.GoogleAuth({
         *     // Scopes can be specified either as an array or as a single, space-delimited string.
         *     scopes: ['https://www.googleapis.com/auth/doubleclicksearch'],
         *   });
         *
         *   // Acquire an auth client, and bind it to all future calls
         *   const authClient = await auth.getClient();
         *   google.options({auth: authClient});
         *
         *   // Do the magic
         *   const res = await searchads360.customers.mutate({
         *     // Required. The ID of the customer being modified.
         *     customerId: '[^/]+',
         *
         *     // Request body metadata
         *     requestBody: {
         *       // request body parameters
         *       // {
         *       //   "operation": {},
         *       //   "responseContentType": "my_responseContentType",
         *       //   "validateOnly": false
         *       // }
         *     },
         *   });
         *   console.log(res.data);
         *
         *   // Example response
         *   // {
         *   //   "result": {}
         *   // }
         * }
         *
         * main().catch(e => {
         *   console.error(e);
         *   throw e;
         * });
         *
         * ```
         *
         * @param params - Parameters for request
         * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
         * @param callback - Optional callback that handles the response.
         * @returns A promise if used with async/await, or void if used with a callback.
         */
        mutate(params: Params$Resource$Customers$Mutate, options: StreamMethodOptions): Promise<GaxiosResponseWithHTTP2<Readable>>;
        mutate(params?: Params$Resource$Customers$Mutate, options?: MethodOptions): Promise<GaxiosResponseWithHTTP2<Schema$GoogleAdsSearchads360V23Services__MutateCustomerResponse>>;
        mutate(params: Params$Resource$Customers$Mutate, options: StreamMethodOptions | BodyResponseCallback<Readable>, callback: BodyResponseCallback<Readable>): void;
        mutate(params: Params$Resource$Customers$Mutate, options: MethodOptions | BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateCustomerResponse>, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateCustomerResponse>): void;
        mutate(params: Params$Resource$Customers$Mutate, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateCustomerResponse>): void;
        mutate(callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateCustomerResponse>): void;
        /**
         * Removes automatically created assets from a campaign. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [ContextError]() [FieldError]() [InternalError]() [MutateError]() [PartialFailureError]() [QuotaError]() [RequestError]()
         * @example
         * ```js
         * // Before running the sample:
         * // - Enable the API at:
         * //   https://console.developers.google.com/apis/api/searchads360.googleapis.com
         * // - Login into gcloud by running:
         * //   ```sh
         * //   $ gcloud auth application-default login
         * //   ```
         * // - Install the npm module by running:
         * //   ```sh
         * //   $ npm install googleapis
         * //   ```
         *
         * const {google} = require('googleapis');
         * const searchads360 = google.searchads360('v23');
         *
         * async function main() {
         *   const auth = new google.auth.GoogleAuth({
         *     // Scopes can be specified either as an array or as a single, space-delimited string.
         *     scopes: ['https://www.googleapis.com/auth/doubleclicksearch'],
         *   });
         *
         *   // Acquire an auth client, and bind it to all future calls
         *   const authClient = await auth.getClient();
         *   google.options({auth: authClient});
         *
         *   // Do the magic
         *   const res =
         *     await searchads360.customers.removeCampaignAutomaticallyCreatedAsset({
         *       // Required. The ID of the customer whose assets are being removed.
         *       customerId: '[^/]+',
         *
         *       // Request body metadata
         *       requestBody: {
         *         // request body parameters
         *         // {
         *         //   "operations": [],
         *         //   "partialFailure": false
         *         // }
         *       },
         *     });
         *   console.log(res.data);
         *
         *   // Example response
         *   // {
         *   //   "partialFailureError": {}
         *   // }
         * }
         *
         * main().catch(e => {
         *   console.error(e);
         *   throw e;
         * });
         *
         * ```
         *
         * @param params - Parameters for request
         * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
         * @param callback - Optional callback that handles the response.
         * @returns A promise if used with async/await, or void if used with a callback.
         */
        removeCampaignAutomaticallyCreatedAsset(params: Params$Resource$Customers$Removecampaignautomaticallycreatedasset, options: StreamMethodOptions): Promise<GaxiosResponseWithHTTP2<Readable>>;
        removeCampaignAutomaticallyCreatedAsset(params?: Params$Resource$Customers$Removecampaignautomaticallycreatedasset, options?: MethodOptions): Promise<GaxiosResponseWithHTTP2<Schema$GoogleAdsSearchads360V23Services__RemoveCampaignAutomaticallyCreatedAssetResponse>>;
        removeCampaignAutomaticallyCreatedAsset(params: Params$Resource$Customers$Removecampaignautomaticallycreatedasset, options: StreamMethodOptions | BodyResponseCallback<Readable>, callback: BodyResponseCallback<Readable>): void;
        removeCampaignAutomaticallyCreatedAsset(params: Params$Resource$Customers$Removecampaignautomaticallycreatedasset, options: MethodOptions | BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__RemoveCampaignAutomaticallyCreatedAssetResponse>, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__RemoveCampaignAutomaticallyCreatedAssetResponse>): void;
        removeCampaignAutomaticallyCreatedAsset(params: Params$Resource$Customers$Removecampaignautomaticallycreatedasset, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__RemoveCampaignAutomaticallyCreatedAssetResponse>): void;
        removeCampaignAutomaticallyCreatedAsset(callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__RemoveCampaignAutomaticallyCreatedAssetResponse>): void;
        /**
         * Searches for audience attributes that can be used to generate insights. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [FieldError]() [HeaderError]() [InternalError]() [QuotaError]() [RangeError]() [RequestError]()
         * @example
         * ```js
         * // Before running the sample:
         * // - Enable the API at:
         * //   https://console.developers.google.com/apis/api/searchads360.googleapis.com
         * // - Login into gcloud by running:
         * //   ```sh
         * //   $ gcloud auth application-default login
         * //   ```
         * // - Install the npm module by running:
         * //   ```sh
         * //   $ npm install googleapis
         * //   ```
         *
         * const {google} = require('googleapis');
         * const searchads360 = google.searchads360('v23');
         *
         * async function main() {
         *   const auth = new google.auth.GoogleAuth({
         *     // Scopes can be specified either as an array or as a single, space-delimited string.
         *     scopes: ['https://www.googleapis.com/auth/doubleclicksearch'],
         *   });
         *
         *   // Acquire an auth client, and bind it to all future calls
         *   const authClient = await auth.getClient();
         *   google.options({auth: authClient});
         *
         *   // Do the magic
         *   const res = await searchads360.customers.searchAudienceInsightsAttributes({
         *     // Required. The ID of the customer.
         *     customerId: '[^/]+',
         *
         *     // Request body metadata
         *     requestBody: {
         *       // request body parameters
         *       // {
         *       //   "customerInsightsGroup": "my_customerInsightsGroup",
         *       //   "dimensions": [],
         *       //   "insightsApplicationInfo": {},
         *       //   "locationCountryFilters": [],
         *       //   "queryText": "my_queryText",
         *       //   "youtubeReachLocation": {}
         *       // }
         *     },
         *   });
         *   console.log(res.data);
         *
         *   // Example response
         *   // {
         *   //   "attributes": []
         *   // }
         * }
         *
         * main().catch(e => {
         *   console.error(e);
         *   throw e;
         * });
         *
         * ```
         *
         * @param params - Parameters for request
         * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
         * @param callback - Optional callback that handles the response.
         * @returns A promise if used with async/await, or void if used with a callback.
         */
        searchAudienceInsightsAttributes(params: Params$Resource$Customers$Searchaudienceinsightsattributes, options: StreamMethodOptions): Promise<GaxiosResponseWithHTTP2<Readable>>;
        searchAudienceInsightsAttributes(params?: Params$Resource$Customers$Searchaudienceinsightsattributes, options?: MethodOptions): Promise<GaxiosResponseWithHTTP2<Schema$GoogleAdsSearchads360V23Services__ListAudienceInsightsAttributesResponse>>;
        searchAudienceInsightsAttributes(params: Params$Resource$Customers$Searchaudienceinsightsattributes, options: StreamMethodOptions | BodyResponseCallback<Readable>, callback: BodyResponseCallback<Readable>): void;
        searchAudienceInsightsAttributes(params: Params$Resource$Customers$Searchaudienceinsightsattributes, options: MethodOptions | BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__ListAudienceInsightsAttributesResponse>, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__ListAudienceInsightsAttributesResponse>): void;
        searchAudienceInsightsAttributes(params: Params$Resource$Customers$Searchaudienceinsightsattributes, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__ListAudienceInsightsAttributesResponse>): void;
        searchAudienceInsightsAttributes(callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__ListAudienceInsightsAttributesResponse>): void;
        /**
         * Starts Identity Verification for a given verification program type. Statuses are returned. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [HeaderError]() [InternalError]() [QuotaError]() [RequestError]()
         * @example
         * ```js
         * // Before running the sample:
         * // - Enable the API at:
         * //   https://console.developers.google.com/apis/api/searchads360.googleapis.com
         * // - Login into gcloud by running:
         * //   ```sh
         * //   $ gcloud auth application-default login
         * //   ```
         * // - Install the npm module by running:
         * //   ```sh
         * //   $ npm install googleapis
         * //   ```
         *
         * const {google} = require('googleapis');
         * const searchads360 = google.searchads360('v23');
         *
         * async function main() {
         *   const auth = new google.auth.GoogleAuth({
         *     // Scopes can be specified either as an array or as a single, space-delimited string.
         *     scopes: ['https://www.googleapis.com/auth/doubleclicksearch'],
         *   });
         *
         *   // Acquire an auth client, and bind it to all future calls
         *   const authClient = await auth.getClient();
         *   google.options({auth: authClient});
         *
         *   // Do the magic
         *   const res = await searchads360.customers.startIdentityVerification({
         *     // Required. The Id of the customer for whom we are creating this verification.
         *     customerId: '[^/]+',
         *
         *     // Request body metadata
         *     requestBody: {
         *       // request body parameters
         *       // {
         *       //   "verificationProgram": "my_verificationProgram"
         *       // }
         *     },
         *   });
         *   console.log(res.data);
         *
         *   // Example response
         *   // {}
         * }
         *
         * main().catch(e => {
         *   console.error(e);
         *   throw e;
         * });
         *
         * ```
         *
         * @param params - Parameters for request
         * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
         * @param callback - Optional callback that handles the response.
         * @returns A promise if used with async/await, or void if used with a callback.
         */
        startIdentityVerification(params: Params$Resource$Customers$Startidentityverification, options: StreamMethodOptions): Promise<GaxiosResponseWithHTTP2<Readable>>;
        startIdentityVerification(params?: Params$Resource$Customers$Startidentityverification, options?: MethodOptions): Promise<GaxiosResponseWithHTTP2<Schema$GoogleProtobuf__Empty>>;
        startIdentityVerification(params: Params$Resource$Customers$Startidentityverification, options: StreamMethodOptions | BodyResponseCallback<Readable>, callback: BodyResponseCallback<Readable>): void;
        startIdentityVerification(params: Params$Resource$Customers$Startidentityverification, options: MethodOptions | BodyResponseCallback<Schema$GoogleProtobuf__Empty>, callback: BodyResponseCallback<Schema$GoogleProtobuf__Empty>): void;
        startIdentityVerification(params: Params$Resource$Customers$Startidentityverification, callback: BodyResponseCallback<Schema$GoogleProtobuf__Empty>): void;
        startIdentityVerification(callback: BodyResponseCallback<Schema$GoogleProtobuf__Empty>): void;
        /**
         * Suggests keyword themes to advertise on.
         * @example
         * ```js
         * // Before running the sample:
         * // - Enable the API at:
         * //   https://console.developers.google.com/apis/api/searchads360.googleapis.com
         * // - Login into gcloud by running:
         * //   ```sh
         * //   $ gcloud auth application-default login
         * //   ```
         * // - Install the npm module by running:
         * //   ```sh
         * //   $ npm install googleapis
         * //   ```
         *
         * const {google} = require('googleapis');
         * const searchads360 = google.searchads360('v23');
         *
         * async function main() {
         *   const auth = new google.auth.GoogleAuth({
         *     // Scopes can be specified either as an array or as a single, space-delimited string.
         *     scopes: ['https://www.googleapis.com/auth/doubleclicksearch'],
         *   });
         *
         *   // Acquire an auth client, and bind it to all future calls
         *   const authClient = await auth.getClient();
         *   google.options({auth: authClient});
         *
         *   // Do the magic
         *   const res = await searchads360.customers.suggestKeywordThemes({
         *     // Required. The ID of the customer.
         *     customerId: '[^/]+',
         *
         *     // Request body metadata
         *     requestBody: {
         *       // request body parameters
         *       // {
         *       //   "suggestionInfo": {}
         *       // }
         *     },
         *   });
         *   console.log(res.data);
         *
         *   // Example response
         *   // {
         *   //   "keywordThemes": []
         *   // }
         * }
         *
         * main().catch(e => {
         *   console.error(e);
         *   throw e;
         * });
         *
         * ```
         *
         * @param params - Parameters for request
         * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
         * @param callback - Optional callback that handles the response.
         * @returns A promise if used with async/await, or void if used with a callback.
         */
        suggestKeywordThemes(params: Params$Resource$Customers$Suggestkeywordthemes, options: StreamMethodOptions): Promise<GaxiosResponseWithHTTP2<Readable>>;
        suggestKeywordThemes(params?: Params$Resource$Customers$Suggestkeywordthemes, options?: MethodOptions): Promise<GaxiosResponseWithHTTP2<Schema$GoogleAdsSearchads360V23Services__SuggestKeywordThemesResponse>>;
        suggestKeywordThemes(params: Params$Resource$Customers$Suggestkeywordthemes, options: StreamMethodOptions | BodyResponseCallback<Readable>, callback: BodyResponseCallback<Readable>): void;
        suggestKeywordThemes(params: Params$Resource$Customers$Suggestkeywordthemes, options: MethodOptions | BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__SuggestKeywordThemesResponse>, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__SuggestKeywordThemesResponse>): void;
        suggestKeywordThemes(params: Params$Resource$Customers$Suggestkeywordthemes, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__SuggestKeywordThemesResponse>): void;
        suggestKeywordThemes(callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__SuggestKeywordThemesResponse>): void;
        /**
         * Suggests a Smart campaign ad compatible with the Ad family of resources, based on data points such as targeting and the business to advertise.
         * @example
         * ```js
         * // Before running the sample:
         * // - Enable the API at:
         * //   https://console.developers.google.com/apis/api/searchads360.googleapis.com
         * // - Login into gcloud by running:
         * //   ```sh
         * //   $ gcloud auth application-default login
         * //   ```
         * // - Install the npm module by running:
         * //   ```sh
         * //   $ npm install googleapis
         * //   ```
         *
         * const {google} = require('googleapis');
         * const searchads360 = google.searchads360('v23');
         *
         * async function main() {
         *   const auth = new google.auth.GoogleAuth({
         *     // Scopes can be specified either as an array or as a single, space-delimited string.
         *     scopes: ['https://www.googleapis.com/auth/doubleclicksearch'],
         *   });
         *
         *   // Acquire an auth client, and bind it to all future calls
         *   const authClient = await auth.getClient();
         *   google.options({auth: authClient});
         *
         *   // Do the magic
         *   const res = await searchads360.customers.suggestSmartCampaignAd({
         *     // Required. The ID of the customer.
         *     customerId: '[^/]+',
         *
         *     // Request body metadata
         *     requestBody: {
         *       // request body parameters
         *       // {
         *       //   "suggestionInfo": {}
         *       // }
         *     },
         *   });
         *   console.log(res.data);
         *
         *   // Example response
         *   // {
         *   //   "adInfo": {}
         *   // }
         * }
         *
         * main().catch(e => {
         *   console.error(e);
         *   throw e;
         * });
         *
         * ```
         *
         * @param params - Parameters for request
         * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
         * @param callback - Optional callback that handles the response.
         * @returns A promise if used with async/await, or void if used with a callback.
         */
        suggestSmartCampaignAd(params: Params$Resource$Customers$Suggestsmartcampaignad, options: StreamMethodOptions): Promise<GaxiosResponseWithHTTP2<Readable>>;
        suggestSmartCampaignAd(params?: Params$Resource$Customers$Suggestsmartcampaignad, options?: MethodOptions): Promise<GaxiosResponseWithHTTP2<Schema$GoogleAdsSearchads360V23Services__SuggestSmartCampaignAdResponse>>;
        suggestSmartCampaignAd(params: Params$Resource$Customers$Suggestsmartcampaignad, options: StreamMethodOptions | BodyResponseCallback<Readable>, callback: BodyResponseCallback<Readable>): void;
        suggestSmartCampaignAd(params: Params$Resource$Customers$Suggestsmartcampaignad, options: MethodOptions | BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__SuggestSmartCampaignAdResponse>, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__SuggestSmartCampaignAdResponse>): void;
        suggestSmartCampaignAd(params: Params$Resource$Customers$Suggestsmartcampaignad, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__SuggestSmartCampaignAdResponse>): void;
        suggestSmartCampaignAd(callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__SuggestSmartCampaignAdResponse>): void;
        /**
         * Returns BudgetOption suggestions.
         * @example
         * ```js
         * // Before running the sample:
         * // - Enable the API at:
         * //   https://console.developers.google.com/apis/api/searchads360.googleapis.com
         * // - Login into gcloud by running:
         * //   ```sh
         * //   $ gcloud auth application-default login
         * //   ```
         * // - Install the npm module by running:
         * //   ```sh
         * //   $ npm install googleapis
         * //   ```
         *
         * const {google} = require('googleapis');
         * const searchads360 = google.searchads360('v23');
         *
         * async function main() {
         *   const auth = new google.auth.GoogleAuth({
         *     // Scopes can be specified either as an array or as a single, space-delimited string.
         *     scopes: ['https://www.googleapis.com/auth/doubleclicksearch'],
         *   });
         *
         *   // Acquire an auth client, and bind it to all future calls
         *   const authClient = await auth.getClient();
         *   google.options({auth: authClient});
         *
         *   // Do the magic
         *   const res = await searchads360.customers.suggestSmartCampaignBudgetOptions({
         *     // Required. The ID of the customer whose budget options are to be suggested.
         *     customerId: '[^/]+',
         *
         *     // Request body metadata
         *     requestBody: {
         *       // request body parameters
         *       // {
         *       //   "campaign": "my_campaign",
         *       //   "suggestionInfo": {}
         *       // }
         *     },
         *   });
         *   console.log(res.data);
         *
         *   // Example response
         *   // {
         *   //   "high": {},
         *   //   "low": {},
         *   //   "recommended": {}
         *   // }
         * }
         *
         * main().catch(e => {
         *   console.error(e);
         *   throw e;
         * });
         *
         * ```
         *
         * @param params - Parameters for request
         * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
         * @param callback - Optional callback that handles the response.
         * @returns A promise if used with async/await, or void if used with a callback.
         */
        suggestSmartCampaignBudgetOptions(params: Params$Resource$Customers$Suggestsmartcampaignbudgetoptions, options: StreamMethodOptions): Promise<GaxiosResponseWithHTTP2<Readable>>;
        suggestSmartCampaignBudgetOptions(params?: Params$Resource$Customers$Suggestsmartcampaignbudgetoptions, options?: MethodOptions): Promise<GaxiosResponseWithHTTP2<Schema$GoogleAdsSearchads360V23Services__SuggestSmartCampaignBudgetOptionsResponse>>;
        suggestSmartCampaignBudgetOptions(params: Params$Resource$Customers$Suggestsmartcampaignbudgetoptions, options: StreamMethodOptions | BodyResponseCallback<Readable>, callback: BodyResponseCallback<Readable>): void;
        suggestSmartCampaignBudgetOptions(params: Params$Resource$Customers$Suggestsmartcampaignbudgetoptions, options: MethodOptions | BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__SuggestSmartCampaignBudgetOptionsResponse>, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__SuggestSmartCampaignBudgetOptionsResponse>): void;
        suggestSmartCampaignBudgetOptions(params: Params$Resource$Customers$Suggestsmartcampaignbudgetoptions, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__SuggestSmartCampaignBudgetOptionsResponse>): void;
        suggestSmartCampaignBudgetOptions(callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__SuggestSmartCampaignBudgetOptionsResponse>): void;
        /**
         * Returns Travel Asset suggestions. Asset suggestions are returned on a best-effort basis. There are no guarantees that all possible asset types will be returned for any given hotel property.
         * @example
         * ```js
         * // Before running the sample:
         * // - Enable the API at:
         * //   https://console.developers.google.com/apis/api/searchads360.googleapis.com
         * // - Login into gcloud by running:
         * //   ```sh
         * //   $ gcloud auth application-default login
         * //   ```
         * // - Install the npm module by running:
         * //   ```sh
         * //   $ npm install googleapis
         * //   ```
         *
         * const {google} = require('googleapis');
         * const searchads360 = google.searchads360('v23');
         *
         * async function main() {
         *   const auth = new google.auth.GoogleAuth({
         *     // Scopes can be specified either as an array or as a single, space-delimited string.
         *     scopes: ['https://www.googleapis.com/auth/doubleclicksearch'],
         *   });
         *
         *   // Acquire an auth client, and bind it to all future calls
         *   const authClient = await auth.getClient();
         *   google.options({auth: authClient});
         *
         *   // Do the magic
         *   const res = await searchads360.customers.suggestTravelAssets({
         *     // Required. The ID of the customer.
         *     customerId: '[^/]+',
         *
         *     // Request body metadata
         *     requestBody: {
         *       // request body parameters
         *       // {
         *       //   "languageOption": "my_languageOption",
         *       //   "placeIds": []
         *       // }
         *     },
         *   });
         *   console.log(res.data);
         *
         *   // Example response
         *   // {
         *   //   "hotelAssetSuggestions": []
         *   // }
         * }
         *
         * main().catch(e => {
         *   console.error(e);
         *   throw e;
         * });
         *
         * ```
         *
         * @param params - Parameters for request
         * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
         * @param callback - Optional callback that handles the response.
         * @returns A promise if used with async/await, or void if used with a callback.
         */
        suggestTravelAssets(params: Params$Resource$Customers$Suggesttravelassets, options: StreamMethodOptions): Promise<GaxiosResponseWithHTTP2<Readable>>;
        suggestTravelAssets(params?: Params$Resource$Customers$Suggesttravelassets, options?: MethodOptions): Promise<GaxiosResponseWithHTTP2<Schema$GoogleAdsSearchads360V23Services__SuggestTravelAssetsResponse>>;
        suggestTravelAssets(params: Params$Resource$Customers$Suggesttravelassets, options: StreamMethodOptions | BodyResponseCallback<Readable>, callback: BodyResponseCallback<Readable>): void;
        suggestTravelAssets(params: Params$Resource$Customers$Suggesttravelassets, options: MethodOptions | BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__SuggestTravelAssetsResponse>, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__SuggestTravelAssetsResponse>): void;
        suggestTravelAssets(params: Params$Resource$Customers$Suggesttravelassets, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__SuggestTravelAssetsResponse>): void;
        suggestTravelAssets(callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__SuggestTravelAssetsResponse>): void;
        /**
         * Processes the given call conversions. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [HeaderError]() [InternalError]() [PartialFailureError]() [QuotaError]() [RequestError]()
         * @example
         * ```js
         * // Before running the sample:
         * // - Enable the API at:
         * //   https://console.developers.google.com/apis/api/searchads360.googleapis.com
         * // - Login into gcloud by running:
         * //   ```sh
         * //   $ gcloud auth application-default login
         * //   ```
         * // - Install the npm module by running:
         * //   ```sh
         * //   $ npm install googleapis
         * //   ```
         *
         * const {google} = require('googleapis');
         * const searchads360 = google.searchads360('v23');
         *
         * async function main() {
         *   const auth = new google.auth.GoogleAuth({
         *     // Scopes can be specified either as an array or as a single, space-delimited string.
         *     scopes: ['https://www.googleapis.com/auth/doubleclicksearch'],
         *   });
         *
         *   // Acquire an auth client, and bind it to all future calls
         *   const authClient = await auth.getClient();
         *   google.options({auth: authClient});
         *
         *   // Do the magic
         *   const res = await searchads360.customers.uploadCallConversions({
         *     // Required. The ID of the customer performing the upload.
         *     customerId: '[^/]+',
         *
         *     // Request body metadata
         *     requestBody: {
         *       // request body parameters
         *       // {
         *       //   "conversions": [],
         *       //   "partialFailure": false,
         *       //   "validateOnly": false
         *       // }
         *     },
         *   });
         *   console.log(res.data);
         *
         *   // Example response
         *   // {
         *   //   "partialFailureError": {},
         *   //   "results": []
         *   // }
         * }
         *
         * main().catch(e => {
         *   console.error(e);
         *   throw e;
         * });
         *
         * ```
         *
         * @param params - Parameters for request
         * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
         * @param callback - Optional callback that handles the response.
         * @returns A promise if used with async/await, or void if used with a callback.
         */
        uploadCallConversions(params: Params$Resource$Customers$Uploadcallconversions, options: StreamMethodOptions): Promise<GaxiosResponseWithHTTP2<Readable>>;
        uploadCallConversions(params?: Params$Resource$Customers$Uploadcallconversions, options?: MethodOptions): Promise<GaxiosResponseWithHTTP2<Schema$GoogleAdsSearchads360V23Services__UploadCallConversionsResponse>>;
        uploadCallConversions(params: Params$Resource$Customers$Uploadcallconversions, options: StreamMethodOptions | BodyResponseCallback<Readable>, callback: BodyResponseCallback<Readable>): void;
        uploadCallConversions(params: Params$Resource$Customers$Uploadcallconversions, options: MethodOptions | BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__UploadCallConversionsResponse>, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__UploadCallConversionsResponse>): void;
        uploadCallConversions(params: Params$Resource$Customers$Uploadcallconversions, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__UploadCallConversionsResponse>): void;
        uploadCallConversions(callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__UploadCallConversionsResponse>): void;
        /**
         * Processes the given click conversions. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [ConversionUploadError]() [HeaderError]() [InternalError]() [PartialFailureError]() [QuotaError]() [RequestError]()
         * @example
         * ```js
         * // Before running the sample:
         * // - Enable the API at:
         * //   https://console.developers.google.com/apis/api/searchads360.googleapis.com
         * // - Login into gcloud by running:
         * //   ```sh
         * //   $ gcloud auth application-default login
         * //   ```
         * // - Install the npm module by running:
         * //   ```sh
         * //   $ npm install googleapis
         * //   ```
         *
         * const {google} = require('googleapis');
         * const searchads360 = google.searchads360('v23');
         *
         * async function main() {
         *   const auth = new google.auth.GoogleAuth({
         *     // Scopes can be specified either as an array or as a single, space-delimited string.
         *     scopes: ['https://www.googleapis.com/auth/doubleclicksearch'],
         *   });
         *
         *   // Acquire an auth client, and bind it to all future calls
         *   const authClient = await auth.getClient();
         *   google.options({auth: authClient});
         *
         *   // Do the magic
         *   const res = await searchads360.customers.uploadClickConversions({
         *     // Required. The ID of the customer performing the upload.
         *     customerId: '[^/]+',
         *
         *     // Request body metadata
         *     requestBody: {
         *       // request body parameters
         *       // {
         *       //   "conversions": [],
         *       //   "jobId": 0,
         *       //   "partialFailure": false,
         *       //   "validateOnly": false
         *       // }
         *     },
         *   });
         *   console.log(res.data);
         *
         *   // Example response
         *   // {
         *   //   "jobId": "my_jobId",
         *   //   "partialFailureError": {},
         *   //   "results": []
         *   // }
         * }
         *
         * main().catch(e => {
         *   console.error(e);
         *   throw e;
         * });
         *
         * ```
         *
         * @param params - Parameters for request
         * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
         * @param callback - Optional callback that handles the response.
         * @returns A promise if used with async/await, or void if used with a callback.
         */
        uploadClickConversions(params: Params$Resource$Customers$Uploadclickconversions, options: StreamMethodOptions): Promise<GaxiosResponseWithHTTP2<Readable>>;
        uploadClickConversions(params?: Params$Resource$Customers$Uploadclickconversions, options?: MethodOptions): Promise<GaxiosResponseWithHTTP2<Schema$GoogleAdsSearchads360V23Services__UploadClickConversionsResponse>>;
        uploadClickConversions(params: Params$Resource$Customers$Uploadclickconversions, options: StreamMethodOptions | BodyResponseCallback<Readable>, callback: BodyResponseCallback<Readable>): void;
        uploadClickConversions(params: Params$Resource$Customers$Uploadclickconversions, options: MethodOptions | BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__UploadClickConversionsResponse>, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__UploadClickConversionsResponse>): void;
        uploadClickConversions(params: Params$Resource$Customers$Uploadclickconversions, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__UploadClickConversionsResponse>): void;
        uploadClickConversions(callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__UploadClickConversionsResponse>): void;
        /**
         * Processes the given conversion adjustments. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [HeaderError]() [InternalError]() [PartialFailureError]() [QuotaError]() [RequestError]()
         * @example
         * ```js
         * // Before running the sample:
         * // - Enable the API at:
         * //   https://console.developers.google.com/apis/api/searchads360.googleapis.com
         * // - Login into gcloud by running:
         * //   ```sh
         * //   $ gcloud auth application-default login
         * //   ```
         * // - Install the npm module by running:
         * //   ```sh
         * //   $ npm install googleapis
         * //   ```
         *
         * const {google} = require('googleapis');
         * const searchads360 = google.searchads360('v23');
         *
         * async function main() {
         *   const auth = new google.auth.GoogleAuth({
         *     // Scopes can be specified either as an array or as a single, space-delimited string.
         *     scopes: ['https://www.googleapis.com/auth/doubleclicksearch'],
         *   });
         *
         *   // Acquire an auth client, and bind it to all future calls
         *   const authClient = await auth.getClient();
         *   google.options({auth: authClient});
         *
         *   // Do the magic
         *   const res = await searchads360.customers.uploadConversionAdjustments({
         *     // Required. The ID of the customer performing the upload.
         *     customerId: '[^/]+',
         *
         *     // Request body metadata
         *     requestBody: {
         *       // request body parameters
         *       // {
         *       //   "conversionAdjustments": [],
         *       //   "jobId": 0,
         *       //   "partialFailure": false,
         *       //   "validateOnly": false
         *       // }
         *     },
         *   });
         *   console.log(res.data);
         *
         *   // Example response
         *   // {
         *   //   "jobId": "my_jobId",
         *   //   "partialFailureError": {},
         *   //   "results": []
         *   // }
         * }
         *
         * main().catch(e => {
         *   console.error(e);
         *   throw e;
         * });
         *
         * ```
         *
         * @param params - Parameters for request
         * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
         * @param callback - Optional callback that handles the response.
         * @returns A promise if used with async/await, or void if used with a callback.
         */
        uploadConversionAdjustments(params: Params$Resource$Customers$Uploadconversionadjustments, options: StreamMethodOptions): Promise<GaxiosResponseWithHTTP2<Readable>>;
        uploadConversionAdjustments(params?: Params$Resource$Customers$Uploadconversionadjustments, options?: MethodOptions): Promise<GaxiosResponseWithHTTP2<Schema$GoogleAdsSearchads360V23Services__UploadConversionAdjustmentsResponse>>;
        uploadConversionAdjustments(params: Params$Resource$Customers$Uploadconversionadjustments, options: StreamMethodOptions | BodyResponseCallback<Readable>, callback: BodyResponseCallback<Readable>): void;
        uploadConversionAdjustments(params: Params$Resource$Customers$Uploadconversionadjustments, options: MethodOptions | BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__UploadConversionAdjustmentsResponse>, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__UploadConversionAdjustmentsResponse>): void;
        uploadConversionAdjustments(params: Params$Resource$Customers$Uploadconversionadjustments, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__UploadConversionAdjustmentsResponse>): void;
        uploadConversionAdjustments(callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__UploadConversionAdjustmentsResponse>): void;
        /**
         * Uploads the given user data. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [CollectionSizeError]() [FieldError]() [HeaderError]() [InternalError]() [MutateError]() [OfflineUserDataJobError]() [QuotaError]() [RequestError]() [UserDataError]()
         * @example
         * ```js
         * // Before running the sample:
         * // - Enable the API at:
         * //   https://console.developers.google.com/apis/api/searchads360.googleapis.com
         * // - Login into gcloud by running:
         * //   ```sh
         * //   $ gcloud auth application-default login
         * //   ```
         * // - Install the npm module by running:
         * //   ```sh
         * //   $ npm install googleapis
         * //   ```
         *
         * const {google} = require('googleapis');
         * const searchads360 = google.searchads360('v23');
         *
         * async function main() {
         *   const auth = new google.auth.GoogleAuth({
         *     // Scopes can be specified either as an array or as a single, space-delimited string.
         *     scopes: ['https://www.googleapis.com/auth/doubleclicksearch'],
         *   });
         *
         *   // Acquire an auth client, and bind it to all future calls
         *   const authClient = await auth.getClient();
         *   google.options({auth: authClient});
         *
         *   // Do the magic
         *   const res = await searchads360.customers.uploadUserData({
         *     // Required. The ID of the customer for which to update the user data.
         *     customerId: '[^/]+',
         *
         *     // Request body metadata
         *     requestBody: {
         *       // request body parameters
         *       // {
         *       //   "customerMatchUserListMetadata": {},
         *       //   "operations": []
         *       // }
         *     },
         *   });
         *   console.log(res.data);
         *
         *   // Example response
         *   // {
         *   //   "receivedOperationsCount": 0,
         *   //   "uploadDateTime": "my_uploadDateTime"
         *   // }
         * }
         *
         * main().catch(e => {
         *   console.error(e);
         *   throw e;
         * });
         *
         * ```
         *
         * @param params - Parameters for request
         * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
         * @param callback - Optional callback that handles the response.
         * @returns A promise if used with async/await, or void if used with a callback.
         */
        uploadUserData(params: Params$Resource$Customers$Uploaduserdata, options: StreamMethodOptions): Promise<GaxiosResponseWithHTTP2<Readable>>;
        uploadUserData(params?: Params$Resource$Customers$Uploaduserdata, options?: MethodOptions): Promise<GaxiosResponseWithHTTP2<Schema$GoogleAdsSearchads360V23Services__UploadUserDataResponse>>;
        uploadUserData(params: Params$Resource$Customers$Uploaduserdata, options: StreamMethodOptions | BodyResponseCallback<Readable>, callback: BodyResponseCallback<Readable>): void;
        uploadUserData(params: Params$Resource$Customers$Uploaduserdata, options: MethodOptions | BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__UploadUserDataResponse>, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__UploadUserDataResponse>): void;
        uploadUserData(params: Params$Resource$Customers$Uploaduserdata, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__UploadUserDataResponse>): void;
        uploadUserData(callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__UploadUserDataResponse>): void;
    }
    export interface Params$Resource$Customers$Createcustomerclient extends StandardParameters {
        /**
         * Required. The ID of the Manager under whom client customer is being created.
         */
        customerId?: string;
        /**
         * Request body metadata
         */
        requestBody?: Schema$GoogleAdsSearchads360V23Services__CreateCustomerClientRequest;
    }
    export interface Params$Resource$Customers$Generateadgroupthemes extends StandardParameters {
        /**
         * Required. The ID of the customer.
         */
        customerId?: string;
        /**
         * Request body metadata
         */
        requestBody?: Schema$GoogleAdsSearchads360V23Services__GenerateAdGroupThemesRequest;
    }
    export interface Params$Resource$Customers$Generateaudiencecompositioninsights extends StandardParameters {
        /**
         * Required. The ID of the customer.
         */
        customerId?: string;
        /**
         * Request body metadata
         */
        requestBody?: Schema$GoogleAdsSearchads360V23Services__GenerateAudienceCompositionInsightsRequest;
    }
    export interface Params$Resource$Customers$Generateaudiencedefinition extends StandardParameters {
        /**
         * Required. The ID of the customer.
         */
        customerId?: string;
        /**
         * Request body metadata
         */
        requestBody?: Schema$GoogleAdsSearchads360V23Services__GenerateAudienceDefinitionRequest;
    }
    export interface Params$Resource$Customers$Generateaudienceoverlapinsights extends StandardParameters {
        /**
         * Required. The ID of the customer.
         */
        customerId?: string;
        /**
         * Request body metadata
         */
        requestBody?: Schema$GoogleAdsSearchads360V23Services__GenerateAudienceOverlapInsightsRequest;
    }
    export interface Params$Resource$Customers$Generatebenchmarksmetrics extends StandardParameters {
        /**
         * Required. The ID of the customer. Supply a client customer ID to generate metrics for the customer. A manager account customer ID will not return customer metrics since it does not have any associated direct ad campaigns.
         */
        customerId?: string;
        /**
         * Request body metadata
         */
        requestBody?: Schema$GoogleAdsSearchads360V23Services__GenerateBenchmarksMetricsRequest;
    }
    export interface Params$Resource$Customers$Generateinsightsfinderreport extends StandardParameters {
        /**
         * Required. The ID of the customer.
         */
        customerId?: string;
        /**
         * Request body metadata
         */
        requestBody?: Schema$GoogleAdsSearchads360V23Services__GenerateInsightsFinderReportRequest;
    }
    export interface Params$Resource$Customers$Generatekeywordforecastmetrics extends StandardParameters {
        /**
         * The ID of the customer.
         */
        customerId?: string;
        /**
         * Request body metadata
         */
        requestBody?: Schema$GoogleAdsSearchads360V23Services__GenerateKeywordForecastMetricsRequest;
    }
    export interface Params$Resource$Customers$Generatekeywordhistoricalmetrics extends StandardParameters {
        /**
         * The ID of the customer with the recommendation.
         */
        customerId?: string;
        /**
         * Request body metadata
         */
        requestBody?: Schema$GoogleAdsSearchads360V23Services__GenerateKeywordHistoricalMetricsRequest;
    }
    export interface Params$Resource$Customers$Generatekeywordideas extends StandardParameters {
        /**
         * The ID of the customer with the recommendation.
         */
        customerId?: string;
        /**
         * Request body metadata
         */
        requestBody?: Schema$GoogleAdsSearchads360V23Services__GenerateKeywordIdeasRequest;
    }
    export interface Params$Resource$Customers$Generatereachforecast extends StandardParameters {
        /**
         * Required. The ID of the customer.
         */
        customerId?: string;
        /**
         * Request body metadata
         */
        requestBody?: Schema$GoogleAdsSearchads360V23Services__GenerateReachForecastRequest;
    }
    export interface Params$Resource$Customers$Generatesuggestedtargetinginsights extends StandardParameters {
        /**
         * Required. The ID of the customer.
         */
        customerId?: string;
        /**
         * Request body metadata
         */
        requestBody?: Schema$GoogleAdsSearchads360V23Services__GenerateSuggestedTargetingInsightsRequest;
    }
    export interface Params$Resource$Customers$Generatetargetingsuggestionmetrics extends StandardParameters {
        /**
         * Required. The ID of the customer.
         */
        customerId?: string;
        /**
         * Request body metadata
         */
        requestBody?: Schema$GoogleAdsSearchads360V23Services__GenerateTargetingSuggestionMetricsRequest;
    }
    export interface Params$Resource$Customers$Getidentityverification extends StandardParameters {
        /**
         * Required. The ID of the customer for whom we are requesting verification information.
         */
        customerId?: string;
    }
    export interface Params$Resource$Customers$Listaccessiblecustomers extends StandardParameters {
    }
    export interface Params$Resource$Customers$Mutate extends StandardParameters {
        /**
         * Required. The ID of the customer being modified.
         */
        customerId?: string;
        /**
         * Request body metadata
         */
        requestBody?: Schema$GoogleAdsSearchads360V23Services__MutateCustomerRequest;
    }
    export interface Params$Resource$Customers$Removecampaignautomaticallycreatedasset extends StandardParameters {
        /**
         * Required. The ID of the customer whose assets are being removed.
         */
        customerId?: string;
        /**
         * Request body metadata
         */
        requestBody?: Schema$GoogleAdsSearchads360V23Services__RemoveCampaignAutomaticallyCreatedAssetRequest;
    }
    export interface Params$Resource$Customers$Searchaudienceinsightsattributes extends StandardParameters {
        /**
         * Required. The ID of the customer.
         */
        customerId?: string;
        /**
         * Request body metadata
         */
        requestBody?: Schema$GoogleAdsSearchads360V23Services__ListAudienceInsightsAttributesRequest;
    }
    export interface Params$Resource$Customers$Startidentityverification extends StandardParameters {
        /**
         * Required. The Id of the customer for whom we are creating this verification.
         */
        customerId?: string;
        /**
         * Request body metadata
         */
        requestBody?: Schema$GoogleAdsSearchads360V23Services__StartIdentityVerificationRequest;
    }
    export interface Params$Resource$Customers$Suggestkeywordthemes extends StandardParameters {
        /**
         * Required. The ID of the customer.
         */
        customerId?: string;
        /**
         * Request body metadata
         */
        requestBody?: Schema$GoogleAdsSearchads360V23Services__SuggestKeywordThemesRequest;
    }
    export interface Params$Resource$Customers$Suggestsmartcampaignad extends StandardParameters {
        /**
         * Required. The ID of the customer.
         */
        customerId?: string;
        /**
         * Request body metadata
         */
        requestBody?: Schema$GoogleAdsSearchads360V23Services__SuggestSmartCampaignAdRequest;
    }
    export interface Params$Resource$Customers$Suggestsmartcampaignbudgetoptions extends StandardParameters {
        /**
         * Required. The ID of the customer whose budget options are to be suggested.
         */
        customerId?: string;
        /**
         * Request body metadata
         */
        requestBody?: Schema$GoogleAdsSearchads360V23Services__SuggestSmartCampaignBudgetOptionsRequest;
    }
    export interface Params$Resource$Customers$Suggesttravelassets extends StandardParameters {
        /**
         * Required. The ID of the customer.
         */
        customerId?: string;
        /**
         * Request body metadata
         */
        requestBody?: Schema$GoogleAdsSearchads360V23Services__SuggestTravelAssetsRequest;
    }
    export interface Params$Resource$Customers$Uploadcallconversions extends StandardParameters {
        /**
         * Required. The ID of the customer performing the upload.
         */
        customerId?: string;
        /**
         * Request body metadata
         */
        requestBody?: Schema$GoogleAdsSearchads360V23Services__UploadCallConversionsRequest;
    }
    export interface Params$Resource$Customers$Uploadclickconversions extends StandardParameters {
        /**
         * Required. The ID of the customer performing the upload.
         */
        customerId?: string;
        /**
         * Request body metadata
         */
        requestBody?: Schema$GoogleAdsSearchads360V23Services__UploadClickConversionsRequest;
    }
    export interface Params$Resource$Customers$Uploadconversionadjustments extends StandardParameters {
        /**
         * Required. The ID of the customer performing the upload.
         */
        customerId?: string;
        /**
         * Request body metadata
         */
        requestBody?: Schema$GoogleAdsSearchads360V23Services__UploadConversionAdjustmentsRequest;
    }
    export interface Params$Resource$Customers$Uploaduserdata extends StandardParameters {
        /**
         * Required. The ID of the customer for which to update the user data.
         */
        customerId?: string;
        /**
         * Request body metadata
         */
        requestBody?: Schema$GoogleAdsSearchads360V23Services__UploadUserDataRequest;
    }
    export class Resource$Customers$Accountbudgetproposals {
        context: APIRequestContext;
        constructor(context: APIRequestContext);
        /**
         * Creates, updates, or removes account budget proposals. Operation statuses are returned. List of thrown errors: [AccountBudgetProposalError]() [AuthenticationError]() [AuthorizationError]() [DatabaseError]() [DateError]() [FieldError]() [FieldMaskError]() [HeaderError]() [InternalError]() [MutateError]() [QuotaError]() [RequestError]() [StringLengthError]()
         * @example
         * ```js
         * // Before running the sample:
         * // - Enable the API at:
         * //   https://console.developers.google.com/apis/api/searchads360.googleapis.com
         * // - Login into gcloud by running:
         * //   ```sh
         * //   $ gcloud auth application-default login
         * //   ```
         * // - Install the npm module by running:
         * //   ```sh
         * //   $ npm install googleapis
         * //   ```
         *
         * const {google} = require('googleapis');
         * const searchads360 = google.searchads360('v23');
         *
         * async function main() {
         *   const auth = new google.auth.GoogleAuth({
         *     // Scopes can be specified either as an array or as a single, space-delimited string.
         *     scopes: ['https://www.googleapis.com/auth/doubleclicksearch'],
         *   });
         *
         *   // Acquire an auth client, and bind it to all future calls
         *   const authClient = await auth.getClient();
         *   google.options({auth: authClient});
         *
         *   // Do the magic
         *   const res = await searchads360.customers.accountBudgetProposals.mutate({
         *     // Required. The ID of the customer.
         *     customerId: '[^/]+',
         *
         *     // Request body metadata
         *     requestBody: {
         *       // request body parameters
         *       // {
         *       //   "operation": {},
         *       //   "validateOnly": false
         *       // }
         *     },
         *   });
         *   console.log(res.data);
         *
         *   // Example response
         *   // {
         *   //   "result": {}
         *   // }
         * }
         *
         * main().catch(e => {
         *   console.error(e);
         *   throw e;
         * });
         *
         * ```
         *
         * @param params - Parameters for request
         * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
         * @param callback - Optional callback that handles the response.
         * @returns A promise if used with async/await, or void if used with a callback.
         */
        mutate(params: Params$Resource$Customers$Accountbudgetproposals$Mutate, options: StreamMethodOptions): Promise<GaxiosResponseWithHTTP2<Readable>>;
        mutate(params?: Params$Resource$Customers$Accountbudgetproposals$Mutate, options?: MethodOptions): Promise<GaxiosResponseWithHTTP2<Schema$GoogleAdsSearchads360V23Services__MutateAccountBudgetProposalResponse>>;
        mutate(params: Params$Resource$Customers$Accountbudgetproposals$Mutate, options: StreamMethodOptions | BodyResponseCallback<Readable>, callback: BodyResponseCallback<Readable>): void;
        mutate(params: Params$Resource$Customers$Accountbudgetproposals$Mutate, options: MethodOptions | BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateAccountBudgetProposalResponse>, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateAccountBudgetProposalResponse>): void;
        mutate(params: Params$Resource$Customers$Accountbudgetproposals$Mutate, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateAccountBudgetProposalResponse>): void;
        mutate(callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateAccountBudgetProposalResponse>): void;
    }
    export interface Params$Resource$Customers$Accountbudgetproposals$Mutate extends StandardParameters {
        /**
         * Required. The ID of the customer.
         */
        customerId?: string;
        /**
         * Request body metadata
         */
        requestBody?: Schema$GoogleAdsSearchads360V23Services__MutateAccountBudgetProposalRequest;
    }
    export class Resource$Customers$Accountlinks {
        context: APIRequestContext;
        constructor(context: APIRequestContext);
        /**
         * Creates an account link. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [DatabaseError]() [FieldError]() [HeaderError]() [InternalError]() [MutateError]() [QuotaError]() [RequestError]() [ThirdPartyAppAnalyticsLinkError]()
         * @example
         * ```js
         * // Before running the sample:
         * // - Enable the API at:
         * //   https://console.developers.google.com/apis/api/searchads360.googleapis.com
         * // - Login into gcloud by running:
         * //   ```sh
         * //   $ gcloud auth application-default login
         * //   ```
         * // - Install the npm module by running:
         * //   ```sh
         * //   $ npm install googleapis
         * //   ```
         *
         * const {google} = require('googleapis');
         * const searchads360 = google.searchads360('v23');
         *
         * async function main() {
         *   const auth = new google.auth.GoogleAuth({
         *     // Scopes can be specified either as an array or as a single, space-delimited string.
         *     scopes: ['https://www.googleapis.com/auth/doubleclicksearch'],
         *   });
         *
         *   // Acquire an auth client, and bind it to all future calls
         *   const authClient = await auth.getClient();
         *   google.options({auth: authClient});
         *
         *   // Do the magic
         *   const res = await searchads360.customers.accountLinks.create({
         *     // Required. The ID of the customer for which the account link is created.
         *     customerId: '[^/]+',
         *
         *     // Request body metadata
         *     requestBody: {
         *       // request body parameters
         *       // {
         *       //   "accountLink": {}
         *       // }
         *     },
         *   });
         *   console.log(res.data);
         *
         *   // Example response
         *   // {
         *   //   "resourceName": "my_resourceName"
         *   // }
         * }
         *
         * main().catch(e => {
         *   console.error(e);
         *   throw e;
         * });
         *
         * ```
         *
         * @param params - Parameters for request
         * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
         * @param callback - Optional callback that handles the response.
         * @returns A promise if used with async/await, or void if used with a callback.
         */
        create(params: Params$Resource$Customers$Accountlinks$Create, options: StreamMethodOptions): Promise<GaxiosResponseWithHTTP2<Readable>>;
        create(params?: Params$Resource$Customers$Accountlinks$Create, options?: MethodOptions): Promise<GaxiosResponseWithHTTP2<Schema$GoogleAdsSearchads360V23Services__CreateAccountLinkResponse>>;
        create(params: Params$Resource$Customers$Accountlinks$Create, options: StreamMethodOptions | BodyResponseCallback<Readable>, callback: BodyResponseCallback<Readable>): void;
        create(params: Params$Resource$Customers$Accountlinks$Create, options: MethodOptions | BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__CreateAccountLinkResponse>, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__CreateAccountLinkResponse>): void;
        create(params: Params$Resource$Customers$Accountlinks$Create, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__CreateAccountLinkResponse>): void;
        create(callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__CreateAccountLinkResponse>): void;
        /**
         * Creates or removes an account link. From V5, create is not supported through AccountLinkService.MutateAccountLink. Use AccountLinkService.CreateAccountLink instead. List of thrown errors: [AccountLinkError]() [AuthenticationError]() [AuthorizationError]() [FieldMaskError]() [HeaderError]() [InternalError]() [MutateError]() [QuotaError]() [RequestError]()
         * @example
         * ```js
         * // Before running the sample:
         * // - Enable the API at:
         * //   https://console.developers.google.com/apis/api/searchads360.googleapis.com
         * // - Login into gcloud by running:
         * //   ```sh
         * //   $ gcloud auth application-default login
         * //   ```
         * // - Install the npm module by running:
         * //   ```sh
         * //   $ npm install googleapis
         * //   ```
         *
         * const {google} = require('googleapis');
         * const searchads360 = google.searchads360('v23');
         *
         * async function main() {
         *   const auth = new google.auth.GoogleAuth({
         *     // Scopes can be specified either as an array or as a single, space-delimited string.
         *     scopes: ['https://www.googleapis.com/auth/doubleclicksearch'],
         *   });
         *
         *   // Acquire an auth client, and bind it to all future calls
         *   const authClient = await auth.getClient();
         *   google.options({auth: authClient});
         *
         *   // Do the magic
         *   const res = await searchads360.customers.accountLinks.mutate({
         *     // Required. The ID of the customer being modified.
         *     customerId: '[^/]+',
         *
         *     // Request body metadata
         *     requestBody: {
         *       // request body parameters
         *       // {
         *       //   "operation": {},
         *       //   "partialFailure": false,
         *       //   "validateOnly": false
         *       // }
         *     },
         *   });
         *   console.log(res.data);
         *
         *   // Example response
         *   // {
         *   //   "partialFailureError": {},
         *   //   "result": {}
         *   // }
         * }
         *
         * main().catch(e => {
         *   console.error(e);
         *   throw e;
         * });
         *
         * ```
         *
         * @param params - Parameters for request
         * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
         * @param callback - Optional callback that handles the response.
         * @returns A promise if used with async/await, or void if used with a callback.
         */
        mutate(params: Params$Resource$Customers$Accountlinks$Mutate, options: StreamMethodOptions): Promise<GaxiosResponseWithHTTP2<Readable>>;
        mutate(params?: Params$Resource$Customers$Accountlinks$Mutate, options?: MethodOptions): Promise<GaxiosResponseWithHTTP2<Schema$GoogleAdsSearchads360V23Services__MutateAccountLinkResponse>>;
        mutate(params: Params$Resource$Customers$Accountlinks$Mutate, options: StreamMethodOptions | BodyResponseCallback<Readable>, callback: BodyResponseCallback<Readable>): void;
        mutate(params: Params$Resource$Customers$Accountlinks$Mutate, options: MethodOptions | BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateAccountLinkResponse>, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateAccountLinkResponse>): void;
        mutate(params: Params$Resource$Customers$Accountlinks$Mutate, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateAccountLinkResponse>): void;
        mutate(callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateAccountLinkResponse>): void;
    }
    export interface Params$Resource$Customers$Accountlinks$Create extends StandardParameters {
        /**
         * Required. The ID of the customer for which the account link is created.
         */
        customerId?: string;
        /**
         * Request body metadata
         */
        requestBody?: Schema$GoogleAdsSearchads360V23Services__CreateAccountLinkRequest;
    }
    export interface Params$Resource$Customers$Accountlinks$Mutate extends StandardParameters {
        /**
         * Required. The ID of the customer being modified.
         */
        customerId?: string;
        /**
         * Request body metadata
         */
        requestBody?: Schema$GoogleAdsSearchads360V23Services__MutateAccountLinkRequest;
    }
    export class Resource$Customers$Adgroupadlabels {
        context: APIRequestContext;
        constructor(context: APIRequestContext);
        /**
         * Creates and removes ad group ad labels. Operation statuses are returned. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [DatabaseError]() [HeaderError]() [InternalError]() [LabelError]() [MutateError]() [NewResourceCreationError]() [QuotaError]() [RequestError]()
         * @example
         * ```js
         * // Before running the sample:
         * // - Enable the API at:
         * //   https://console.developers.google.com/apis/api/searchads360.googleapis.com
         * // - Login into gcloud by running:
         * //   ```sh
         * //   $ gcloud auth application-default login
         * //   ```
         * // - Install the npm module by running:
         * //   ```sh
         * //   $ npm install googleapis
         * //   ```
         *
         * const {google} = require('googleapis');
         * const searchads360 = google.searchads360('v23');
         *
         * async function main() {
         *   const auth = new google.auth.GoogleAuth({
         *     // Scopes can be specified either as an array or as a single, space-delimited string.
         *     scopes: ['https://www.googleapis.com/auth/doubleclicksearch'],
         *   });
         *
         *   // Acquire an auth client, and bind it to all future calls
         *   const authClient = await auth.getClient();
         *   google.options({auth: authClient});
         *
         *   // Do the magic
         *   const res = await searchads360.customers.adGroupAdLabels.mutate({
         *     // Required. ID of the customer whose ad group ad labels are being modified.
         *     customerId: '[^/]+',
         *
         *     // Request body metadata
         *     requestBody: {
         *       // request body parameters
         *       // {
         *       //   "operations": [],
         *       //   "partialFailure": false,
         *       //   "validateOnly": false
         *       // }
         *     },
         *   });
         *   console.log(res.data);
         *
         *   // Example response
         *   // {
         *   //   "partialFailureError": {},
         *   //   "results": []
         *   // }
         * }
         *
         * main().catch(e => {
         *   console.error(e);
         *   throw e;
         * });
         *
         * ```
         *
         * @param params - Parameters for request
         * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
         * @param callback - Optional callback that handles the response.
         * @returns A promise if used with async/await, or void if used with a callback.
         */
        mutate(params: Params$Resource$Customers$Adgroupadlabels$Mutate, options: StreamMethodOptions): Promise<GaxiosResponseWithHTTP2<Readable>>;
        mutate(params?: Params$Resource$Customers$Adgroupadlabels$Mutate, options?: MethodOptions): Promise<GaxiosResponseWithHTTP2<Schema$GoogleAdsSearchads360V23Services__MutateAdGroupAdLabelsResponse>>;
        mutate(params: Params$Resource$Customers$Adgroupadlabels$Mutate, options: StreamMethodOptions | BodyResponseCallback<Readable>, callback: BodyResponseCallback<Readable>): void;
        mutate(params: Params$Resource$Customers$Adgroupadlabels$Mutate, options: MethodOptions | BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateAdGroupAdLabelsResponse>, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateAdGroupAdLabelsResponse>): void;
        mutate(params: Params$Resource$Customers$Adgroupadlabels$Mutate, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateAdGroupAdLabelsResponse>): void;
        mutate(callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateAdGroupAdLabelsResponse>): void;
    }
    export interface Params$Resource$Customers$Adgroupadlabels$Mutate extends StandardParameters {
        /**
         * Required. ID of the customer whose ad group ad labels are being modified.
         */
        customerId?: string;
        /**
         * Request body metadata
         */
        requestBody?: Schema$GoogleAdsSearchads360V23Services__MutateAdGroupAdLabelsRequest;
    }
    export class Resource$Customers$Adgroupads {
        context: APIRequestContext;
        constructor(context: APIRequestContext);
        /**
         * Creates, updates, or removes ads. Operation statuses are returned. List of thrown errors: [AdCustomizerError]() [AdError]() [AdGroupAdError]() [AdSharingError]() [AdxError]() [AssetError]() [AssetLinkError]() [AuthenticationError]() [AuthorizationError]() [CollectionSizeError]() [ContextError]() [DatabaseError]() [DateError]() [DistinctError]() [FeedAttributeReferenceError]() [FieldError]() [FieldMaskError]() [FunctionError]() [FunctionParsingError]() [HeaderError]() [IdError]() [ImageError]() [InternalError]() [ListOperationError]() [MediaBundleError]() [MediaFileError]() [MutateError]() [NewResourceCreationError]() [NotEmptyError]() [NullError]() [OperationAccessDeniedError]() [OperatorError]() [PolicyFindingError]() [PolicyValidationParameterError]() [PolicyViolationError]() [QuotaError]() [RangeError]() [RequestError]() [ResourceCountLimitExceededError]() [SizeLimitError]() [StringFormatError]() [StringLengthError]() [UrlFieldError]()
         * @example
         * ```js
         * // Before running the sample:
         * // - Enable the API at:
         * //   https://console.developers.google.com/apis/api/searchads360.googleapis.com
         * // - Login into gcloud by running:
         * //   ```sh
         * //   $ gcloud auth application-default login
         * //   ```
         * // - Install the npm module by running:
         * //   ```sh
         * //   $ npm install googleapis
         * //   ```
         *
         * const {google} = require('googleapis');
         * const searchads360 = google.searchads360('v23');
         *
         * async function main() {
         *   const auth = new google.auth.GoogleAuth({
         *     // Scopes can be specified either as an array or as a single, space-delimited string.
         *     scopes: ['https://www.googleapis.com/auth/doubleclicksearch'],
         *   });
         *
         *   // Acquire an auth client, and bind it to all future calls
         *   const authClient = await auth.getClient();
         *   google.options({auth: authClient});
         *
         *   // Do the magic
         *   const res = await searchads360.customers.adGroupAds.mutate({
         *     // Required. The ID of the customer whose ads are being modified.
         *     customerId: '[^/]+',
         *
         *     // Request body metadata
         *     requestBody: {
         *       // request body parameters
         *       // {
         *       //   "operations": [],
         *       //   "partialFailure": false,
         *       //   "responseContentType": "my_responseContentType",
         *       //   "validateOnly": false
         *       // }
         *     },
         *   });
         *   console.log(res.data);
         *
         *   // Example response
         *   // {
         *   //   "partialFailureError": {},
         *   //   "results": []
         *   // }
         * }
         *
         * main().catch(e => {
         *   console.error(e);
         *   throw e;
         * });
         *
         * ```
         *
         * @param params - Parameters for request
         * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
         * @param callback - Optional callback that handles the response.
         * @returns A promise if used with async/await, or void if used with a callback.
         */
        mutate(params: Params$Resource$Customers$Adgroupads$Mutate, options: StreamMethodOptions): Promise<GaxiosResponseWithHTTP2<Readable>>;
        mutate(params?: Params$Resource$Customers$Adgroupads$Mutate, options?: MethodOptions): Promise<GaxiosResponseWithHTTP2<Schema$GoogleAdsSearchads360V23Services__MutateAdGroupAdsResponse>>;
        mutate(params: Params$Resource$Customers$Adgroupads$Mutate, options: StreamMethodOptions | BodyResponseCallback<Readable>, callback: BodyResponseCallback<Readable>): void;
        mutate(params: Params$Resource$Customers$Adgroupads$Mutate, options: MethodOptions | BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateAdGroupAdsResponse>, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateAdGroupAdsResponse>): void;
        mutate(params: Params$Resource$Customers$Adgroupads$Mutate, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateAdGroupAdsResponse>): void;
        mutate(callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateAdGroupAdsResponse>): void;
        /**
         * Remove automatically created assets from an ad. List of thrown errors: [AdError]() [AuthenticationError]() [AuthorizationError]() [AutomaticallyCreatedAssetRemovalError]() [HeaderError]() [InternalError]() [MutateError]() [QuotaError]() [RequestError]()
         * @example
         * ```js
         * // Before running the sample:
         * // - Enable the API at:
         * //   https://console.developers.google.com/apis/api/searchads360.googleapis.com
         * // - Login into gcloud by running:
         * //   ```sh
         * //   $ gcloud auth application-default login
         * //   ```
         * // - Install the npm module by running:
         * //   ```sh
         * //   $ npm install googleapis
         * //   ```
         *
         * const {google} = require('googleapis');
         * const searchads360 = google.searchads360('v23');
         *
         * async function main() {
         *   const auth = new google.auth.GoogleAuth({
         *     // Scopes can be specified either as an array or as a single, space-delimited string.
         *     scopes: ['https://www.googleapis.com/auth/doubleclicksearch'],
         *   });
         *
         *   // Acquire an auth client, and bind it to all future calls
         *   const authClient = await auth.getClient();
         *   google.options({auth: authClient});
         *
         *   // Do the magic
         *   const res =
         *     await searchads360.customers.adGroupAds.removeAutomaticallyCreatedAssets({
         *       // Required. The resource name of the AdGroupAd from which to remove automatically created assets.
         *       adGroupAd: 'customers/my-customer/adGroupAds/my-adGroupAd',
         *
         *       // Request body metadata
         *       requestBody: {
         *         // request body parameters
         *         // {
         *         //   "assetsWithFieldType": []
         *         // }
         *       },
         *     });
         *   console.log(res.data);
         *
         *   // Example response
         *   // {}
         * }
         *
         * main().catch(e => {
         *   console.error(e);
         *   throw e;
         * });
         *
         * ```
         *
         * @param params - Parameters for request
         * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
         * @param callback - Optional callback that handles the response.
         * @returns A promise if used with async/await, or void if used with a callback.
         */
        removeAutomaticallyCreatedAssets(params: Params$Resource$Customers$Adgroupads$Removeautomaticallycreatedassets, options: StreamMethodOptions): Promise<GaxiosResponseWithHTTP2<Readable>>;
        removeAutomaticallyCreatedAssets(params?: Params$Resource$Customers$Adgroupads$Removeautomaticallycreatedassets, options?: MethodOptions): Promise<GaxiosResponseWithHTTP2<Schema$GoogleProtobuf__Empty>>;
        removeAutomaticallyCreatedAssets(params: Params$Resource$Customers$Adgroupads$Removeautomaticallycreatedassets, options: StreamMethodOptions | BodyResponseCallback<Readable>, callback: BodyResponseCallback<Readable>): void;
        removeAutomaticallyCreatedAssets(params: Params$Resource$Customers$Adgroupads$Removeautomaticallycreatedassets, options: MethodOptions | BodyResponseCallback<Schema$GoogleProtobuf__Empty>, callback: BodyResponseCallback<Schema$GoogleProtobuf__Empty>): void;
        removeAutomaticallyCreatedAssets(params: Params$Resource$Customers$Adgroupads$Removeautomaticallycreatedassets, callback: BodyResponseCallback<Schema$GoogleProtobuf__Empty>): void;
        removeAutomaticallyCreatedAssets(callback: BodyResponseCallback<Schema$GoogleProtobuf__Empty>): void;
    }
    export interface Params$Resource$Customers$Adgroupads$Mutate extends StandardParameters {
        /**
         * Required. The ID of the customer whose ads are being modified.
         */
        customerId?: string;
        /**
         * Request body metadata
         */
        requestBody?: Schema$GoogleAdsSearchads360V23Services__MutateAdGroupAdsRequest;
    }
    export interface Params$Resource$Customers$Adgroupads$Removeautomaticallycreatedassets extends StandardParameters {
        /**
         * Required. The resource name of the AdGroupAd from which to remove automatically created assets.
         */
        adGroupAd?: string;
        /**
         * Request body metadata
         */
        requestBody?: Schema$GoogleAdsSearchads360V23Services__RemoveAutomaticallyCreatedAssetsRequest;
    }
    export class Resource$Customers$Adgroupassets {
        context: APIRequestContext;
        constructor(context: APIRequestContext);
        /**
         * Creates, updates, or removes ad group assets. Operation statuses are returned. List of thrown errors: [AssetLinkError]() [AuthenticationError]() [AuthorizationError]() [ContextError]() [FieldError]() [HeaderError]() [InternalError]() [MutateError]() [NotAllowlistedError]() [QuotaError]() [RequestError]()
         * @example
         * ```js
         * // Before running the sample:
         * // - Enable the API at:
         * //   https://console.developers.google.com/apis/api/searchads360.googleapis.com
         * // - Login into gcloud by running:
         * //   ```sh
         * //   $ gcloud auth application-default login
         * //   ```
         * // - Install the npm module by running:
         * //   ```sh
         * //   $ npm install googleapis
         * //   ```
         *
         * const {google} = require('googleapis');
         * const searchads360 = google.searchads360('v23');
         *
         * async function main() {
         *   const auth = new google.auth.GoogleAuth({
         *     // Scopes can be specified either as an array or as a single, space-delimited string.
         *     scopes: ['https://www.googleapis.com/auth/doubleclicksearch'],
         *   });
         *
         *   // Acquire an auth client, and bind it to all future calls
         *   const authClient = await auth.getClient();
         *   google.options({auth: authClient});
         *
         *   // Do the magic
         *   const res = await searchads360.customers.adGroupAssets.mutate({
         *     // Required. The ID of the customer whose ad group assets are being modified.
         *     customerId: '[^/]+',
         *
         *     // Request body metadata
         *     requestBody: {
         *       // request body parameters
         *       // {
         *       //   "operations": [],
         *       //   "partialFailure": false,
         *       //   "responseContentType": "my_responseContentType",
         *       //   "validateOnly": false
         *       // }
         *     },
         *   });
         *   console.log(res.data);
         *
         *   // Example response
         *   // {
         *   //   "partialFailureError": {},
         *   //   "results": []
         *   // }
         * }
         *
         * main().catch(e => {
         *   console.error(e);
         *   throw e;
         * });
         *
         * ```
         *
         * @param params - Parameters for request
         * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
         * @param callback - Optional callback that handles the response.
         * @returns A promise if used with async/await, or void if used with a callback.
         */
        mutate(params: Params$Resource$Customers$Adgroupassets$Mutate, options: StreamMethodOptions): Promise<GaxiosResponseWithHTTP2<Readable>>;
        mutate(params?: Params$Resource$Customers$Adgroupassets$Mutate, options?: MethodOptions): Promise<GaxiosResponseWithHTTP2<Schema$GoogleAdsSearchads360V23Services__MutateAdGroupAssetsResponse>>;
        mutate(params: Params$Resource$Customers$Adgroupassets$Mutate, options: StreamMethodOptions | BodyResponseCallback<Readable>, callback: BodyResponseCallback<Readable>): void;
        mutate(params: Params$Resource$Customers$Adgroupassets$Mutate, options: MethodOptions | BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateAdGroupAssetsResponse>, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateAdGroupAssetsResponse>): void;
        mutate(params: Params$Resource$Customers$Adgroupassets$Mutate, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateAdGroupAssetsResponse>): void;
        mutate(callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateAdGroupAssetsResponse>): void;
    }
    export interface Params$Resource$Customers$Adgroupassets$Mutate extends StandardParameters {
        /**
         * Required. The ID of the customer whose ad group assets are being modified.
         */
        customerId?: string;
        /**
         * Request body metadata
         */
        requestBody?: Schema$GoogleAdsSearchads360V23Services__MutateAdGroupAssetsRequest;
    }
    export class Resource$Customers$Adgroupassetsets {
        context: APIRequestContext;
        constructor(context: APIRequestContext);
        /**
         * Creates, or removes ad group asset sets. Operation statuses are returned.
         * @example
         * ```js
         * // Before running the sample:
         * // - Enable the API at:
         * //   https://console.developers.google.com/apis/api/searchads360.googleapis.com
         * // - Login into gcloud by running:
         * //   ```sh
         * //   $ gcloud auth application-default login
         * //   ```
         * // - Install the npm module by running:
         * //   ```sh
         * //   $ npm install googleapis
         * //   ```
         *
         * const {google} = require('googleapis');
         * const searchads360 = google.searchads360('v23');
         *
         * async function main() {
         *   const auth = new google.auth.GoogleAuth({
         *     // Scopes can be specified either as an array or as a single, space-delimited string.
         *     scopes: ['https://www.googleapis.com/auth/doubleclicksearch'],
         *   });
         *
         *   // Acquire an auth client, and bind it to all future calls
         *   const authClient = await auth.getClient();
         *   google.options({auth: authClient});
         *
         *   // Do the magic
         *   const res = await searchads360.customers.adGroupAssetSets.mutate({
         *     // Required. The ID of the customer whose ad group asset sets are being modified.
         *     customerId: '[^/]+',
         *
         *     // Request body metadata
         *     requestBody: {
         *       // request body parameters
         *       // {
         *       //   "operations": [],
         *       //   "partialFailure": false,
         *       //   "responseContentType": "my_responseContentType",
         *       //   "validateOnly": false
         *       // }
         *     },
         *   });
         *   console.log(res.data);
         *
         *   // Example response
         *   // {
         *   //   "partialFailureError": {},
         *   //   "results": []
         *   // }
         * }
         *
         * main().catch(e => {
         *   console.error(e);
         *   throw e;
         * });
         *
         * ```
         *
         * @param params - Parameters for request
         * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
         * @param callback - Optional callback that handles the response.
         * @returns A promise if used with async/await, or void if used with a callback.
         */
        mutate(params: Params$Resource$Customers$Adgroupassetsets$Mutate, options: StreamMethodOptions): Promise<GaxiosResponseWithHTTP2<Readable>>;
        mutate(params?: Params$Resource$Customers$Adgroupassetsets$Mutate, options?: MethodOptions): Promise<GaxiosResponseWithHTTP2<Schema$GoogleAdsSearchads360V23Services__MutateAdGroupAssetSetsResponse>>;
        mutate(params: Params$Resource$Customers$Adgroupassetsets$Mutate, options: StreamMethodOptions | BodyResponseCallback<Readable>, callback: BodyResponseCallback<Readable>): void;
        mutate(params: Params$Resource$Customers$Adgroupassetsets$Mutate, options: MethodOptions | BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateAdGroupAssetSetsResponse>, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateAdGroupAssetSetsResponse>): void;
        mutate(params: Params$Resource$Customers$Adgroupassetsets$Mutate, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateAdGroupAssetSetsResponse>): void;
        mutate(callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateAdGroupAssetSetsResponse>): void;
    }
    export interface Params$Resource$Customers$Adgroupassetsets$Mutate extends StandardParameters {
        /**
         * Required. The ID of the customer whose ad group asset sets are being modified.
         */
        customerId?: string;
        /**
         * Request body metadata
         */
        requestBody?: Schema$GoogleAdsSearchads360V23Services__MutateAdGroupAssetSetsRequest;
    }
    export class Resource$Customers$Adgroupbidmodifiers {
        context: APIRequestContext;
        constructor(context: APIRequestContext);
        /**
         * Creates, updates, or removes ad group bid modifiers. Operation statuses are returned. List of thrown errors: [AdGroupBidModifierError]() [AuthenticationError]() [AuthorizationError]() [ContextError]() [CriterionError]() [DatabaseError]() [DistinctError]() [FieldError]() [FieldMaskError]() [HeaderError]() [IdError]() [InternalError]() [MutateError]() [NewResourceCreationError]() [NotEmptyError]() [OperatorError]() [QuotaError]() [RangeError]() [RequestError]() [ResourceCountLimitExceededError]() [SizeLimitError]() [StringFormatError]() [StringLengthError]()
         * @example
         * ```js
         * // Before running the sample:
         * // - Enable the API at:
         * //   https://console.developers.google.com/apis/api/searchads360.googleapis.com
         * // - Login into gcloud by running:
         * //   ```sh
         * //   $ gcloud auth application-default login
         * //   ```
         * // - Install the npm module by running:
         * //   ```sh
         * //   $ npm install googleapis
         * //   ```
         *
         * const {google} = require('googleapis');
         * const searchads360 = google.searchads360('v23');
         *
         * async function main() {
         *   const auth = new google.auth.GoogleAuth({
         *     // Scopes can be specified either as an array or as a single, space-delimited string.
         *     scopes: ['https://www.googleapis.com/auth/doubleclicksearch'],
         *   });
         *
         *   // Acquire an auth client, and bind it to all future calls
         *   const authClient = await auth.getClient();
         *   google.options({auth: authClient});
         *
         *   // Do the magic
         *   const res = await searchads360.customers.adGroupBidModifiers.mutate({
         *     // Required. ID of the customer whose ad group bid modifiers are being modified.
         *     customerId: '[^/]+',
         *
         *     // Request body metadata
         *     requestBody: {
         *       // request body parameters
         *       // {
         *       //   "operations": [],
         *       //   "partialFailure": false,
         *       //   "responseContentType": "my_responseContentType",
         *       //   "validateOnly": false
         *       // }
         *     },
         *   });
         *   console.log(res.data);
         *
         *   // Example response
         *   // {
         *   //   "partialFailureError": {},
         *   //   "results": []
         *   // }
         * }
         *
         * main().catch(e => {
         *   console.error(e);
         *   throw e;
         * });
         *
         * ```
         *
         * @param params - Parameters for request
         * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
         * @param callback - Optional callback that handles the response.
         * @returns A promise if used with async/await, or void if used with a callback.
         */
        mutate(params: Params$Resource$Customers$Adgroupbidmodifiers$Mutate, options: StreamMethodOptions): Promise<GaxiosResponseWithHTTP2<Readable>>;
        mutate(params?: Params$Resource$Customers$Adgroupbidmodifiers$Mutate, options?: MethodOptions): Promise<GaxiosResponseWithHTTP2<Schema$GoogleAdsSearchads360V23Services__MutateAdGroupBidModifiersResponse>>;
        mutate(params: Params$Resource$Customers$Adgroupbidmodifiers$Mutate, options: StreamMethodOptions | BodyResponseCallback<Readable>, callback: BodyResponseCallback<Readable>): void;
        mutate(params: Params$Resource$Customers$Adgroupbidmodifiers$Mutate, options: MethodOptions | BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateAdGroupBidModifiersResponse>, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateAdGroupBidModifiersResponse>): void;
        mutate(params: Params$Resource$Customers$Adgroupbidmodifiers$Mutate, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateAdGroupBidModifiersResponse>): void;
        mutate(callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateAdGroupBidModifiersResponse>): void;
    }
    export interface Params$Resource$Customers$Adgroupbidmodifiers$Mutate extends StandardParameters {
        /**
         * Required. ID of the customer whose ad group bid modifiers are being modified.
         */
        customerId?: string;
        /**
         * Request body metadata
         */
        requestBody?: Schema$GoogleAdsSearchads360V23Services__MutateAdGroupBidModifiersRequest;
    }
    export class Resource$Customers$Adgroupcriteria {
        context: APIRequestContext;
        constructor(context: APIRequestContext);
        /**
         * Creates, updates, or removes criteria. Operation statuses are returned. List of thrown errors: [AdGroupCriterionError]() [AdxError]() [AuthenticationError]() [AuthorizationError]() [BiddingError]() [BiddingStrategyError]() [CollectionSizeError]() [ContextError]() [CriterionError]() [DatabaseError]() [DateError]() [DistinctError]() [FieldError]() [FieldMaskError]() [HeaderError]() [IdError]() [InternalError]() [MultiplierError]() [MutateError]() [NewResourceCreationError]() [NotEmptyError]() [NullError]() [OperationAccessDeniedError]() [OperatorError]() [PolicyViolationError]() [QuotaError]() [RangeError]() [RequestError]() [ResourceCountLimitExceededError]() [SizeLimitError]() [StringFormatError]() [StringLengthError]() [UrlFieldError]()
         * @example
         * ```js
         * // Before running the sample:
         * // - Enable the API at:
         * //   https://console.developers.google.com/apis/api/searchads360.googleapis.com
         * // - Login into gcloud by running:
         * //   ```sh
         * //   $ gcloud auth application-default login
         * //   ```
         * // - Install the npm module by running:
         * //   ```sh
         * //   $ npm install googleapis
         * //   ```
         *
         * const {google} = require('googleapis');
         * const searchads360 = google.searchads360('v23');
         *
         * async function main() {
         *   const auth = new google.auth.GoogleAuth({
         *     // Scopes can be specified either as an array or as a single, space-delimited string.
         *     scopes: ['https://www.googleapis.com/auth/doubleclicksearch'],
         *   });
         *
         *   // Acquire an auth client, and bind it to all future calls
         *   const authClient = await auth.getClient();
         *   google.options({auth: authClient});
         *
         *   // Do the magic
         *   const res = await searchads360.customers.adGroupCriteria.mutate({
         *     // Required. ID of the customer whose criteria are being modified.
         *     customerId: '[^/]+',
         *
         *     // Request body metadata
         *     requestBody: {
         *       // request body parameters
         *       // {
         *       //   "operations": [],
         *       //   "partialFailure": false,
         *       //   "responseContentType": "my_responseContentType",
         *       //   "validateOnly": false
         *       // }
         *     },
         *   });
         *   console.log(res.data);
         *
         *   // Example response
         *   // {
         *   //   "partialFailureError": {},
         *   //   "results": []
         *   // }
         * }
         *
         * main().catch(e => {
         *   console.error(e);
         *   throw e;
         * });
         *
         * ```
         *
         * @param params - Parameters for request
         * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
         * @param callback - Optional callback that handles the response.
         * @returns A promise if used with async/await, or void if used with a callback.
         */
        mutate(params: Params$Resource$Customers$Adgroupcriteria$Mutate, options: StreamMethodOptions): Promise<GaxiosResponseWithHTTP2<Readable>>;
        mutate(params?: Params$Resource$Customers$Adgroupcriteria$Mutate, options?: MethodOptions): Promise<GaxiosResponseWithHTTP2<Schema$GoogleAdsSearchads360V23Services__MutateAdGroupCriteriaResponse>>;
        mutate(params: Params$Resource$Customers$Adgroupcriteria$Mutate, options: StreamMethodOptions | BodyResponseCallback<Readable>, callback: BodyResponseCallback<Readable>): void;
        mutate(params: Params$Resource$Customers$Adgroupcriteria$Mutate, options: MethodOptions | BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateAdGroupCriteriaResponse>, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateAdGroupCriteriaResponse>): void;
        mutate(params: Params$Resource$Customers$Adgroupcriteria$Mutate, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateAdGroupCriteriaResponse>): void;
        mutate(callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateAdGroupCriteriaResponse>): void;
    }
    export interface Params$Resource$Customers$Adgroupcriteria$Mutate extends StandardParameters {
        /**
         * Required. ID of the customer whose criteria are being modified.
         */
        customerId?: string;
        /**
         * Request body metadata
         */
        requestBody?: Schema$GoogleAdsSearchads360V23Services__MutateAdGroupCriteriaRequest;
    }
    export class Resource$Customers$Adgroupcriterioncustomizers {
        context: APIRequestContext;
        constructor(context: APIRequestContext);
        /**
         * Creates, updates or removes ad group criterion customizers. Operation statuses are returned.
         * @example
         * ```js
         * // Before running the sample:
         * // - Enable the API at:
         * //   https://console.developers.google.com/apis/api/searchads360.googleapis.com
         * // - Login into gcloud by running:
         * //   ```sh
         * //   $ gcloud auth application-default login
         * //   ```
         * // - Install the npm module by running:
         * //   ```sh
         * //   $ npm install googleapis
         * //   ```
         *
         * const {google} = require('googleapis');
         * const searchads360 = google.searchads360('v23');
         *
         * async function main() {
         *   const auth = new google.auth.GoogleAuth({
         *     // Scopes can be specified either as an array or as a single, space-delimited string.
         *     scopes: ['https://www.googleapis.com/auth/doubleclicksearch'],
         *   });
         *
         *   // Acquire an auth client, and bind it to all future calls
         *   const authClient = await auth.getClient();
         *   google.options({auth: authClient});
         *
         *   // Do the magic
         *   const res = await searchads360.customers.AdGroupCriterionCustomizers.mutate({
         *     // Required. The ID of the customer whose ad group criterion customizers are being modified.
         *     customerId: '[^/]+',
         *
         *     // Request body metadata
         *     requestBody: {
         *       // request body parameters
         *       // {
         *       //   "operations": [],
         *       //   "partialFailure": false,
         *       //   "responseContentType": "my_responseContentType",
         *       //   "validateOnly": false
         *       // }
         *     },
         *   });
         *   console.log(res.data);
         *
         *   // Example response
         *   // {
         *   //   "partialFailureError": {},
         *   //   "results": []
         *   // }
         * }
         *
         * main().catch(e => {
         *   console.error(e);
         *   throw e;
         * });
         *
         * ```
         *
         * @param params - Parameters for request
         * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
         * @param callback - Optional callback that handles the response.
         * @returns A promise if used with async/await, or void if used with a callback.
         */
        mutate(params: Params$Resource$Customers$Adgroupcriterioncustomizers$Mutate, options: StreamMethodOptions): Promise<GaxiosResponseWithHTTP2<Readable>>;
        mutate(params?: Params$Resource$Customers$Adgroupcriterioncustomizers$Mutate, options?: MethodOptions): Promise<GaxiosResponseWithHTTP2<Schema$GoogleAdsSearchads360V23Services__MutateAdGroupCriterionCustomizersResponse>>;
        mutate(params: Params$Resource$Customers$Adgroupcriterioncustomizers$Mutate, options: StreamMethodOptions | BodyResponseCallback<Readable>, callback: BodyResponseCallback<Readable>): void;
        mutate(params: Params$Resource$Customers$Adgroupcriterioncustomizers$Mutate, options: MethodOptions | BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateAdGroupCriterionCustomizersResponse>, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateAdGroupCriterionCustomizersResponse>): void;
        mutate(params: Params$Resource$Customers$Adgroupcriterioncustomizers$Mutate, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateAdGroupCriterionCustomizersResponse>): void;
        mutate(callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateAdGroupCriterionCustomizersResponse>): void;
    }
    export interface Params$Resource$Customers$Adgroupcriterioncustomizers$Mutate extends StandardParameters {
        /**
         * Required. The ID of the customer whose ad group criterion customizers are being modified.
         */
        customerId?: string;
        /**
         * Request body metadata
         */
        requestBody?: Schema$GoogleAdsSearchads360V23Services__MutateAdGroupCriterionCustomizersRequest;
    }
    export class Resource$Customers$Adgroupcriterionlabels {
        context: APIRequestContext;
        constructor(context: APIRequestContext);
        /**
         * Creates and removes ad group criterion labels. Operation statuses are returned. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [DatabaseError]() [FieldError]() [HeaderError]() [InternalError]() [QuotaError]() [RequestError]()
         * @example
         * ```js
         * // Before running the sample:
         * // - Enable the API at:
         * //   https://console.developers.google.com/apis/api/searchads360.googleapis.com
         * // - Login into gcloud by running:
         * //   ```sh
         * //   $ gcloud auth application-default login
         * //   ```
         * // - Install the npm module by running:
         * //   ```sh
         * //   $ npm install googleapis
         * //   ```
         *
         * const {google} = require('googleapis');
         * const searchads360 = google.searchads360('v23');
         *
         * async function main() {
         *   const auth = new google.auth.GoogleAuth({
         *     // Scopes can be specified either as an array or as a single, space-delimited string.
         *     scopes: ['https://www.googleapis.com/auth/doubleclicksearch'],
         *   });
         *
         *   // Acquire an auth client, and bind it to all future calls
         *   const authClient = await auth.getClient();
         *   google.options({auth: authClient});
         *
         *   // Do the magic
         *   const res = await searchads360.customers.adGroupCriterionLabels.mutate({
         *     // Required. ID of the customer whose ad group criterion labels are being modified.
         *     customerId: '[^/]+',
         *
         *     // Request body metadata
         *     requestBody: {
         *       // request body parameters
         *       // {
         *       //   "operations": [],
         *       //   "partialFailure": false,
         *       //   "validateOnly": false
         *       // }
         *     },
         *   });
         *   console.log(res.data);
         *
         *   // Example response
         *   // {
         *   //   "partialFailureError": {},
         *   //   "results": []
         *   // }
         * }
         *
         * main().catch(e => {
         *   console.error(e);
         *   throw e;
         * });
         *
         * ```
         *
         * @param params - Parameters for request
         * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
         * @param callback - Optional callback that handles the response.
         * @returns A promise if used with async/await, or void if used with a callback.
         */
        mutate(params: Params$Resource$Customers$Adgroupcriterionlabels$Mutate, options: StreamMethodOptions): Promise<GaxiosResponseWithHTTP2<Readable>>;
        mutate(params?: Params$Resource$Customers$Adgroupcriterionlabels$Mutate, options?: MethodOptions): Promise<GaxiosResponseWithHTTP2<Schema$GoogleAdsSearchads360V23Services__MutateAdGroupCriterionLabelsResponse>>;
        mutate(params: Params$Resource$Customers$Adgroupcriterionlabels$Mutate, options: StreamMethodOptions | BodyResponseCallback<Readable>, callback: BodyResponseCallback<Readable>): void;
        mutate(params: Params$Resource$Customers$Adgroupcriterionlabels$Mutate, options: MethodOptions | BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateAdGroupCriterionLabelsResponse>, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateAdGroupCriterionLabelsResponse>): void;
        mutate(params: Params$Resource$Customers$Adgroupcriterionlabels$Mutate, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateAdGroupCriterionLabelsResponse>): void;
        mutate(callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateAdGroupCriterionLabelsResponse>): void;
    }
    export interface Params$Resource$Customers$Adgroupcriterionlabels$Mutate extends StandardParameters {
        /**
         * Required. ID of the customer whose ad group criterion labels are being modified.
         */
        customerId?: string;
        /**
         * Request body metadata
         */
        requestBody?: Schema$GoogleAdsSearchads360V23Services__MutateAdGroupCriterionLabelsRequest;
    }
    export class Resource$Customers$Adgroupcustomizers {
        context: APIRequestContext;
        constructor(context: APIRequestContext);
        /**
         * Creates, updates or removes ad group customizers. Operation statuses are returned.
         * @example
         * ```js
         * // Before running the sample:
         * // - Enable the API at:
         * //   https://console.developers.google.com/apis/api/searchads360.googleapis.com
         * // - Login into gcloud by running:
         * //   ```sh
         * //   $ gcloud auth application-default login
         * //   ```
         * // - Install the npm module by running:
         * //   ```sh
         * //   $ npm install googleapis
         * //   ```
         *
         * const {google} = require('googleapis');
         * const searchads360 = google.searchads360('v23');
         *
         * async function main() {
         *   const auth = new google.auth.GoogleAuth({
         *     // Scopes can be specified either as an array or as a single, space-delimited string.
         *     scopes: ['https://www.googleapis.com/auth/doubleclicksearch'],
         *   });
         *
         *   // Acquire an auth client, and bind it to all future calls
         *   const authClient = await auth.getClient();
         *   google.options({auth: authClient});
         *
         *   // Do the magic
         *   const res = await searchads360.customers.adGroupCustomizers.mutate({
         *     // Required. The ID of the customer whose ad group customizers are being modified.
         *     customerId: '[^/]+',
         *
         *     // Request body metadata
         *     requestBody: {
         *       // request body parameters
         *       // {
         *       //   "operations": [],
         *       //   "partialFailure": false,
         *       //   "responseContentType": "my_responseContentType",
         *       //   "validateOnly": false
         *       // }
         *     },
         *   });
         *   console.log(res.data);
         *
         *   // Example response
         *   // {
         *   //   "partialFailureError": {},
         *   //   "results": []
         *   // }
         * }
         *
         * main().catch(e => {
         *   console.error(e);
         *   throw e;
         * });
         *
         * ```
         *
         * @param params - Parameters for request
         * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
         * @param callback - Optional callback that handles the response.
         * @returns A promise if used with async/await, or void if used with a callback.
         */
        mutate(params: Params$Resource$Customers$Adgroupcustomizers$Mutate, options: StreamMethodOptions): Promise<GaxiosResponseWithHTTP2<Readable>>;
        mutate(params?: Params$Resource$Customers$Adgroupcustomizers$Mutate, options?: MethodOptions): Promise<GaxiosResponseWithHTTP2<Schema$GoogleAdsSearchads360V23Services__MutateAdGroupCustomizersResponse>>;
        mutate(params: Params$Resource$Customers$Adgroupcustomizers$Mutate, options: StreamMethodOptions | BodyResponseCallback<Readable>, callback: BodyResponseCallback<Readable>): void;
        mutate(params: Params$Resource$Customers$Adgroupcustomizers$Mutate, options: MethodOptions | BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateAdGroupCustomizersResponse>, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateAdGroupCustomizersResponse>): void;
        mutate(params: Params$Resource$Customers$Adgroupcustomizers$Mutate, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateAdGroupCustomizersResponse>): void;
        mutate(callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateAdGroupCustomizersResponse>): void;
    }
    export interface Params$Resource$Customers$Adgroupcustomizers$Mutate extends StandardParameters {
        /**
         * Required. The ID of the customer whose ad group customizers are being modified.
         */
        customerId?: string;
        /**
         * Request body metadata
         */
        requestBody?: Schema$GoogleAdsSearchads360V23Services__MutateAdGroupCustomizersRequest;
    }
    export class Resource$Customers$Adgrouplabels {
        context: APIRequestContext;
        constructor(context: APIRequestContext);
        /**
         * Creates and removes ad group labels. Operation statuses are returned. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [DatabaseError]() [FieldError]() [HeaderError]() [InternalError]() [LabelError]() [MutateError]() [NewResourceCreationError]() [QuotaError]() [RequestError]()
         * @example
         * ```js
         * // Before running the sample:
         * // - Enable the API at:
         * //   https://console.developers.google.com/apis/api/searchads360.googleapis.com
         * // - Login into gcloud by running:
         * //   ```sh
         * //   $ gcloud auth application-default login
         * //   ```
         * // - Install the npm module by running:
         * //   ```sh
         * //   $ npm install googleapis
         * //   ```
         *
         * const {google} = require('googleapis');
         * const searchads360 = google.searchads360('v23');
         *
         * async function main() {
         *   const auth = new google.auth.GoogleAuth({
         *     // Scopes can be specified either as an array or as a single, space-delimited string.
         *     scopes: ['https://www.googleapis.com/auth/doubleclicksearch'],
         *   });
         *
         *   // Acquire an auth client, and bind it to all future calls
         *   const authClient = await auth.getClient();
         *   google.options({auth: authClient});
         *
         *   // Do the magic
         *   const res = await searchads360.customers.adGroupLabels.mutate({
         *     // Required. ID of the customer whose ad group labels are being modified.
         *     customerId: '[^/]+',
         *
         *     // Request body metadata
         *     requestBody: {
         *       // request body parameters
         *       // {
         *       //   "operations": [],
         *       //   "partialFailure": false,
         *       //   "validateOnly": false
         *       // }
         *     },
         *   });
         *   console.log(res.data);
         *
         *   // Example response
         *   // {
         *   //   "partialFailureError": {},
         *   //   "results": []
         *   // }
         * }
         *
         * main().catch(e => {
         *   console.error(e);
         *   throw e;
         * });
         *
         * ```
         *
         * @param params - Parameters for request
         * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
         * @param callback - Optional callback that handles the response.
         * @returns A promise if used with async/await, or void if used with a callback.
         */
        mutate(params: Params$Resource$Customers$Adgrouplabels$Mutate, options: StreamMethodOptions): Promise<GaxiosResponseWithHTTP2<Readable>>;
        mutate(params?: Params$Resource$Customers$Adgrouplabels$Mutate, options?: MethodOptions): Promise<GaxiosResponseWithHTTP2<Schema$GoogleAdsSearchads360V23Services__MutateAdGroupLabelsResponse>>;
        mutate(params: Params$Resource$Customers$Adgrouplabels$Mutate, options: StreamMethodOptions | BodyResponseCallback<Readable>, callback: BodyResponseCallback<Readable>): void;
        mutate(params: Params$Resource$Customers$Adgrouplabels$Mutate, options: MethodOptions | BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateAdGroupLabelsResponse>, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateAdGroupLabelsResponse>): void;
        mutate(params: Params$Resource$Customers$Adgrouplabels$Mutate, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateAdGroupLabelsResponse>): void;
        mutate(callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateAdGroupLabelsResponse>): void;
    }
    export interface Params$Resource$Customers$Adgrouplabels$Mutate extends StandardParameters {
        /**
         * Required. ID of the customer whose ad group labels are being modified.
         */
        customerId?: string;
        /**
         * Request body metadata
         */
        requestBody?: Schema$GoogleAdsSearchads360V23Services__MutateAdGroupLabelsRequest;
    }
    export class Resource$Customers$Adgroups {
        context: APIRequestContext;
        constructor(context: APIRequestContext);
        /**
         * Creates, updates, or removes ad groups. Operation statuses are returned. List of thrown errors: [AdGroupError]() [AdxError]() [AuthenticationError]() [AuthorizationError]() [BiddingError]() [BiddingStrategyError]() [DatabaseError]() [DateError]() [DistinctError]() [FieldError]() [FieldMaskError]() [HeaderError]() [IdError]() [InternalError]() [ListOperationError]() [MultiplierError]() [MutateError]() [NewResourceCreationError]() [NotEmptyError]() [NullError]() [OperationAccessDeniedError]() [OperatorError]() [QuotaError]() [RangeError]() [RequestError]() [ResourceCountLimitExceededError]() [SettingError]() [SizeLimitError]() [StringFormatError]() [StringLengthError]() [UrlFieldError]()
         * @example
         * ```js
         * // Before running the sample:
         * // - Enable the API at:
         * //   https://console.developers.google.com/apis/api/searchads360.googleapis.com
         * // - Login into gcloud by running:
         * //   ```sh
         * //   $ gcloud auth application-default login
         * //   ```
         * // - Install the npm module by running:
         * //   ```sh
         * //   $ npm install googleapis
         * //   ```
         *
         * const {google} = require('googleapis');
         * const searchads360 = google.searchads360('v23');
         *
         * async function main() {
         *   const auth = new google.auth.GoogleAuth({
         *     // Scopes can be specified either as an array or as a single, space-delimited string.
         *     scopes: ['https://www.googleapis.com/auth/doubleclicksearch'],
         *   });
         *
         *   // Acquire an auth client, and bind it to all future calls
         *   const authClient = await auth.getClient();
         *   google.options({auth: authClient});
         *
         *   // Do the magic
         *   const res = await searchads360.customers.adGroups.mutate({
         *     // Required. The ID of the customer whose ad groups are being modified.
         *     customerId: '[^/]+',
         *
         *     // Request body metadata
         *     requestBody: {
         *       // request body parameters
         *       // {
         *       //   "operations": [],
         *       //   "partialFailure": false,
         *       //   "responseContentType": "my_responseContentType",
         *       //   "validateOnly": false
         *       // }
         *     },
         *   });
         *   console.log(res.data);
         *
         *   // Example response
         *   // {
         *   //   "partialFailureError": {},
         *   //   "results": []
         *   // }
         * }
         *
         * main().catch(e => {
         *   console.error(e);
         *   throw e;
         * });
         *
         * ```
         *
         * @param params - Parameters for request
         * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
         * @param callback - Optional callback that handles the response.
         * @returns A promise if used with async/await, or void if used with a callback.
         */
        mutate(params: Params$Resource$Customers$Adgroups$Mutate, options: StreamMethodOptions): Promise<GaxiosResponseWithHTTP2<Readable>>;
        mutate(params?: Params$Resource$Customers$Adgroups$Mutate, options?: MethodOptions): Promise<GaxiosResponseWithHTTP2<Schema$GoogleAdsSearchads360V23Services__MutateAdGroupsResponse>>;
        mutate(params: Params$Resource$Customers$Adgroups$Mutate, options: StreamMethodOptions | BodyResponseCallback<Readable>, callback: BodyResponseCallback<Readable>): void;
        mutate(params: Params$Resource$Customers$Adgroups$Mutate, options: MethodOptions | BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateAdGroupsResponse>, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateAdGroupsResponse>): void;
        mutate(params: Params$Resource$Customers$Adgroups$Mutate, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateAdGroupsResponse>): void;
        mutate(callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateAdGroupsResponse>): void;
    }
    export interface Params$Resource$Customers$Adgroups$Mutate extends StandardParameters {
        /**
         * Required. The ID of the customer whose ad groups are being modified.
         */
        customerId?: string;
        /**
         * Request body metadata
         */
        requestBody?: Schema$GoogleAdsSearchads360V23Services__MutateAdGroupsRequest;
    }
    export class Resource$Customers$Adparameters {
        context: APIRequestContext;
        constructor(context: APIRequestContext);
        /**
         * Creates, updates, or removes ad parameters. Operation statuses are returned. List of thrown errors: [AdParameterError]() [AuthenticationError]() [AuthorizationError]() [ContextError]() [DatabaseError]() [FieldError]() [FieldMaskError]() [HeaderError]() [InternalError]() [MutateError]() [QuotaError]() [RequestError]()
         * @example
         * ```js
         * // Before running the sample:
         * // - Enable the API at:
         * //   https://console.developers.google.com/apis/api/searchads360.googleapis.com
         * // - Login into gcloud by running:
         * //   ```sh
         * //   $ gcloud auth application-default login
         * //   ```
         * // - Install the npm module by running:
         * //   ```sh
         * //   $ npm install googleapis
         * //   ```
         *
         * const {google} = require('googleapis');
         * const searchads360 = google.searchads360('v23');
         *
         * async function main() {
         *   const auth = new google.auth.GoogleAuth({
         *     // Scopes can be specified either as an array or as a single, space-delimited string.
         *     scopes: ['https://www.googleapis.com/auth/doubleclicksearch'],
         *   });
         *
         *   // Acquire an auth client, and bind it to all future calls
         *   const authClient = await auth.getClient();
         *   google.options({auth: authClient});
         *
         *   // Do the magic
         *   const res = await searchads360.customers.adParameters.mutate({
         *     // Required. The ID of the customer whose ad parameters are being modified.
         *     customerId: '[^/]+',
         *
         *     // Request body metadata
         *     requestBody: {
         *       // request body parameters
         *       // {
         *       //   "operations": [],
         *       //   "partialFailure": false,
         *       //   "responseContentType": "my_responseContentType",
         *       //   "validateOnly": false
         *       // }
         *     },
         *   });
         *   console.log(res.data);
         *
         *   // Example response
         *   // {
         *   //   "partialFailureError": {},
         *   //   "results": []
         *   // }
         * }
         *
         * main().catch(e => {
         *   console.error(e);
         *   throw e;
         * });
         *
         * ```
         *
         * @param params - Parameters for request
         * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
         * @param callback - Optional callback that handles the response.
         * @returns A promise if used with async/await, or void if used with a callback.
         */
        mutate(params: Params$Resource$Customers$Adparameters$Mutate, options: StreamMethodOptions): Promise<GaxiosResponseWithHTTP2<Readable>>;
        mutate(params?: Params$Resource$Customers$Adparameters$Mutate, options?: MethodOptions): Promise<GaxiosResponseWithHTTP2<Schema$GoogleAdsSearchads360V23Services__MutateAdParametersResponse>>;
        mutate(params: Params$Resource$Customers$Adparameters$Mutate, options: StreamMethodOptions | BodyResponseCallback<Readable>, callback: BodyResponseCallback<Readable>): void;
        mutate(params: Params$Resource$Customers$Adparameters$Mutate, options: MethodOptions | BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateAdParametersResponse>, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateAdParametersResponse>): void;
        mutate(params: Params$Resource$Customers$Adparameters$Mutate, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateAdParametersResponse>): void;
        mutate(callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateAdParametersResponse>): void;
    }
    export interface Params$Resource$Customers$Adparameters$Mutate extends StandardParameters {
        /**
         * Required. The ID of the customer whose ad parameters are being modified.
         */
        customerId?: string;
        /**
         * Request body metadata
         */
        requestBody?: Schema$GoogleAdsSearchads360V23Services__MutateAdParametersRequest;
    }
    export class Resource$Customers$Ads {
        context: APIRequestContext;
        constructor(context: APIRequestContext);
        /**
         * Updates ads. Operation statuses are returned. Updating ads is not supported for TextAd, ExpandedDynamicSearchAd, GmailAd and ImageAd. List of thrown errors: [AdCustomizerError]() [AdError]() [AdSharingError]() [AdxError]() [AssetError]() [AssetLinkError]() [AuthenticationError]() [AuthorizationError]() [CollectionSizeError]() [DatabaseError]() [DateError]() [DistinctError]() [FeedAttributeReferenceError]() [FieldError]() [FieldMaskError]() [FunctionError]() [FunctionParsingError]() [HeaderError]() [IdError]() [ImageError]() [InternalError]() [ListOperationError]() [MediaBundleError]() [MediaFileError]() [MutateError]() [NewResourceCreationError]() [NotEmptyError]() [NullError]() [OperatorError]() [PolicyFindingError]() [PolicyViolationError]() [QuotaError]() [RangeError]() [RequestError]() [SizeLimitError]() [StringFormatError]() [StringLengthError]() [UrlFieldError]()
         * @example
         * ```js
         * // Before running the sample:
         * // - Enable the API at:
         * //   https://console.developers.google.com/apis/api/searchads360.googleapis.com
         * // - Login into gcloud by running:
         * //   ```sh
         * //   $ gcloud auth application-default login
         * //   ```
         * // - Install the npm module by running:
         * //   ```sh
         * //   $ npm install googleapis
         * //   ```
         *
         * const {google} = require('googleapis');
         * const searchads360 = google.searchads360('v23');
         *
         * async function main() {
         *   const auth = new google.auth.GoogleAuth({
         *     // Scopes can be specified either as an array or as a single, space-delimited string.
         *     scopes: ['https://www.googleapis.com/auth/doubleclicksearch'],
         *   });
         *
         *   // Acquire an auth client, and bind it to all future calls
         *   const authClient = await auth.getClient();
         *   google.options({auth: authClient});
         *
         *   // Do the magic
         *   const res = await searchads360.customers.ads.mutate({
         *     // Required. The ID of the customer whose ads are being modified.
         *     customerId: '[^/]+',
         *
         *     // Request body metadata
         *     requestBody: {
         *       // request body parameters
         *       // {
         *       //   "operations": [],
         *       //   "partialFailure": false,
         *       //   "responseContentType": "my_responseContentType",
         *       //   "validateOnly": false
         *       // }
         *     },
         *   });
         *   console.log(res.data);
         *
         *   // Example response
         *   // {
         *   //   "partialFailureError": {},
         *   //   "results": []
         *   // }
         * }
         *
         * main().catch(e => {
         *   console.error(e);
         *   throw e;
         * });
         *
         * ```
         *
         * @param params - Parameters for request
         * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
         * @param callback - Optional callback that handles the response.
         * @returns A promise if used with async/await, or void if used with a callback.
         */
        mutate(params: Params$Resource$Customers$Ads$Mutate, options: StreamMethodOptions): Promise<GaxiosResponseWithHTTP2<Readable>>;
        mutate(params?: Params$Resource$Customers$Ads$Mutate, options?: MethodOptions): Promise<GaxiosResponseWithHTTP2<Schema$GoogleAdsSearchads360V23Services__MutateAdsResponse>>;
        mutate(params: Params$Resource$Customers$Ads$Mutate, options: StreamMethodOptions | BodyResponseCallback<Readable>, callback: BodyResponseCallback<Readable>): void;
        mutate(params: Params$Resource$Customers$Ads$Mutate, options: MethodOptions | BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateAdsResponse>, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateAdsResponse>): void;
        mutate(params: Params$Resource$Customers$Ads$Mutate, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateAdsResponse>): void;
        mutate(callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateAdsResponse>): void;
    }
    export interface Params$Resource$Customers$Ads$Mutate extends StandardParameters {
        /**
         * Required. The ID of the customer whose ads are being modified.
         */
        customerId?: string;
        /**
         * Request body metadata
         */
        requestBody?: Schema$GoogleAdsSearchads360V23Services__MutateAdsRequest;
    }
    export class Resource$Customers$Assetgroupassets {
        context: APIRequestContext;
        constructor(context: APIRequestContext);
        /**
         * Creates, updates or removes asset group assets. Operation statuses are returned.
         * @example
         * ```js
         * // Before running the sample:
         * // - Enable the API at:
         * //   https://console.developers.google.com/apis/api/searchads360.googleapis.com
         * // - Login into gcloud by running:
         * //   ```sh
         * //   $ gcloud auth application-default login
         * //   ```
         * // - Install the npm module by running:
         * //   ```sh
         * //   $ npm install googleapis
         * //   ```
         *
         * const {google} = require('googleapis');
         * const searchads360 = google.searchads360('v23');
         *
         * async function main() {
         *   const auth = new google.auth.GoogleAuth({
         *     // Scopes can be specified either as an array or as a single, space-delimited string.
         *     scopes: ['https://www.googleapis.com/auth/doubleclicksearch'],
         *   });
         *
         *   // Acquire an auth client, and bind it to all future calls
         *   const authClient = await auth.getClient();
         *   google.options({auth: authClient});
         *
         *   // Do the magic
         *   const res = await searchads360.customers.assetGroupAssets.mutate({
         *     // Required. The ID of the customer whose asset group assets are being modified.
         *     customerId: '[^/]+',
         *
         *     // Request body metadata
         *     requestBody: {
         *       // request body parameters
         *       // {
         *       //   "operations": [],
         *       //   "partialFailure": false,
         *       //   "validateOnly": false
         *       // }
         *     },
         *   });
         *   console.log(res.data);
         *
         *   // Example response
         *   // {
         *   //   "partialFailureError": {},
         *   //   "results": []
         *   // }
         * }
         *
         * main().catch(e => {
         *   console.error(e);
         *   throw e;
         * });
         *
         * ```
         *
         * @param params - Parameters for request
         * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
         * @param callback - Optional callback that handles the response.
         * @returns A promise if used with async/await, or void if used with a callback.
         */
        mutate(params: Params$Resource$Customers$Assetgroupassets$Mutate, options: StreamMethodOptions): Promise<GaxiosResponseWithHTTP2<Readable>>;
        mutate(params?: Params$Resource$Customers$Assetgroupassets$Mutate, options?: MethodOptions): Promise<GaxiosResponseWithHTTP2<Schema$GoogleAdsSearchads360V23Services__MutateAssetGroupAssetsResponse>>;
        mutate(params: Params$Resource$Customers$Assetgroupassets$Mutate, options: StreamMethodOptions | BodyResponseCallback<Readable>, callback: BodyResponseCallback<Readable>): void;
        mutate(params: Params$Resource$Customers$Assetgroupassets$Mutate, options: MethodOptions | BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateAssetGroupAssetsResponse>, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateAssetGroupAssetsResponse>): void;
        mutate(params: Params$Resource$Customers$Assetgroupassets$Mutate, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateAssetGroupAssetsResponse>): void;
        mutate(callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateAssetGroupAssetsResponse>): void;
    }
    export interface Params$Resource$Customers$Assetgroupassets$Mutate extends StandardParameters {
        /**
         * Required. The ID of the customer whose asset group assets are being modified.
         */
        customerId?: string;
        /**
         * Request body metadata
         */
        requestBody?: Schema$GoogleAdsSearchads360V23Services__MutateAssetGroupAssetsRequest;
    }
    export class Resource$Customers$Assetgrouplistinggroupfilters {
        context: APIRequestContext;
        constructor(context: APIRequestContext);
        /**
         * Creates, updates or removes asset group listing group filters. Operation statuses are returned.
         * @example
         * ```js
         * // Before running the sample:
         * // - Enable the API at:
         * //   https://console.developers.google.com/apis/api/searchads360.googleapis.com
         * // - Login into gcloud by running:
         * //   ```sh
         * //   $ gcloud auth application-default login
         * //   ```
         * // - Install the npm module by running:
         * //   ```sh
         * //   $ npm install googleapis
         * //   ```
         *
         * const {google} = require('googleapis');
         * const searchads360 = google.searchads360('v23');
         *
         * async function main() {
         *   const auth = new google.auth.GoogleAuth({
         *     // Scopes can be specified either as an array or as a single, space-delimited string.
         *     scopes: ['https://www.googleapis.com/auth/doubleclicksearch'],
         *   });
         *
         *   // Acquire an auth client, and bind it to all future calls
         *   const authClient = await auth.getClient();
         *   google.options({auth: authClient});
         *
         *   // Do the magic
         *   const res = await searchads360.customers.assetGroupListingGroupFilters.mutate(
         *     {
         *       // Required. The ID of the customer whose asset group listing group filters are being modified.
         *       customerId: '[^/]+',
         *
         *       // Request body metadata
         *       requestBody: {
         *         // request body parameters
         *         // {
         *         //   "operations": [],
         *         //   "responseContentType": "my_responseContentType",
         *         //   "validateOnly": false
         *         // }
         *       },
         *     },
         *   );
         *   console.log(res.data);
         *
         *   // Example response
         *   // {
         *   //   "results": []
         *   // }
         * }
         *
         * main().catch(e => {
         *   console.error(e);
         *   throw e;
         * });
         *
         * ```
         *
         * @param params - Parameters for request
         * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
         * @param callback - Optional callback that handles the response.
         * @returns A promise if used with async/await, or void if used with a callback.
         */
        mutate(params: Params$Resource$Customers$Assetgrouplistinggroupfilters$Mutate, options: StreamMethodOptions): Promise<GaxiosResponseWithHTTP2<Readable>>;
        mutate(params?: Params$Resource$Customers$Assetgrouplistinggroupfilters$Mutate, options?: MethodOptions): Promise<GaxiosResponseWithHTTP2<Schema$GoogleAdsSearchads360V23Services__MutateAssetGroupListingGroupFiltersResponse>>;
        mutate(params: Params$Resource$Customers$Assetgrouplistinggroupfilters$Mutate, options: StreamMethodOptions | BodyResponseCallback<Readable>, callback: BodyResponseCallback<Readable>): void;
        mutate(params: Params$Resource$Customers$Assetgrouplistinggroupfilters$Mutate, options: MethodOptions | BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateAssetGroupListingGroupFiltersResponse>, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateAssetGroupListingGroupFiltersResponse>): void;
        mutate(params: Params$Resource$Customers$Assetgrouplistinggroupfilters$Mutate, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateAssetGroupListingGroupFiltersResponse>): void;
        mutate(callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateAssetGroupListingGroupFiltersResponse>): void;
    }
    export interface Params$Resource$Customers$Assetgrouplistinggroupfilters$Mutate extends StandardParameters {
        /**
         * Required. The ID of the customer whose asset group listing group filters are being modified.
         */
        customerId?: string;
        /**
         * Request body metadata
         */
        requestBody?: Schema$GoogleAdsSearchads360V23Services__MutateAssetGroupListingGroupFiltersRequest;
    }
    export class Resource$Customers$Assetgroups {
        context: APIRequestContext;
        constructor(context: APIRequestContext);
        /**
         * Creates, updates or removes asset groups. Operation statuses are returned.
         * @example
         * ```js
         * // Before running the sample:
         * // - Enable the API at:
         * //   https://console.developers.google.com/apis/api/searchads360.googleapis.com
         * // - Login into gcloud by running:
         * //   ```sh
         * //   $ gcloud auth application-default login
         * //   ```
         * // - Install the npm module by running:
         * //   ```sh
         * //   $ npm install googleapis
         * //   ```
         *
         * const {google} = require('googleapis');
         * const searchads360 = google.searchads360('v23');
         *
         * async function main() {
         *   const auth = new google.auth.GoogleAuth({
         *     // Scopes can be specified either as an array or as a single, space-delimited string.
         *     scopes: ['https://www.googleapis.com/auth/doubleclicksearch'],
         *   });
         *
         *   // Acquire an auth client, and bind it to all future calls
         *   const authClient = await auth.getClient();
         *   google.options({auth: authClient});
         *
         *   // Do the magic
         *   const res = await searchads360.customers.assetGroups.mutate({
         *     // Required. The ID of the customer whose asset groups are being modified.
         *     customerId: '[^/]+',
         *
         *     // Request body metadata
         *     requestBody: {
         *       // request body parameters
         *       // {
         *       //   "operations": [],
         *       //   "validateOnly": false
         *       // }
         *     },
         *   });
         *   console.log(res.data);
         *
         *   // Example response
         *   // {
         *   //   "partialFailureError": {},
         *   //   "results": []
         *   // }
         * }
         *
         * main().catch(e => {
         *   console.error(e);
         *   throw e;
         * });
         *
         * ```
         *
         * @param params - Parameters for request
         * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
         * @param callback - Optional callback that handles the response.
         * @returns A promise if used with async/await, or void if used with a callback.
         */
        mutate(params: Params$Resource$Customers$Assetgroups$Mutate, options: StreamMethodOptions): Promise<GaxiosResponseWithHTTP2<Readable>>;
        mutate(params?: Params$Resource$Customers$Assetgroups$Mutate, options?: MethodOptions): Promise<GaxiosResponseWithHTTP2<Schema$GoogleAdsSearchads360V23Services__MutateAssetGroupsResponse>>;
        mutate(params: Params$Resource$Customers$Assetgroups$Mutate, options: StreamMethodOptions | BodyResponseCallback<Readable>, callback: BodyResponseCallback<Readable>): void;
        mutate(params: Params$Resource$Customers$Assetgroups$Mutate, options: MethodOptions | BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateAssetGroupsResponse>, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateAssetGroupsResponse>): void;
        mutate(params: Params$Resource$Customers$Assetgroups$Mutate, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateAssetGroupsResponse>): void;
        mutate(callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateAssetGroupsResponse>): void;
    }
    export interface Params$Resource$Customers$Assetgroups$Mutate extends StandardParameters {
        /**
         * Required. The ID of the customer whose asset groups are being modified.
         */
        customerId?: string;
        /**
         * Request body metadata
         */
        requestBody?: Schema$GoogleAdsSearchads360V23Services__MutateAssetGroupsRequest;
    }
    export class Resource$Customers$Assetgroupsignals {
        context: APIRequestContext;
        constructor(context: APIRequestContext);
        /**
         * Creates or removes asset group signals. Operation statuses are returned.
         * @example
         * ```js
         * // Before running the sample:
         * // - Enable the API at:
         * //   https://console.developers.google.com/apis/api/searchads360.googleapis.com
         * // - Login into gcloud by running:
         * //   ```sh
         * //   $ gcloud auth application-default login
         * //   ```
         * // - Install the npm module by running:
         * //   ```sh
         * //   $ npm install googleapis
         * //   ```
         *
         * const {google} = require('googleapis');
         * const searchads360 = google.searchads360('v23');
         *
         * async function main() {
         *   const auth = new google.auth.GoogleAuth({
         *     // Scopes can be specified either as an array or as a single, space-delimited string.
         *     scopes: ['https://www.googleapis.com/auth/doubleclicksearch'],
         *   });
         *
         *   // Acquire an auth client, and bind it to all future calls
         *   const authClient = await auth.getClient();
         *   google.options({auth: authClient});
         *
         *   // Do the magic
         *   const res = await searchads360.customers.assetGroupSignals.mutate({
         *     // Required. The ID of the customer whose asset group signals are being modified.
         *     customerId: '[^/]+',
         *
         *     // Request body metadata
         *     requestBody: {
         *       // request body parameters
         *       // {
         *       //   "operations": [],
         *       //   "partialFailure": false,
         *       //   "responseContentType": "my_responseContentType",
         *       //   "validateOnly": false
         *       // }
         *     },
         *   });
         *   console.log(res.data);
         *
         *   // Example response
         *   // {
         *   //   "partialFailureError": {},
         *   //   "results": []
         *   // }
         * }
         *
         * main().catch(e => {
         *   console.error(e);
         *   throw e;
         * });
         *
         * ```
         *
         * @param params - Parameters for request
         * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
         * @param callback - Optional callback that handles the response.
         * @returns A promise if used with async/await, or void if used with a callback.
         */
        mutate(params: Params$Resource$Customers$Assetgroupsignals$Mutate, options: StreamMethodOptions): Promise<GaxiosResponseWithHTTP2<Readable>>;
        mutate(params?: Params$Resource$Customers$Assetgroupsignals$Mutate, options?: MethodOptions): Promise<GaxiosResponseWithHTTP2<Schema$GoogleAdsSearchads360V23Services__MutateAssetGroupSignalsResponse>>;
        mutate(params: Params$Resource$Customers$Assetgroupsignals$Mutate, options: StreamMethodOptions | BodyResponseCallback<Readable>, callback: BodyResponseCallback<Readable>): void;
        mutate(params: Params$Resource$Customers$Assetgroupsignals$Mutate, options: MethodOptions | BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateAssetGroupSignalsResponse>, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateAssetGroupSignalsResponse>): void;
        mutate(params: Params$Resource$Customers$Assetgroupsignals$Mutate, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateAssetGroupSignalsResponse>): void;
        mutate(callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateAssetGroupSignalsResponse>): void;
    }
    export interface Params$Resource$Customers$Assetgroupsignals$Mutate extends StandardParameters {
        /**
         * Required. The ID of the customer whose asset group signals are being modified.
         */
        customerId?: string;
        /**
         * Request body metadata
         */
        requestBody?: Schema$GoogleAdsSearchads360V23Services__MutateAssetGroupSignalsRequest;
    }
    export class Resource$Customers$Assets {
        context: APIRequestContext;
        constructor(context: APIRequestContext);
        /**
         * Creates assets. Operation statuses are returned. List of thrown errors: [AssetError]() [AuthenticationError]() [AuthorizationError]() [CollectionSizeError]() [CurrencyCodeError]() [DatabaseError]() [DateError]() [DistinctError]() [FieldError]() [FieldMaskError]() [HeaderError]() [IdError]() [InternalError]() [ListOperationError]() [MediaUploadError]() [MutateError]() [NotAllowlistedError]() [NotEmptyError]() [OperatorError]() [QuotaError]() [RangeError]() [RequestError]() [SizeLimitError]() [StringFormatError]() [StringLengthError]() [UrlFieldError]() [YoutubeVideoRegistrationError]()
         * @example
         * ```js
         * // Before running the sample:
         * // - Enable the API at:
         * //   https://console.developers.google.com/apis/api/searchads360.googleapis.com
         * // - Login into gcloud by running:
         * //   ```sh
         * //   $ gcloud auth application-default login
         * //   ```
         * // - Install the npm module by running:
         * //   ```sh
         * //   $ npm install googleapis
         * //   ```
         *
         * const {google} = require('googleapis');
         * const searchads360 = google.searchads360('v23');
         *
         * async function main() {
         *   const auth = new google.auth.GoogleAuth({
         *     // Scopes can be specified either as an array or as a single, space-delimited string.
         *     scopes: ['https://www.googleapis.com/auth/doubleclicksearch'],
         *   });
         *
         *   // Acquire an auth client, and bind it to all future calls
         *   const authClient = await auth.getClient();
         *   google.options({auth: authClient});
         *
         *   // Do the magic
         *   const res = await searchads360.customers.assets.mutate({
         *     // Required. The ID of the customer whose assets are being modified.
         *     customerId: '[^/]+',
         *
         *     // Request body metadata
         *     requestBody: {
         *       // request body parameters
         *       // {
         *       //   "operations": [],
         *       //   "partialFailure": false,
         *       //   "responseContentType": "my_responseContentType",
         *       //   "validateOnly": false
         *       // }
         *     },
         *   });
         *   console.log(res.data);
         *
         *   // Example response
         *   // {
         *   //   "partialFailureError": {},
         *   //   "results": []
         *   // }
         * }
         *
         * main().catch(e => {
         *   console.error(e);
         *   throw e;
         * });
         *
         * ```
         *
         * @param params - Parameters for request
         * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
         * @param callback - Optional callback that handles the response.
         * @returns A promise if used with async/await, or void if used with a callback.
         */
        mutate(params: Params$Resource$Customers$Assets$Mutate, options: StreamMethodOptions): Promise<GaxiosResponseWithHTTP2<Readable>>;
        mutate(params?: Params$Resource$Customers$Assets$Mutate, options?: MethodOptions): Promise<GaxiosResponseWithHTTP2<Schema$GoogleAdsSearchads360V23Services__MutateAssetsResponse>>;
        mutate(params: Params$Resource$Customers$Assets$Mutate, options: StreamMethodOptions | BodyResponseCallback<Readable>, callback: BodyResponseCallback<Readable>): void;
        mutate(params: Params$Resource$Customers$Assets$Mutate, options: MethodOptions | BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateAssetsResponse>, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateAssetsResponse>): void;
        mutate(params: Params$Resource$Customers$Assets$Mutate, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateAssetsResponse>): void;
        mutate(callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateAssetsResponse>): void;
    }
    export interface Params$Resource$Customers$Assets$Mutate extends StandardParameters {
        /**
         * Required. The ID of the customer whose assets are being modified.
         */
        customerId?: string;
        /**
         * Request body metadata
         */
        requestBody?: Schema$GoogleAdsSearchads360V23Services__MutateAssetsRequest;
    }
    export class Resource$Customers$Assetsetassets {
        context: APIRequestContext;
        constructor(context: APIRequestContext);
        /**
         * Creates, updates or removes asset set assets. Operation statuses are returned.
         * @example
         * ```js
         * // Before running the sample:
         * // - Enable the API at:
         * //   https://console.developers.google.com/apis/api/searchads360.googleapis.com
         * // - Login into gcloud by running:
         * //   ```sh
         * //   $ gcloud auth application-default login
         * //   ```
         * // - Install the npm module by running:
         * //   ```sh
         * //   $ npm install googleapis
         * //   ```
         *
         * const {google} = require('googleapis');
         * const searchads360 = google.searchads360('v23');
         *
         * async function main() {
         *   const auth = new google.auth.GoogleAuth({
         *     // Scopes can be specified either as an array or as a single, space-delimited string.
         *     scopes: ['https://www.googleapis.com/auth/doubleclicksearch'],
         *   });
         *
         *   // Acquire an auth client, and bind it to all future calls
         *   const authClient = await auth.getClient();
         *   google.options({auth: authClient});
         *
         *   // Do the magic
         *   const res = await searchads360.customers.assetSetAssets.mutate({
         *     // Required. The ID of the customer whose asset set assets are being modified.
         *     customerId: '[^/]+',
         *
         *     // Request body metadata
         *     requestBody: {
         *       // request body parameters
         *       // {
         *       //   "operations": [],
         *       //   "partialFailure": false,
         *       //   "responseContentType": "my_responseContentType",
         *       //   "validateOnly": false
         *       // }
         *     },
         *   });
         *   console.log(res.data);
         *
         *   // Example response
         *   // {
         *   //   "partialFailureError": {},
         *   //   "results": []
         *   // }
         * }
         *
         * main().catch(e => {
         *   console.error(e);
         *   throw e;
         * });
         *
         * ```
         *
         * @param params - Parameters for request
         * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
         * @param callback - Optional callback that handles the response.
         * @returns A promise if used with async/await, or void if used with a callback.
         */
        mutate(params: Params$Resource$Customers$Assetsetassets$Mutate, options: StreamMethodOptions): Promise<GaxiosResponseWithHTTP2<Readable>>;
        mutate(params?: Params$Resource$Customers$Assetsetassets$Mutate, options?: MethodOptions): Promise<GaxiosResponseWithHTTP2<Schema$GoogleAdsSearchads360V23Services__MutateAssetSetAssetsResponse>>;
        mutate(params: Params$Resource$Customers$Assetsetassets$Mutate, options: StreamMethodOptions | BodyResponseCallback<Readable>, callback: BodyResponseCallback<Readable>): void;
        mutate(params: Params$Resource$Customers$Assetsetassets$Mutate, options: MethodOptions | BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateAssetSetAssetsResponse>, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateAssetSetAssetsResponse>): void;
        mutate(params: Params$Resource$Customers$Assetsetassets$Mutate, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateAssetSetAssetsResponse>): void;
        mutate(callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateAssetSetAssetsResponse>): void;
    }
    export interface Params$Resource$Customers$Assetsetassets$Mutate extends StandardParameters {
        /**
         * Required. The ID of the customer whose asset set assets are being modified.
         */
        customerId?: string;
        /**
         * Request body metadata
         */
        requestBody?: Schema$GoogleAdsSearchads360V23Services__MutateAssetSetAssetsRequest;
    }
    export class Resource$Customers$Assetsets {
        context: APIRequestContext;
        constructor(context: APIRequestContext);
        /**
         * Creates, updates or removes asset sets. Operation statuses are returned.
         * @example
         * ```js
         * // Before running the sample:
         * // - Enable the API at:
         * //   https://console.developers.google.com/apis/api/searchads360.googleapis.com
         * // - Login into gcloud by running:
         * //   ```sh
         * //   $ gcloud auth application-default login
         * //   ```
         * // - Install the npm module by running:
         * //   ```sh
         * //   $ npm install googleapis
         * //   ```
         *
         * const {google} = require('googleapis');
         * const searchads360 = google.searchads360('v23');
         *
         * async function main() {
         *   const auth = new google.auth.GoogleAuth({
         *     // Scopes can be specified either as an array or as a single, space-delimited string.
         *     scopes: ['https://www.googleapis.com/auth/doubleclicksearch'],
         *   });
         *
         *   // Acquire an auth client, and bind it to all future calls
         *   const authClient = await auth.getClient();
         *   google.options({auth: authClient});
         *
         *   // Do the magic
         *   const res = await searchads360.customers.assetSets.mutate({
         *     // Required. The ID of the customer whose asset sets are being modified.
         *     customerId: '[^/]+',
         *
         *     // Request body metadata
         *     requestBody: {
         *       // request body parameters
         *       // {
         *       //   "operations": [],
         *       //   "partialFailure": false,
         *       //   "responseContentType": "my_responseContentType",
         *       //   "validateOnly": false
         *       // }
         *     },
         *   });
         *   console.log(res.data);
         *
         *   // Example response
         *   // {
         *   //   "partialFailureError": {},
         *   //   "results": []
         *   // }
         * }
         *
         * main().catch(e => {
         *   console.error(e);
         *   throw e;
         * });
         *
         * ```
         *
         * @param params - Parameters for request
         * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
         * @param callback - Optional callback that handles the response.
         * @returns A promise if used with async/await, or void if used with a callback.
         */
        mutate(params: Params$Resource$Customers$Assetsets$Mutate, options: StreamMethodOptions): Promise<GaxiosResponseWithHTTP2<Readable>>;
        mutate(params?: Params$Resource$Customers$Assetsets$Mutate, options?: MethodOptions): Promise<GaxiosResponseWithHTTP2<Schema$GoogleAdsSearchads360V23Services__MutateAssetSetsResponse>>;
        mutate(params: Params$Resource$Customers$Assetsets$Mutate, options: StreamMethodOptions | BodyResponseCallback<Readable>, callback: BodyResponseCallback<Readable>): void;
        mutate(params: Params$Resource$Customers$Assetsets$Mutate, options: MethodOptions | BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateAssetSetsResponse>, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateAssetSetsResponse>): void;
        mutate(params: Params$Resource$Customers$Assetsets$Mutate, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateAssetSetsResponse>): void;
        mutate(callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateAssetSetsResponse>): void;
    }
    export interface Params$Resource$Customers$Assetsets$Mutate extends StandardParameters {
        /**
         * Required. The ID of the customer whose asset sets are being modified.
         */
        customerId?: string;
        /**
         * Request body metadata
         */
        requestBody?: Schema$GoogleAdsSearchads360V23Services__MutateAssetSetsRequest;
    }
    export class Resource$Customers$Audiences {
        context: APIRequestContext;
        constructor(context: APIRequestContext);
        /**
         * Creates audiences. Operation statuses are returned. List of thrown errors: [AudienceError]()
         * @example
         * ```js
         * // Before running the sample:
         * // - Enable the API at:
         * //   https://console.developers.google.com/apis/api/searchads360.googleapis.com
         * // - Login into gcloud by running:
         * //   ```sh
         * //   $ gcloud auth application-default login
         * //   ```
         * // - Install the npm module by running:
         * //   ```sh
         * //   $ npm install googleapis
         * //   ```
         *
         * const {google} = require('googleapis');
         * const searchads360 = google.searchads360('v23');
         *
         * async function main() {
         *   const auth = new google.auth.GoogleAuth({
         *     // Scopes can be specified either as an array or as a single, space-delimited string.
         *     scopes: ['https://www.googleapis.com/auth/doubleclicksearch'],
         *   });
         *
         *   // Acquire an auth client, and bind it to all future calls
         *   const authClient = await auth.getClient();
         *   google.options({auth: authClient});
         *
         *   // Do the magic
         *   const res = await searchads360.customers.audiences.mutate({
         *     // Required. The ID of the customer whose audiences are being modified.
         *     customerId: '[^/]+',
         *
         *     // Request body metadata
         *     requestBody: {
         *       // request body parameters
         *       // {
         *       //   "operations": [],
         *       //   "partialFailure": false,
         *       //   "responseContentType": "my_responseContentType",
         *       //   "validateOnly": false
         *       // }
         *     },
         *   });
         *   console.log(res.data);
         *
         *   // Example response
         *   // {
         *   //   "partialFailureError": {},
         *   //   "results": []
         *   // }
         * }
         *
         * main().catch(e => {
         *   console.error(e);
         *   throw e;
         * });
         *
         * ```
         *
         * @param params - Parameters for request
         * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
         * @param callback - Optional callback that handles the response.
         * @returns A promise if used with async/await, or void if used with a callback.
         */
        mutate(params: Params$Resource$Customers$Audiences$Mutate, options: StreamMethodOptions): Promise<GaxiosResponseWithHTTP2<Readable>>;
        mutate(params?: Params$Resource$Customers$Audiences$Mutate, options?: MethodOptions): Promise<GaxiosResponseWithHTTP2<Schema$GoogleAdsSearchads360V23Services__MutateAudiencesResponse>>;
        mutate(params: Params$Resource$Customers$Audiences$Mutate, options: StreamMethodOptions | BodyResponseCallback<Readable>, callback: BodyResponseCallback<Readable>): void;
        mutate(params: Params$Resource$Customers$Audiences$Mutate, options: MethodOptions | BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateAudiencesResponse>, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateAudiencesResponse>): void;
        mutate(params: Params$Resource$Customers$Audiences$Mutate, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateAudiencesResponse>): void;
        mutate(callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateAudiencesResponse>): void;
    }
    export interface Params$Resource$Customers$Audiences$Mutate extends StandardParameters {
        /**
         * Required. The ID of the customer whose audiences are being modified.
         */
        customerId?: string;
        /**
         * Request body metadata
         */
        requestBody?: Schema$GoogleAdsSearchads360V23Services__MutateAudiencesRequest;
    }
    export class Resource$Customers$Batchjobs {
        context: APIRequestContext;
        constructor(context: APIRequestContext);
        /**
         * Add operations to the batch job. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [BatchJobError]() [HeaderError]() [InternalError]() [QuotaError]() [RequestError]() [ResourceCountLimitExceededError]()
         * @example
         * ```js
         * // Before running the sample:
         * // - Enable the API at:
         * //   https://console.developers.google.com/apis/api/searchads360.googleapis.com
         * // - Login into gcloud by running:
         * //   ```sh
         * //   $ gcloud auth application-default login
         * //   ```
         * // - Install the npm module by running:
         * //   ```sh
         * //   $ npm install googleapis
         * //   ```
         *
         * const {google} = require('googleapis');
         * const searchads360 = google.searchads360('v23');
         *
         * async function main() {
         *   const auth = new google.auth.GoogleAuth({
         *     // Scopes can be specified either as an array or as a single, space-delimited string.
         *     scopes: ['https://www.googleapis.com/auth/doubleclicksearch'],
         *   });
         *
         *   // Acquire an auth client, and bind it to all future calls
         *   const authClient = await auth.getClient();
         *   google.options({auth: authClient});
         *
         *   // Do the magic
         *   const res = await searchads360.customers.batchJobs.addOperations({
         *     // Required. The resource name of the batch job.
         *     resourceName: 'customers/my-customer/batchJobs/my-batchJob',
         *
         *     // Request body metadata
         *     requestBody: {
         *       // request body parameters
         *       // {
         *       //   "mutateOperations": [],
         *       //   "sequenceToken": "my_sequenceToken"
         *       // }
         *     },
         *   });
         *   console.log(res.data);
         *
         *   // Example response
         *   // {
         *   //   "nextSequenceToken": "my_nextSequenceToken",
         *   //   "totalOperations": "my_totalOperations"
         *   // }
         * }
         *
         * main().catch(e => {
         *   console.error(e);
         *   throw e;
         * });
         *
         * ```
         *
         * @param params - Parameters for request
         * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
         * @param callback - Optional callback that handles the response.
         * @returns A promise if used with async/await, or void if used with a callback.
         */
        addOperations(params: Params$Resource$Customers$Batchjobs$Addoperations, options: StreamMethodOptions): Promise<GaxiosResponseWithHTTP2<Readable>>;
        addOperations(params?: Params$Resource$Customers$Batchjobs$Addoperations, options?: MethodOptions): Promise<GaxiosResponseWithHTTP2<Schema$GoogleAdsSearchads360V23Services__AddBatchJobOperationsResponse>>;
        addOperations(params: Params$Resource$Customers$Batchjobs$Addoperations, options: StreamMethodOptions | BodyResponseCallback<Readable>, callback: BodyResponseCallback<Readable>): void;
        addOperations(params: Params$Resource$Customers$Batchjobs$Addoperations, options: MethodOptions | BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__AddBatchJobOperationsResponse>, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__AddBatchJobOperationsResponse>): void;
        addOperations(params: Params$Resource$Customers$Batchjobs$Addoperations, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__AddBatchJobOperationsResponse>): void;
        addOperations(callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__AddBatchJobOperationsResponse>): void;
        /**
         * Returns the results of the batch job. The job must be done. Supports standard list paging. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [BatchJobError]() [HeaderError]() [InternalError]() [QuotaError]() [RequestError]()
         * @example
         * ```js
         * // Before running the sample:
         * // - Enable the API at:
         * //   https://console.developers.google.com/apis/api/searchads360.googleapis.com
         * // - Login into gcloud by running:
         * //   ```sh
         * //   $ gcloud auth application-default login
         * //   ```
         * // - Install the npm module by running:
         * //   ```sh
         * //   $ npm install googleapis
         * //   ```
         *
         * const {google} = require('googleapis');
         * const searchads360 = google.searchads360('v23');
         *
         * async function main() {
         *   const auth = new google.auth.GoogleAuth({
         *     // Scopes can be specified either as an array or as a single, space-delimited string.
         *     scopes: ['https://www.googleapis.com/auth/doubleclicksearch'],
         *   });
         *
         *   // Acquire an auth client, and bind it to all future calls
         *   const authClient = await auth.getClient();
         *   google.options({auth: authClient});
         *
         *   // Do the magic
         *   const res = await searchads360.customers.batchJobs.listResults({
         *     pageSize: 'placeholder-value',
         *     // Token of the page to retrieve. If not specified, the first page of results will be returned. Use the value obtained from `next_page_token` in the previous response in order to request the next page of results.
         *     pageToken: 'placeholder-value',
         *     // Required. The resource name of the batch job whose results are being listed.
         *     resourceName: 'customers/my-customer/batchJobs/my-batchJob',
         *     // The response content type setting. Determines whether the mutable resource or just the resource name should be returned.
         *     responseContentType: 'placeholder-value',
         *   });
         *   console.log(res.data);
         *
         *   // Example response
         *   // {
         *   //   "nextPageToken": "my_nextPageToken",
         *   //   "results": []
         *   // }
         * }
         *
         * main().catch(e => {
         *   console.error(e);
         *   throw e;
         * });
         *
         * ```
         *
         * @param params - Parameters for request
         * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
         * @param callback - Optional callback that handles the response.
         * @returns A promise if used with async/await, or void if used with a callback.
         */
        listResults(params: Params$Resource$Customers$Batchjobs$Listresults, options: StreamMethodOptions): Promise<GaxiosResponseWithHTTP2<Readable>>;
        listResults(params?: Params$Resource$Customers$Batchjobs$Listresults, options?: MethodOptions): Promise<GaxiosResponseWithHTTP2<Schema$GoogleAdsSearchads360V23Services__ListBatchJobResultsResponse>>;
        listResults(params: Params$Resource$Customers$Batchjobs$Listresults, options: StreamMethodOptions | BodyResponseCallback<Readable>, callback: BodyResponseCallback<Readable>): void;
        listResults(params: Params$Resource$Customers$Batchjobs$Listresults, options: MethodOptions | BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__ListBatchJobResultsResponse>, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__ListBatchJobResultsResponse>): void;
        listResults(params: Params$Resource$Customers$Batchjobs$Listresults, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__ListBatchJobResultsResponse>): void;
        listResults(callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__ListBatchJobResultsResponse>): void;
        /**
         * Mutates a batch job. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [HeaderError]() [InternalError]() [QuotaError]() [RequestError]() [ResourceCountLimitExceededError]()
         * @example
         * ```js
         * // Before running the sample:
         * // - Enable the API at:
         * //   https://console.developers.google.com/apis/api/searchads360.googleapis.com
         * // - Login into gcloud by running:
         * //   ```sh
         * //   $ gcloud auth application-default login
         * //   ```
         * // - Install the npm module by running:
         * //   ```sh
         * //   $ npm install googleapis
         * //   ```
         *
         * const {google} = require('googleapis');
         * const searchads360 = google.searchads360('v23');
         *
         * async function main() {
         *   const auth = new google.auth.GoogleAuth({
         *     // Scopes can be specified either as an array or as a single, space-delimited string.
         *     scopes: ['https://www.googleapis.com/auth/doubleclicksearch'],
         *   });
         *
         *   // Acquire an auth client, and bind it to all future calls
         *   const authClient = await auth.getClient();
         *   google.options({auth: authClient});
         *
         *   // Do the magic
         *   const res = await searchads360.customers.batchJobs.mutate({
         *     // Required. The ID of the customer for which to create a batch job.
         *     customerId: '[^/]+',
         *
         *     // Request body metadata
         *     requestBody: {
         *       // request body parameters
         *       // {
         *       //   "operation": {}
         *       // }
         *     },
         *   });
         *   console.log(res.data);
         *
         *   // Example response
         *   // {
         *   //   "result": {}
         *   // }
         * }
         *
         * main().catch(e => {
         *   console.error(e);
         *   throw e;
         * });
         *
         * ```
         *
         * @param params - Parameters for request
         * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
         * @param callback - Optional callback that handles the response.
         * @returns A promise if used with async/await, or void if used with a callback.
         */
        mutate(params: Params$Resource$Customers$Batchjobs$Mutate, options: StreamMethodOptions): Promise<GaxiosResponseWithHTTP2<Readable>>;
        mutate(params?: Params$Resource$Customers$Batchjobs$Mutate, options?: MethodOptions): Promise<GaxiosResponseWithHTTP2<Schema$GoogleAdsSearchads360V23Services__MutateBatchJobResponse>>;
        mutate(params: Params$Resource$Customers$Batchjobs$Mutate, options: StreamMethodOptions | BodyResponseCallback<Readable>, callback: BodyResponseCallback<Readable>): void;
        mutate(params: Params$Resource$Customers$Batchjobs$Mutate, options: MethodOptions | BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateBatchJobResponse>, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateBatchJobResponse>): void;
        mutate(params: Params$Resource$Customers$Batchjobs$Mutate, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateBatchJobResponse>): void;
        mutate(callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateBatchJobResponse>): void;
        /**
         * Runs the batch job. The Operation.metadata field type is BatchJobMetadata. When finished, the long running operation will not contain errors or a response. Instead, use ListBatchJobResults to get the results of the job. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [BatchJobError]() [HeaderError]() [InternalError]() [QuotaError]() [RequestError]()
         * @example
         * ```js
         * // Before running the sample:
         * // - Enable the API at:
         * //   https://console.developers.google.com/apis/api/searchads360.googleapis.com
         * // - Login into gcloud by running:
         * //   ```sh
         * //   $ gcloud auth application-default login
         * //   ```
         * // - Install the npm module by running:
         * //   ```sh
         * //   $ npm install googleapis
         * //   ```
         *
         * const {google} = require('googleapis');
         * const searchads360 = google.searchads360('v23');
         *
         * async function main() {
         *   const auth = new google.auth.GoogleAuth({
         *     // Scopes can be specified either as an array or as a single, space-delimited string.
         *     scopes: ['https://www.googleapis.com/auth/doubleclicksearch'],
         *   });
         *
         *   // Acquire an auth client, and bind it to all future calls
         *   const authClient = await auth.getClient();
         *   google.options({auth: authClient});
         *
         *   // Do the magic
         *   const res = await searchads360.customers.batchJobs.run({
         *     // Required. The resource name of the BatchJob to run.
         *     resourceName: 'customers/my-customer/batchJobs/my-batchJob',
         *
         *     // Request body metadata
         *     requestBody: {
         *       // request body parameters
         *       // {}
         *     },
         *   });
         *   console.log(res.data);
         *
         *   // Example response
         *   // {
         *   //   "done": false,
         *   //   "error": {},
         *   //   "metadata": {},
         *   //   "name": "my_name",
         *   //   "response": {}
         *   // }
         * }
         *
         * main().catch(e => {
         *   console.error(e);
         *   throw e;
         * });
         *
         * ```
         *
         * @param params - Parameters for request
         * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
         * @param callback - Optional callback that handles the response.
         * @returns A promise if used with async/await, or void if used with a callback.
         */
        run(params: Params$Resource$Customers$Batchjobs$Run, options: StreamMethodOptions): Promise<GaxiosResponseWithHTTP2<Readable>>;
        run(params?: Params$Resource$Customers$Batchjobs$Run, options?: MethodOptions): Promise<GaxiosResponseWithHTTP2<Schema$GoogleLongrunning__Operation>>;
        run(params: Params$Resource$Customers$Batchjobs$Run, options: StreamMethodOptions | BodyResponseCallback<Readable>, callback: BodyResponseCallback<Readable>): void;
        run(params: Params$Resource$Customers$Batchjobs$Run, options: MethodOptions | BodyResponseCallback<Schema$GoogleLongrunning__Operation>, callback: BodyResponseCallback<Schema$GoogleLongrunning__Operation>): void;
        run(params: Params$Resource$Customers$Batchjobs$Run, callback: BodyResponseCallback<Schema$GoogleLongrunning__Operation>): void;
        run(callback: BodyResponseCallback<Schema$GoogleLongrunning__Operation>): void;
    }
    export interface Params$Resource$Customers$Batchjobs$Addoperations extends StandardParameters {
        /**
         * Required. The resource name of the batch job.
         */
        resourceName?: string;
        /**
         * Request body metadata
         */
        requestBody?: Schema$GoogleAdsSearchads360V23Services__AddBatchJobOperationsRequest;
    }
    export interface Params$Resource$Customers$Batchjobs$Listresults extends StandardParameters {
        /**
         *
         */
        pageSize?: number;
        /**
         * Token of the page to retrieve. If not specified, the first page of results will be returned. Use the value obtained from `next_page_token` in the previous response in order to request the next page of results.
         */
        pageToken?: string;
        /**
         * Required. The resource name of the batch job whose results are being listed.
         */
        resourceName?: string;
        /**
         * The response content type setting. Determines whether the mutable resource or just the resource name should be returned.
         */
        responseContentType?: string;
    }
    export interface Params$Resource$Customers$Batchjobs$Mutate extends StandardParameters {
        /**
         * Required. The ID of the customer for which to create a batch job.
         */
        customerId?: string;
        /**
         * Request body metadata
         */
        requestBody?: Schema$GoogleAdsSearchads360V23Services__MutateBatchJobRequest;
    }
    export interface Params$Resource$Customers$Batchjobs$Run extends StandardParameters {
        /**
         * Required. The resource name of the BatchJob to run.
         */
        resourceName?: string;
        /**
         * Request body metadata
         */
        requestBody?: Schema$GoogleAdsSearchads360V23Services__RunBatchJobRequest;
    }
    export class Resource$Customers$Biddingdataexclusions {
        context: APIRequestContext;
        constructor(context: APIRequestContext);
        /**
         * Creates, updates, or removes data exclusions. Operation statuses are returned.
         * @example
         * ```js
         * // Before running the sample:
         * // - Enable the API at:
         * //   https://console.developers.google.com/apis/api/searchads360.googleapis.com
         * // - Login into gcloud by running:
         * //   ```sh
         * //   $ gcloud auth application-default login
         * //   ```
         * // - Install the npm module by running:
         * //   ```sh
         * //   $ npm install googleapis
         * //   ```
         *
         * const {google} = require('googleapis');
         * const searchads360 = google.searchads360('v23');
         *
         * async function main() {
         *   const auth = new google.auth.GoogleAuth({
         *     // Scopes can be specified either as an array or as a single, space-delimited string.
         *     scopes: ['https://www.googleapis.com/auth/doubleclicksearch'],
         *   });
         *
         *   // Acquire an auth client, and bind it to all future calls
         *   const authClient = await auth.getClient();
         *   google.options({auth: authClient});
         *
         *   // Do the magic
         *   const res = await searchads360.customers.biddingDataExclusions.mutate({
         *     // Required. ID of the customer whose data exclusions are being modified.
         *     customerId: '[^/]+',
         *
         *     // Request body metadata
         *     requestBody: {
         *       // request body parameters
         *       // {
         *       //   "operations": [],
         *       //   "partialFailure": false,
         *       //   "responseContentType": "my_responseContentType",
         *       //   "validateOnly": false
         *       // }
         *     },
         *   });
         *   console.log(res.data);
         *
         *   // Example response
         *   // {
         *   //   "partialFailureError": {},
         *   //   "results": []
         *   // }
         * }
         *
         * main().catch(e => {
         *   console.error(e);
         *   throw e;
         * });
         *
         * ```
         *
         * @param params - Parameters for request
         * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
         * @param callback - Optional callback that handles the response.
         * @returns A promise if used with async/await, or void if used with a callback.
         */
        mutate(params: Params$Resource$Customers$Biddingdataexclusions$Mutate, options: StreamMethodOptions): Promise<GaxiosResponseWithHTTP2<Readable>>;
        mutate(params?: Params$Resource$Customers$Biddingdataexclusions$Mutate, options?: MethodOptions): Promise<GaxiosResponseWithHTTP2<Schema$GoogleAdsSearchads360V23Services__MutateBiddingDataExclusionsResponse>>;
        mutate(params: Params$Resource$Customers$Biddingdataexclusions$Mutate, options: StreamMethodOptions | BodyResponseCallback<Readable>, callback: BodyResponseCallback<Readable>): void;
        mutate(params: Params$Resource$Customers$Biddingdataexclusions$Mutate, options: MethodOptions | BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateBiddingDataExclusionsResponse>, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateBiddingDataExclusionsResponse>): void;
        mutate(params: Params$Resource$Customers$Biddingdataexclusions$Mutate, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateBiddingDataExclusionsResponse>): void;
        mutate(callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateBiddingDataExclusionsResponse>): void;
    }
    export interface Params$Resource$Customers$Biddingdataexclusions$Mutate extends StandardParameters {
        /**
         * Required. ID of the customer whose data exclusions are being modified.
         */
        customerId?: string;
        /**
         * Request body metadata
         */
        requestBody?: Schema$GoogleAdsSearchads360V23Services__MutateBiddingDataExclusionsRequest;
    }
    export class Resource$Customers$Biddingseasonalityadjustments {
        context: APIRequestContext;
        constructor(context: APIRequestContext);
        /**
         * Creates, updates, or removes seasonality adjustments. Operation statuses are returned.
         * @example
         * ```js
         * // Before running the sample:
         * // - Enable the API at:
         * //   https://console.developers.google.com/apis/api/searchads360.googleapis.com
         * // - Login into gcloud by running:
         * //   ```sh
         * //   $ gcloud auth application-default login
         * //   ```
         * // - Install the npm module by running:
         * //   ```sh
         * //   $ npm install googleapis
         * //   ```
         *
         * const {google} = require('googleapis');
         * const searchads360 = google.searchads360('v23');
         *
         * async function main() {
         *   const auth = new google.auth.GoogleAuth({
         *     // Scopes can be specified either as an array or as a single, space-delimited string.
         *     scopes: ['https://www.googleapis.com/auth/doubleclicksearch'],
         *   });
         *
         *   // Acquire an auth client, and bind it to all future calls
         *   const authClient = await auth.getClient();
         *   google.options({auth: authClient});
         *
         *   // Do the magic
         *   const res = await searchads360.customers.biddingSeasonalityAdjustments.mutate(
         *     {
         *       // Required. ID of the customer whose seasonality adjustments are being modified.
         *       customerId: '[^/]+',
         *
         *       // Request body metadata
         *       requestBody: {
         *         // request body parameters
         *         // {
         *         //   "operations": [],
         *         //   "partialFailure": false,
         *         //   "responseContentType": "my_responseContentType",
         *         //   "validateOnly": false
         *         // }
         *       },
         *     },
         *   );
         *   console.log(res.data);
         *
         *   // Example response
         *   // {
         *   //   "partialFailureError": {},
         *   //   "results": []
         *   // }
         * }
         *
         * main().catch(e => {
         *   console.error(e);
         *   throw e;
         * });
         *
         * ```
         *
         * @param params - Parameters for request
         * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
         * @param callback - Optional callback that handles the response.
         * @returns A promise if used with async/await, or void if used with a callback.
         */
        mutate(params: Params$Resource$Customers$Biddingseasonalityadjustments$Mutate, options: StreamMethodOptions): Promise<GaxiosResponseWithHTTP2<Readable>>;
        mutate(params?: Params$Resource$Customers$Biddingseasonalityadjustments$Mutate, options?: MethodOptions): Promise<GaxiosResponseWithHTTP2<Schema$GoogleAdsSearchads360V23Services__MutateBiddingSeasonalityAdjustmentsResponse>>;
        mutate(params: Params$Resource$Customers$Biddingseasonalityadjustments$Mutate, options: StreamMethodOptions | BodyResponseCallback<Readable>, callback: BodyResponseCallback<Readable>): void;
        mutate(params: Params$Resource$Customers$Biddingseasonalityadjustments$Mutate, options: MethodOptions | BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateBiddingSeasonalityAdjustmentsResponse>, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateBiddingSeasonalityAdjustmentsResponse>): void;
        mutate(params: Params$Resource$Customers$Biddingseasonalityadjustments$Mutate, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateBiddingSeasonalityAdjustmentsResponse>): void;
        mutate(callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateBiddingSeasonalityAdjustmentsResponse>): void;
    }
    export interface Params$Resource$Customers$Biddingseasonalityadjustments$Mutate extends StandardParameters {
        /**
         * Required. ID of the customer whose seasonality adjustments are being modified.
         */
        customerId?: string;
        /**
         * Request body metadata
         */
        requestBody?: Schema$GoogleAdsSearchads360V23Services__MutateBiddingSeasonalityAdjustmentsRequest;
    }
    export class Resource$Customers$Biddingstrategies {
        context: APIRequestContext;
        constructor(context: APIRequestContext);
        /**
         * Creates, updates, or removes bidding strategies. Operation statuses are returned. List of thrown errors: [AdxError]() [AuthenticationError]() [AuthorizationError]() [BiddingError]() [BiddingStrategyError]() [ContextError]() [DatabaseError]() [DateError]() [DistinctError]() [FieldError]() [FieldMaskError]() [HeaderError]() [IdError]() [InternalError]() [MutateError]() [NewResourceCreationError]() [NotEmptyError]() [NullError]() [OperationAccessDeniedError]() [OperatorError]() [QuotaError]() [RangeError]() [RequestError]() [SizeLimitError]() [StringFormatError]() [StringLengthError]()
         * @example
         * ```js
         * // Before running the sample:
         * // - Enable the API at:
         * //   https://console.developers.google.com/apis/api/searchads360.googleapis.com
         * // - Login into gcloud by running:
         * //   ```sh
         * //   $ gcloud auth application-default login
         * //   ```
         * // - Install the npm module by running:
         * //   ```sh
         * //   $ npm install googleapis
         * //   ```
         *
         * const {google} = require('googleapis');
         * const searchads360 = google.searchads360('v23');
         *
         * async function main() {
         *   const auth = new google.auth.GoogleAuth({
         *     // Scopes can be specified either as an array or as a single, space-delimited string.
         *     scopes: ['https://www.googleapis.com/auth/doubleclicksearch'],
         *   });
         *
         *   // Acquire an auth client, and bind it to all future calls
         *   const authClient = await auth.getClient();
         *   google.options({auth: authClient});
         *
         *   // Do the magic
         *   const res = await searchads360.customers.biddingStrategies.mutate({
         *     // Required. The ID of the customer whose bidding strategies are being modified.
         *     customerId: '[^/]+',
         *
         *     // Request body metadata
         *     requestBody: {
         *       // request body parameters
         *       // {
         *       //   "operations": [],
         *       //   "partialFailure": false,
         *       //   "responseContentType": "my_responseContentType",
         *       //   "validateOnly": false
         *       // }
         *     },
         *   });
         *   console.log(res.data);
         *
         *   // Example response
         *   // {
         *   //   "partialFailureError": {},
         *   //   "results": []
         *   // }
         * }
         *
         * main().catch(e => {
         *   console.error(e);
         *   throw e;
         * });
         *
         * ```
         *
         * @param params - Parameters for request
         * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
         * @param callback - Optional callback that handles the response.
         * @returns A promise if used with async/await, or void if used with a callback.
         */
        mutate(params: Params$Resource$Customers$Biddingstrategies$Mutate, options: StreamMethodOptions): Promise<GaxiosResponseWithHTTP2<Readable>>;
        mutate(params?: Params$Resource$Customers$Biddingstrategies$Mutate, options?: MethodOptions): Promise<GaxiosResponseWithHTTP2<Schema$GoogleAdsSearchads360V23Services__MutateBiddingStrategiesResponse>>;
        mutate(params: Params$Resource$Customers$Biddingstrategies$Mutate, options: StreamMethodOptions | BodyResponseCallback<Readable>, callback: BodyResponseCallback<Readable>): void;
        mutate(params: Params$Resource$Customers$Biddingstrategies$Mutate, options: MethodOptions | BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateBiddingStrategiesResponse>, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateBiddingStrategiesResponse>): void;
        mutate(params: Params$Resource$Customers$Biddingstrategies$Mutate, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateBiddingStrategiesResponse>): void;
        mutate(callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateBiddingStrategiesResponse>): void;
    }
    export interface Params$Resource$Customers$Biddingstrategies$Mutate extends StandardParameters {
        /**
         * Required. The ID of the customer whose bidding strategies are being modified.
         */
        customerId?: string;
        /**
         * Request body metadata
         */
        requestBody?: Schema$GoogleAdsSearchads360V23Services__MutateBiddingStrategiesRequest;
    }
    export class Resource$Customers$Billingsetups {
        context: APIRequestContext;
        constructor(context: APIRequestContext);
        /**
         * Creates a billing setup, or cancels an existing billing setup. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [BillingSetupError]() [DateError]() [FieldError]() [HeaderError]() [InternalError]() [MutateError]() [QuotaError]() [RequestError]()
         * @example
         * ```js
         * // Before running the sample:
         * // - Enable the API at:
         * //   https://console.developers.google.com/apis/api/searchads360.googleapis.com
         * // - Login into gcloud by running:
         * //   ```sh
         * //   $ gcloud auth application-default login
         * //   ```
         * // - Install the npm module by running:
         * //   ```sh
         * //   $ npm install googleapis
         * //   ```
         *
         * const {google} = require('googleapis');
         * const searchads360 = google.searchads360('v23');
         *
         * async function main() {
         *   const auth = new google.auth.GoogleAuth({
         *     // Scopes can be specified either as an array or as a single, space-delimited string.
         *     scopes: ['https://www.googleapis.com/auth/doubleclicksearch'],
         *   });
         *
         *   // Acquire an auth client, and bind it to all future calls
         *   const authClient = await auth.getClient();
         *   google.options({auth: authClient});
         *
         *   // Do the magic
         *   const res = await searchads360.customers.billingSetups.mutate({
         *     // Required. Id of the customer to apply the billing setup mutate operation to.
         *     customerId: '[^/]+',
         *
         *     // Request body metadata
         *     requestBody: {
         *       // request body parameters
         *       // {
         *       //   "operation": {}
         *       // }
         *     },
         *   });
         *   console.log(res.data);
         *
         *   // Example response
         *   // {
         *   //   "result": {}
         *   // }
         * }
         *
         * main().catch(e => {
         *   console.error(e);
         *   throw e;
         * });
         *
         * ```
         *
         * @param params - Parameters for request
         * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
         * @param callback - Optional callback that handles the response.
         * @returns A promise if used with async/await, or void if used with a callback.
         */
        mutate(params: Params$Resource$Customers$Billingsetups$Mutate, options: StreamMethodOptions): Promise<GaxiosResponseWithHTTP2<Readable>>;
        mutate(params?: Params$Resource$Customers$Billingsetups$Mutate, options?: MethodOptions): Promise<GaxiosResponseWithHTTP2<Schema$GoogleAdsSearchads360V23Services__MutateBillingSetupResponse>>;
        mutate(params: Params$Resource$Customers$Billingsetups$Mutate, options: StreamMethodOptions | BodyResponseCallback<Readable>, callback: BodyResponseCallback<Readable>): void;
        mutate(params: Params$Resource$Customers$Billingsetups$Mutate, options: MethodOptions | BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateBillingSetupResponse>, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateBillingSetupResponse>): void;
        mutate(params: Params$Resource$Customers$Billingsetups$Mutate, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateBillingSetupResponse>): void;
        mutate(callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateBillingSetupResponse>): void;
    }
    export interface Params$Resource$Customers$Billingsetups$Mutate extends StandardParameters {
        /**
         * Required. Id of the customer to apply the billing setup mutate operation to.
         */
        customerId?: string;
        /**
         * Request body metadata
         */
        requestBody?: Schema$GoogleAdsSearchads360V23Services__MutateBillingSetupRequest;
    }
    export class Resource$Customers$Campaignassets {
        context: APIRequestContext;
        constructor(context: APIRequestContext);
        /**
         * Creates or removes campaign assets. Operation statuses are returned. List of thrown errors: [AssetLinkError]() [AuthenticationError]() [AuthorizationError]() [ContextError]() [DatabaseError]() [FieldError]() [HeaderError]() [InternalError]() [MutateError]() [NotAllowlistedError]() [QuotaError]() [RequestError]()
         * @example
         * ```js
         * // Before running the sample:
         * // - Enable the API at:
         * //   https://console.developers.google.com/apis/api/searchads360.googleapis.com
         * // - Login into gcloud by running:
         * //   ```sh
         * //   $ gcloud auth application-default login
         * //   ```
         * // - Install the npm module by running:
         * //   ```sh
         * //   $ npm install googleapis
         * //   ```
         *
         * const {google} = require('googleapis');
         * const searchads360 = google.searchads360('v23');
         *
         * async function main() {
         *   const auth = new google.auth.GoogleAuth({
         *     // Scopes can be specified either as an array or as a single, space-delimited string.
         *     scopes: ['https://www.googleapis.com/auth/doubleclicksearch'],
         *   });
         *
         *   // Acquire an auth client, and bind it to all future calls
         *   const authClient = await auth.getClient();
         *   google.options({auth: authClient});
         *
         *   // Do the magic
         *   const res = await searchads360.customers.campaignAssets.mutate({
         *     // Required. The ID of the customer whose campaign assets are being modified.
         *     customerId: '[^/]+',
         *
         *     // Request body metadata
         *     requestBody: {
         *       // request body parameters
         *       // {
         *       //   "operations": [],
         *       //   "partialFailure": false,
         *       //   "responseContentType": "my_responseContentType",
         *       //   "validateOnly": false
         *       // }
         *     },
         *   });
         *   console.log(res.data);
         *
         *   // Example response
         *   // {
         *   //   "partialFailureError": {},
         *   //   "results": []
         *   // }
         * }
         *
         * main().catch(e => {
         *   console.error(e);
         *   throw e;
         * });
         *
         * ```
         *
         * @param params - Parameters for request
         * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
         * @param callback - Optional callback that handles the response.
         * @returns A promise if used with async/await, or void if used with a callback.
         */
        mutate(params: Params$Resource$Customers$Campaignassets$Mutate, options: StreamMethodOptions): Promise<GaxiosResponseWithHTTP2<Readable>>;
        mutate(params?: Params$Resource$Customers$Campaignassets$Mutate, options?: MethodOptions): Promise<GaxiosResponseWithHTTP2<Schema$GoogleAdsSearchads360V23Services__MutateCampaignAssetsResponse>>;
        mutate(params: Params$Resource$Customers$Campaignassets$Mutate, options: StreamMethodOptions | BodyResponseCallback<Readable>, callback: BodyResponseCallback<Readable>): void;
        mutate(params: Params$Resource$Customers$Campaignassets$Mutate, options: MethodOptions | BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateCampaignAssetsResponse>, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateCampaignAssetsResponse>): void;
        mutate(params: Params$Resource$Customers$Campaignassets$Mutate, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateCampaignAssetsResponse>): void;
        mutate(callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateCampaignAssetsResponse>): void;
    }
    export interface Params$Resource$Customers$Campaignassets$Mutate extends StandardParameters {
        /**
         * Required. The ID of the customer whose campaign assets are being modified.
         */
        customerId?: string;
        /**
         * Request body metadata
         */
        requestBody?: Schema$GoogleAdsSearchads360V23Services__MutateCampaignAssetsRequest;
    }
    export class Resource$Customers$Campaignassetsets {
        context: APIRequestContext;
        constructor(context: APIRequestContext);
        /**
         * Creates, updates or removes campaign asset sets. Operation statuses are returned.
         * @example
         * ```js
         * // Before running the sample:
         * // - Enable the API at:
         * //   https://console.developers.google.com/apis/api/searchads360.googleapis.com
         * // - Login into gcloud by running:
         * //   ```sh
         * //   $ gcloud auth application-default login
         * //   ```
         * // - Install the npm module by running:
         * //   ```sh
         * //   $ npm install googleapis
         * //   ```
         *
         * const {google} = require('googleapis');
         * const searchads360 = google.searchads360('v23');
         *
         * async function main() {
         *   const auth = new google.auth.GoogleAuth({
         *     // Scopes can be specified either as an array or as a single, space-delimited string.
         *     scopes: ['https://www.googleapis.com/auth/doubleclicksearch'],
         *   });
         *
         *   // Acquire an auth client, and bind it to all future calls
         *   const authClient = await auth.getClient();
         *   google.options({auth: authClient});
         *
         *   // Do the magic
         *   const res = await searchads360.customers.campaignAssetSets.mutate({
         *     // Required. The ID of the customer whose campaign asset sets are being modified.
         *     customerId: '[^/]+',
         *
         *     // Request body metadata
         *     requestBody: {
         *       // request body parameters
         *       // {
         *       //   "operations": [],
         *       //   "partialFailure": false,
         *       //   "responseContentType": "my_responseContentType",
         *       //   "validateOnly": false
         *       // }
         *     },
         *   });
         *   console.log(res.data);
         *
         *   // Example response
         *   // {
         *   //   "partialFailureError": {},
         *   //   "results": []
         *   // }
         * }
         *
         * main().catch(e => {
         *   console.error(e);
         *   throw e;
         * });
         *
         * ```
         *
         * @param params - Parameters for request
         * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
         * @param callback - Optional callback that handles the response.
         * @returns A promise if used with async/await, or void if used with a callback.
         */
        mutate(params: Params$Resource$Customers$Campaignassetsets$Mutate, options: StreamMethodOptions): Promise<GaxiosResponseWithHTTP2<Readable>>;
        mutate(params?: Params$Resource$Customers$Campaignassetsets$Mutate, options?: MethodOptions): Promise<GaxiosResponseWithHTTP2<Schema$GoogleAdsSearchads360V23Services__MutateCampaignAssetSetsResponse>>;
        mutate(params: Params$Resource$Customers$Campaignassetsets$Mutate, options: StreamMethodOptions | BodyResponseCallback<Readable>, callback: BodyResponseCallback<Readable>): void;
        mutate(params: Params$Resource$Customers$Campaignassetsets$Mutate, options: MethodOptions | BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateCampaignAssetSetsResponse>, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateCampaignAssetSetsResponse>): void;
        mutate(params: Params$Resource$Customers$Campaignassetsets$Mutate, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateCampaignAssetSetsResponse>): void;
        mutate(callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateCampaignAssetSetsResponse>): void;
    }
    export interface Params$Resource$Customers$Campaignassetsets$Mutate extends StandardParameters {
        /**
         * Required. The ID of the customer whose campaign asset sets are being modified.
         */
        customerId?: string;
        /**
         * Request body metadata
         */
        requestBody?: Schema$GoogleAdsSearchads360V23Services__MutateCampaignAssetSetsRequest;
    }
    export class Resource$Customers$Campaignbidmodifiers {
        context: APIRequestContext;
        constructor(context: APIRequestContext);
        /**
         * Creates, updates, or removes campaign bid modifiers. Operation statuses are returned. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [ContextError]() [CriterionError]() [DatabaseError]() [DateError]() [DistinctError]() [FieldError]() [HeaderError]() [IdError]() [InternalError]() [MutateError]() [NewResourceCreationError]() [NotEmptyError]() [NullError]() [OperatorError]() [QuotaError]() [RangeError]() [RequestError]() [SizeLimitError]() [StringFormatError]() [StringLengthError]()
         * @example
         * ```js
         * // Before running the sample:
         * // - Enable the API at:
         * //   https://console.developers.google.com/apis/api/searchads360.googleapis.com
         * // - Login into gcloud by running:
         * //   ```sh
         * //   $ gcloud auth application-default login
         * //   ```
         * // - Install the npm module by running:
         * //   ```sh
         * //   $ npm install googleapis
         * //   ```
         *
         * const {google} = require('googleapis');
         * const searchads360 = google.searchads360('v23');
         *
         * async function main() {
         *   const auth = new google.auth.GoogleAuth({
         *     // Scopes can be specified either as an array or as a single, space-delimited string.
         *     scopes: ['https://www.googleapis.com/auth/doubleclicksearch'],
         *   });
         *
         *   // Acquire an auth client, and bind it to all future calls
         *   const authClient = await auth.getClient();
         *   google.options({auth: authClient});
         *
         *   // Do the magic
         *   const res = await searchads360.customers.campaignBidModifiers.mutate({
         *     // Required. ID of the customer whose campaign bid modifiers are being modified.
         *     customerId: '[^/]+',
         *
         *     // Request body metadata
         *     requestBody: {
         *       // request body parameters
         *       // {
         *       //   "operations": [],
         *       //   "partialFailure": false,
         *       //   "responseContentType": "my_responseContentType",
         *       //   "validateOnly": false
         *       // }
         *     },
         *   });
         *   console.log(res.data);
         *
         *   // Example response
         *   // {
         *   //   "partialFailureError": {},
         *   //   "results": []
         *   // }
         * }
         *
         * main().catch(e => {
         *   console.error(e);
         *   throw e;
         * });
         *
         * ```
         *
         * @param params - Parameters for request
         * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
         * @param callback - Optional callback that handles the response.
         * @returns A promise if used with async/await, or void if used with a callback.
         */
        mutate(params: Params$Resource$Customers$Campaignbidmodifiers$Mutate, options: StreamMethodOptions): Promise<GaxiosResponseWithHTTP2<Readable>>;
        mutate(params?: Params$Resource$Customers$Campaignbidmodifiers$Mutate, options?: MethodOptions): Promise<GaxiosResponseWithHTTP2<Schema$GoogleAdsSearchads360V23Services__MutateCampaignBidModifiersResponse>>;
        mutate(params: Params$Resource$Customers$Campaignbidmodifiers$Mutate, options: StreamMethodOptions | BodyResponseCallback<Readable>, callback: BodyResponseCallback<Readable>): void;
        mutate(params: Params$Resource$Customers$Campaignbidmodifiers$Mutate, options: MethodOptions | BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateCampaignBidModifiersResponse>, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateCampaignBidModifiersResponse>): void;
        mutate(params: Params$Resource$Customers$Campaignbidmodifiers$Mutate, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateCampaignBidModifiersResponse>): void;
        mutate(callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateCampaignBidModifiersResponse>): void;
    }
    export interface Params$Resource$Customers$Campaignbidmodifiers$Mutate extends StandardParameters {
        /**
         * Required. ID of the customer whose campaign bid modifiers are being modified.
         */
        customerId?: string;
        /**
         * Request body metadata
         */
        requestBody?: Schema$GoogleAdsSearchads360V23Services__MutateCampaignBidModifiersRequest;
    }
    export class Resource$Customers$Campaignbudgets {
        context: APIRequestContext;
        constructor(context: APIRequestContext);
        /**
         * Creates, updates, or removes campaign budgets. Operation statuses are returned. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [CampaignBudgetError]() [DatabaseError]() [DistinctError]() [FieldError]() [FieldMaskError]() [HeaderError]() [InternalError]() [MutateError]() [NewResourceCreationError]() [OperationAccessDeniedError]() [QuotaError]() [RangeError]() [RequestError]() [ResourceCountLimitExceededError]() [StringLengthError]()
         * @example
         * ```js
         * // Before running the sample:
         * // - Enable the API at:
         * //   https://console.developers.google.com/apis/api/searchads360.googleapis.com
         * // - Login into gcloud by running:
         * //   ```sh
         * //   $ gcloud auth application-default login
         * //   ```
         * // - Install the npm module by running:
         * //   ```sh
         * //   $ npm install googleapis
         * //   ```
         *
         * const {google} = require('googleapis');
         * const searchads360 = google.searchads360('v23');
         *
         * async function main() {
         *   const auth = new google.auth.GoogleAuth({
         *     // Scopes can be specified either as an array or as a single, space-delimited string.
         *     scopes: ['https://www.googleapis.com/auth/doubleclicksearch'],
         *   });
         *
         *   // Acquire an auth client, and bind it to all future calls
         *   const authClient = await auth.getClient();
         *   google.options({auth: authClient});
         *
         *   // Do the magic
         *   const res = await searchads360.customers.campaignBudgets.mutate({
         *     // Required. The ID of the customer whose campaign budgets are being modified.
         *     customerId: '[^/]+',
         *
         *     // Request body metadata
         *     requestBody: {
         *       // request body parameters
         *       // {
         *       //   "operations": [],
         *       //   "partialFailure": false,
         *       //   "responseContentType": "my_responseContentType",
         *       //   "validateOnly": false
         *       // }
         *     },
         *   });
         *   console.log(res.data);
         *
         *   // Example response
         *   // {
         *   //   "partialFailureError": {},
         *   //   "results": []
         *   // }
         * }
         *
         * main().catch(e => {
         *   console.error(e);
         *   throw e;
         * });
         *
         * ```
         *
         * @param params - Parameters for request
         * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
         * @param callback - Optional callback that handles the response.
         * @returns A promise if used with async/await, or void if used with a callback.
         */
        mutate(params: Params$Resource$Customers$Campaignbudgets$Mutate, options: StreamMethodOptions): Promise<GaxiosResponseWithHTTP2<Readable>>;
        mutate(params?: Params$Resource$Customers$Campaignbudgets$Mutate, options?: MethodOptions): Promise<GaxiosResponseWithHTTP2<Schema$GoogleAdsSearchads360V23Services__MutateCampaignBudgetsResponse>>;
        mutate(params: Params$Resource$Customers$Campaignbudgets$Mutate, options: StreamMethodOptions | BodyResponseCallback<Readable>, callback: BodyResponseCallback<Readable>): void;
        mutate(params: Params$Resource$Customers$Campaignbudgets$Mutate, options: MethodOptions | BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateCampaignBudgetsResponse>, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateCampaignBudgetsResponse>): void;
        mutate(params: Params$Resource$Customers$Campaignbudgets$Mutate, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateCampaignBudgetsResponse>): void;
        mutate(callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateCampaignBudgetsResponse>): void;
    }
    export interface Params$Resource$Customers$Campaignbudgets$Mutate extends StandardParameters {
        /**
         * Required. The ID of the customer whose campaign budgets are being modified.
         */
        customerId?: string;
        /**
         * Request body metadata
         */
        requestBody?: Schema$GoogleAdsSearchads360V23Services__MutateCampaignBudgetsRequest;
    }
    export class Resource$Customers$Campaignconversiongoals {
        context: APIRequestContext;
        constructor(context: APIRequestContext);
        /**
         * Creates, updates or removes campaign conversion goals. Operation statuses are returned.
         * @example
         * ```js
         * // Before running the sample:
         * // - Enable the API at:
         * //   https://console.developers.google.com/apis/api/searchads360.googleapis.com
         * // - Login into gcloud by running:
         * //   ```sh
         * //   $ gcloud auth application-default login
         * //   ```
         * // - Install the npm module by running:
         * //   ```sh
         * //   $ npm install googleapis
         * //   ```
         *
         * const {google} = require('googleapis');
         * const searchads360 = google.searchads360('v23');
         *
         * async function main() {
         *   const auth = new google.auth.GoogleAuth({
         *     // Scopes can be specified either as an array or as a single, space-delimited string.
         *     scopes: ['https://www.googleapis.com/auth/doubleclicksearch'],
         *   });
         *
         *   // Acquire an auth client, and bind it to all future calls
         *   const authClient = await auth.getClient();
         *   google.options({auth: authClient});
         *
         *   // Do the magic
         *   const res = await searchads360.customers.campaignConversionGoals.mutate({
         *     // Required. The ID of the customer whose campaign conversion goals are being modified.
         *     customerId: '[^/]+',
         *
         *     // Request body metadata
         *     requestBody: {
         *       // request body parameters
         *       // {
         *       //   "operations": [],
         *       //   "validateOnly": false
         *       // }
         *     },
         *   });
         *   console.log(res.data);
         *
         *   // Example response
         *   // {
         *   //   "results": []
         *   // }
         * }
         *
         * main().catch(e => {
         *   console.error(e);
         *   throw e;
         * });
         *
         * ```
         *
         * @param params - Parameters for request
         * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
         * @param callback - Optional callback that handles the response.
         * @returns A promise if used with async/await, or void if used with a callback.
         */
        mutate(params: Params$Resource$Customers$Campaignconversiongoals$Mutate, options: StreamMethodOptions): Promise<GaxiosResponseWithHTTP2<Readable>>;
        mutate(params?: Params$Resource$Customers$Campaignconversiongoals$Mutate, options?: MethodOptions): Promise<GaxiosResponseWithHTTP2<Schema$GoogleAdsSearchads360V23Services__MutateCampaignConversionGoalsResponse>>;
        mutate(params: Params$Resource$Customers$Campaignconversiongoals$Mutate, options: StreamMethodOptions | BodyResponseCallback<Readable>, callback: BodyResponseCallback<Readable>): void;
        mutate(params: Params$Resource$Customers$Campaignconversiongoals$Mutate, options: MethodOptions | BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateCampaignConversionGoalsResponse>, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateCampaignConversionGoalsResponse>): void;
        mutate(params: Params$Resource$Customers$Campaignconversiongoals$Mutate, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateCampaignConversionGoalsResponse>): void;
        mutate(callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateCampaignConversionGoalsResponse>): void;
    }
    export interface Params$Resource$Customers$Campaignconversiongoals$Mutate extends StandardParameters {
        /**
         * Required. The ID of the customer whose campaign conversion goals are being modified.
         */
        customerId?: string;
        /**
         * Request body metadata
         */
        requestBody?: Schema$GoogleAdsSearchads360V23Services__MutateCampaignConversionGoalsRequest;
    }
    export class Resource$Customers$Campaigncriteria {
        context: APIRequestContext;
        constructor(context: APIRequestContext);
        /**
         * Creates, updates, or removes criteria. Operation statuses are returned. List of thrown errors: [AdxError]() [AuthenticationError]() [AuthorizationError]() [CampaignCriterionError]() [CollectionSizeError]() [ContextError]() [CriterionError]() [DatabaseError]() [DistinctError]() [FieldError]() [FieldMaskError]() [FunctionError]() [HeaderError]() [IdError]() [InternalError]() [MutateError]() [NewResourceCreationError]() [NotEmptyError]() [NullError]() [OperationAccessDeniedError]() [OperatorError]() [QuotaError]() [RangeError]() [RegionCodeError]() [RequestError]() [ResourceCountLimitExceededError]() [SizeLimitError]() [StringFormatError]() [StringLengthError]()
         * @example
         * ```js
         * // Before running the sample:
         * // - Enable the API at:
         * //   https://console.developers.google.com/apis/api/searchads360.googleapis.com
         * // - Login into gcloud by running:
         * //   ```sh
         * //   $ gcloud auth application-default login
         * //   ```
         * // - Install the npm module by running:
         * //   ```sh
         * //   $ npm install googleapis
         * //   ```
         *
         * const {google} = require('googleapis');
         * const searchads360 = google.searchads360('v23');
         *
         * async function main() {
         *   const auth = new google.auth.GoogleAuth({
         *     // Scopes can be specified either as an array or as a single, space-delimited string.
         *     scopes: ['https://www.googleapis.com/auth/doubleclicksearch'],
         *   });
         *
         *   // Acquire an auth client, and bind it to all future calls
         *   const authClient = await auth.getClient();
         *   google.options({auth: authClient});
         *
         *   // Do the magic
         *   const res = await searchads360.customers.campaignCriteria.mutate({
         *     // Required. The ID of the customer whose criteria are being modified.
         *     customerId: '[^/]+',
         *
         *     // Request body metadata
         *     requestBody: {
         *       // request body parameters
         *       // {
         *       //   "operations": [],
         *       //   "partialFailure": false,
         *       //   "responseContentType": "my_responseContentType",
         *       //   "validateOnly": false
         *       // }
         *     },
         *   });
         *   console.log(res.data);
         *
         *   // Example response
         *   // {
         *   //   "partialFailureError": {},
         *   //   "results": []
         *   // }
         * }
         *
         * main().catch(e => {
         *   console.error(e);
         *   throw e;
         * });
         *
         * ```
         *
         * @param params - Parameters for request
         * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
         * @param callback - Optional callback that handles the response.
         * @returns A promise if used with async/await, or void if used with a callback.
         */
        mutate(params: Params$Resource$Customers$Campaigncriteria$Mutate, options: StreamMethodOptions): Promise<GaxiosResponseWithHTTP2<Readable>>;
        mutate(params?: Params$Resource$Customers$Campaigncriteria$Mutate, options?: MethodOptions): Promise<GaxiosResponseWithHTTP2<Schema$GoogleAdsSearchads360V23Services__MutateCampaignCriteriaResponse>>;
        mutate(params: Params$Resource$Customers$Campaigncriteria$Mutate, options: StreamMethodOptions | BodyResponseCallback<Readable>, callback: BodyResponseCallback<Readable>): void;
        mutate(params: Params$Resource$Customers$Campaigncriteria$Mutate, options: MethodOptions | BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateCampaignCriteriaResponse>, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateCampaignCriteriaResponse>): void;
        mutate(params: Params$Resource$Customers$Campaigncriteria$Mutate, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateCampaignCriteriaResponse>): void;
        mutate(callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateCampaignCriteriaResponse>): void;
    }
    export interface Params$Resource$Customers$Campaigncriteria$Mutate extends StandardParameters {
        /**
         * Required. The ID of the customer whose criteria are being modified.
         */
        customerId?: string;
        /**
         * Request body metadata
         */
        requestBody?: Schema$GoogleAdsSearchads360V23Services__MutateCampaignCriteriaRequest;
    }
    export class Resource$Customers$Campaigncustomizers {
        context: APIRequestContext;
        constructor(context: APIRequestContext);
        /**
         * Creates, updates or removes campaign customizers. Operation statuses are returned.
         * @example
         * ```js
         * // Before running the sample:
         * // - Enable the API at:
         * //   https://console.developers.google.com/apis/api/searchads360.googleapis.com
         * // - Login into gcloud by running:
         * //   ```sh
         * //   $ gcloud auth application-default login
         * //   ```
         * // - Install the npm module by running:
         * //   ```sh
         * //   $ npm install googleapis
         * //   ```
         *
         * const {google} = require('googleapis');
         * const searchads360 = google.searchads360('v23');
         *
         * async function main() {
         *   const auth = new google.auth.GoogleAuth({
         *     // Scopes can be specified either as an array or as a single, space-delimited string.
         *     scopes: ['https://www.googleapis.com/auth/doubleclicksearch'],
         *   });
         *
         *   // Acquire an auth client, and bind it to all future calls
         *   const authClient = await auth.getClient();
         *   google.options({auth: authClient});
         *
         *   // Do the magic
         *   const res = await searchads360.customers.campaignCustomizers.mutate({
         *     // Required. The ID of the customer whose campaign customizers are being modified.
         *     customerId: '[^/]+',
         *
         *     // Request body metadata
         *     requestBody: {
         *       // request body parameters
         *       // {
         *       //   "operations": [],
         *       //   "partialFailure": false,
         *       //   "responseContentType": "my_responseContentType",
         *       //   "validateOnly": false
         *       // }
         *     },
         *   });
         *   console.log(res.data);
         *
         *   // Example response
         *   // {
         *   //   "partialFailureError": {},
         *   //   "results": []
         *   // }
         * }
         *
         * main().catch(e => {
         *   console.error(e);
         *   throw e;
         * });
         *
         * ```
         *
         * @param params - Parameters for request
         * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
         * @param callback - Optional callback that handles the response.
         * @returns A promise if used with async/await, or void if used with a callback.
         */
        mutate(params: Params$Resource$Customers$Campaigncustomizers$Mutate, options: StreamMethodOptions): Promise<GaxiosResponseWithHTTP2<Readable>>;
        mutate(params?: Params$Resource$Customers$Campaigncustomizers$Mutate, options?: MethodOptions): Promise<GaxiosResponseWithHTTP2<Schema$GoogleAdsSearchads360V23Services__MutateCampaignCustomizersResponse>>;
        mutate(params: Params$Resource$Customers$Campaigncustomizers$Mutate, options: StreamMethodOptions | BodyResponseCallback<Readable>, callback: BodyResponseCallback<Readable>): void;
        mutate(params: Params$Resource$Customers$Campaigncustomizers$Mutate, options: MethodOptions | BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateCampaignCustomizersResponse>, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateCampaignCustomizersResponse>): void;
        mutate(params: Params$Resource$Customers$Campaigncustomizers$Mutate, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateCampaignCustomizersResponse>): void;
        mutate(callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateCampaignCustomizersResponse>): void;
    }
    export interface Params$Resource$Customers$Campaigncustomizers$Mutate extends StandardParameters {
        /**
         * Required. The ID of the customer whose campaign customizers are being modified.
         */
        customerId?: string;
        /**
         * Request body metadata
         */
        requestBody?: Schema$GoogleAdsSearchads360V23Services__MutateCampaignCustomizersRequest;
    }
    export class Resource$Customers$Campaigndrafts {
        context: APIRequestContext;
        constructor(context: APIRequestContext);
        /**
         * Returns all errors that occurred during CampaignDraft promote. Throws an error if called before campaign draft is promoted. Supports standard list paging. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [HeaderError]() [InternalError]() [QuotaError]() [RequestError]()
         * @example
         * ```js
         * // Before running the sample:
         * // - Enable the API at:
         * //   https://console.developers.google.com/apis/api/searchads360.googleapis.com
         * // - Login into gcloud by running:
         * //   ```sh
         * //   $ gcloud auth application-default login
         * //   ```
         * // - Install the npm module by running:
         * //   ```sh
         * //   $ npm install googleapis
         * //   ```
         *
         * const {google} = require('googleapis');
         * const searchads360 = google.searchads360('v23');
         *
         * async function main() {
         *   const auth = new google.auth.GoogleAuth({
         *     // Scopes can be specified either as an array or as a single, space-delimited string.
         *     scopes: ['https://www.googleapis.com/auth/doubleclicksearch'],
         *   });
         *
         *   // Acquire an auth client, and bind it to all future calls
         *   const authClient = await auth.getClient();
         *   google.options({auth: authClient});
         *
         *   // Do the magic
         *   const res = await searchads360.customers.campaignDrafts.listAsyncErrors({
         *     // Number of elements to retrieve in a single page. When a page request is too large, the server may decide to further limit the number of returned resources.
         *     pageSize: 'placeholder-value',
         *     // Token of the page to retrieve. If not specified, the first page of results will be returned. Use the value obtained from `next_page_token` in the previous response in order to request the next page of results.
         *     pageToken: 'placeholder-value',
         *     // Required. The name of the campaign draft from which to retrieve the async errors.
         *     resourceName: 'customers/my-customer/campaignDrafts/my-campaignDraft',
         *   });
         *   console.log(res.data);
         *
         *   // Example response
         *   // {
         *   //   "errors": [],
         *   //   "nextPageToken": "my_nextPageToken"
         *   // }
         * }
         *
         * main().catch(e => {
         *   console.error(e);
         *   throw e;
         * });
         *
         * ```
         *
         * @param params - Parameters for request
         * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
         * @param callback - Optional callback that handles the response.
         * @returns A promise if used with async/await, or void if used with a callback.
         */
        listAsyncErrors(params: Params$Resource$Customers$Campaigndrafts$Listasyncerrors, options: StreamMethodOptions): Promise<GaxiosResponseWithHTTP2<Readable>>;
        listAsyncErrors(params?: Params$Resource$Customers$Campaigndrafts$Listasyncerrors, options?: MethodOptions): Promise<GaxiosResponseWithHTTP2<Schema$GoogleAdsSearchads360V23Services__ListCampaignDraftAsyncErrorsResponse>>;
        listAsyncErrors(params: Params$Resource$Customers$Campaigndrafts$Listasyncerrors, options: StreamMethodOptions | BodyResponseCallback<Readable>, callback: BodyResponseCallback<Readable>): void;
        listAsyncErrors(params: Params$Resource$Customers$Campaigndrafts$Listasyncerrors, options: MethodOptions | BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__ListCampaignDraftAsyncErrorsResponse>, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__ListCampaignDraftAsyncErrorsResponse>): void;
        listAsyncErrors(params: Params$Resource$Customers$Campaigndrafts$Listasyncerrors, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__ListCampaignDraftAsyncErrorsResponse>): void;
        listAsyncErrors(callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__ListCampaignDraftAsyncErrorsResponse>): void;
        /**
         * Creates, updates, or removes campaign drafts. Operation statuses are returned. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [CampaignDraftError]() [DatabaseError]() [FieldError]() [HeaderError]() [InternalError]() [MutateError]() [QuotaError]() [RequestError]()
         * @example
         * ```js
         * // Before running the sample:
         * // - Enable the API at:
         * //   https://console.developers.google.com/apis/api/searchads360.googleapis.com
         * // - Login into gcloud by running:
         * //   ```sh
         * //   $ gcloud auth application-default login
         * //   ```
         * // - Install the npm module by running:
         * //   ```sh
         * //   $ npm install googleapis
         * //   ```
         *
         * const {google} = require('googleapis');
         * const searchads360 = google.searchads360('v23');
         *
         * async function main() {
         *   const auth = new google.auth.GoogleAuth({
         *     // Scopes can be specified either as an array or as a single, space-delimited string.
         *     scopes: ['https://www.googleapis.com/auth/doubleclicksearch'],
         *   });
         *
         *   // Acquire an auth client, and bind it to all future calls
         *   const authClient = await auth.getClient();
         *   google.options({auth: authClient});
         *
         *   // Do the magic
         *   const res = await searchads360.customers.campaignDrafts.mutate({
         *     // Required. The ID of the customer whose campaign drafts are being modified.
         *     customerId: '[^/]+',
         *
         *     // Request body metadata
         *     requestBody: {
         *       // request body parameters
         *       // {
         *       //   "operations": [],
         *       //   "partialFailure": false,
         *       //   "responseContentType": "my_responseContentType",
         *       //   "validateOnly": false
         *       // }
         *     },
         *   });
         *   console.log(res.data);
         *
         *   // Example response
         *   // {
         *   //   "partialFailureError": {},
         *   //   "results": []
         *   // }
         * }
         *
         * main().catch(e => {
         *   console.error(e);
         *   throw e;
         * });
         *
         * ```
         *
         * @param params - Parameters for request
         * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
         * @param callback - Optional callback that handles the response.
         * @returns A promise if used with async/await, or void if used with a callback.
         */
        mutate(params: Params$Resource$Customers$Campaigndrafts$Mutate, options: StreamMethodOptions): Promise<GaxiosResponseWithHTTP2<Readable>>;
        mutate(params?: Params$Resource$Customers$Campaigndrafts$Mutate, options?: MethodOptions): Promise<GaxiosResponseWithHTTP2<Schema$GoogleAdsSearchads360V23Services__MutateCampaignDraftsResponse>>;
        mutate(params: Params$Resource$Customers$Campaigndrafts$Mutate, options: StreamMethodOptions | BodyResponseCallback<Readable>, callback: BodyResponseCallback<Readable>): void;
        mutate(params: Params$Resource$Customers$Campaigndrafts$Mutate, options: MethodOptions | BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateCampaignDraftsResponse>, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateCampaignDraftsResponse>): void;
        mutate(params: Params$Resource$Customers$Campaigndrafts$Mutate, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateCampaignDraftsResponse>): void;
        mutate(callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateCampaignDraftsResponse>): void;
        /**
         * Promotes the changes in a draft back to the base campaign. This method returns a Long Running Operation (LRO) indicating if the Promote is done. Use google.longrunning.Operations.GetOperation to poll the LRO until it is done. Only a done status is returned in the response. See the status in the Campaign Draft resource to determine if the promotion was successful. If the LRO failed, use CampaignDraftService.ListCampaignDraftAsyncErrors to view the list of error reasons. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [CampaignDraftError]() [HeaderError]() [InternalError]() [QuotaError]() [RequestError]()
         * @example
         * ```js
         * // Before running the sample:
         * // - Enable the API at:
         * //   https://console.developers.google.com/apis/api/searchads360.googleapis.com
         * // - Login into gcloud by running:
         * //   ```sh
         * //   $ gcloud auth application-default login
         * //   ```
         * // - Install the npm module by running:
         * //   ```sh
         * //   $ npm install googleapis
         * //   ```
         *
         * const {google} = require('googleapis');
         * const searchads360 = google.searchads360('v23');
         *
         * async function main() {
         *   const auth = new google.auth.GoogleAuth({
         *     // Scopes can be specified either as an array or as a single, space-delimited string.
         *     scopes: ['https://www.googleapis.com/auth/doubleclicksearch'],
         *   });
         *
         *   // Acquire an auth client, and bind it to all future calls
         *   const authClient = await auth.getClient();
         *   google.options({auth: authClient});
         *
         *   // Do the magic
         *   const res = await searchads360.customers.campaignDrafts.promote({
         *     // Required. The resource name of the campaign draft to promote.
         *     campaignDraft: 'customers/my-customer/campaignDrafts/my-campaignDraft',
         *
         *     // Request body metadata
         *     requestBody: {
         *       // request body parameters
         *       // {
         *       //   "validateOnly": false
         *       // }
         *     },
         *   });
         *   console.log(res.data);
         *
         *   // Example response
         *   // {
         *   //   "done": false,
         *   //   "error": {},
         *   //   "metadata": {},
         *   //   "name": "my_name",
         *   //   "response": {}
         *   // }
         * }
         *
         * main().catch(e => {
         *   console.error(e);
         *   throw e;
         * });
         *
         * ```
         *
         * @param params - Parameters for request
         * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
         * @param callback - Optional callback that handles the response.
         * @returns A promise if used with async/await, or void if used with a callback.
         */
        promote(params: Params$Resource$Customers$Campaigndrafts$Promote, options: StreamMethodOptions): Promise<GaxiosResponseWithHTTP2<Readable>>;
        promote(params?: Params$Resource$Customers$Campaigndrafts$Promote, options?: MethodOptions): Promise<GaxiosResponseWithHTTP2<Schema$GoogleLongrunning__Operation>>;
        promote(params: Params$Resource$Customers$Campaigndrafts$Promote, options: StreamMethodOptions | BodyResponseCallback<Readable>, callback: BodyResponseCallback<Readable>): void;
        promote(params: Params$Resource$Customers$Campaigndrafts$Promote, options: MethodOptions | BodyResponseCallback<Schema$GoogleLongrunning__Operation>, callback: BodyResponseCallback<Schema$GoogleLongrunning__Operation>): void;
        promote(params: Params$Resource$Customers$Campaigndrafts$Promote, callback: BodyResponseCallback<Schema$GoogleLongrunning__Operation>): void;
        promote(callback: BodyResponseCallback<Schema$GoogleLongrunning__Operation>): void;
    }
    export interface Params$Resource$Customers$Campaigndrafts$Listasyncerrors extends StandardParameters {
        /**
         * Number of elements to retrieve in a single page. When a page request is too large, the server may decide to further limit the number of returned resources.
         */
        pageSize?: number;
        /**
         * Token of the page to retrieve. If not specified, the first page of results will be returned. Use the value obtained from `next_page_token` in the previous response in order to request the next page of results.
         */
        pageToken?: string;
        /**
         * Required. The name of the campaign draft from which to retrieve the async errors.
         */
        resourceName?: string;
    }
    export interface Params$Resource$Customers$Campaigndrafts$Mutate extends StandardParameters {
        /**
         * Required. The ID of the customer whose campaign drafts are being modified.
         */
        customerId?: string;
        /**
         * Request body metadata
         */
        requestBody?: Schema$GoogleAdsSearchads360V23Services__MutateCampaignDraftsRequest;
    }
    export interface Params$Resource$Customers$Campaigndrafts$Promote extends StandardParameters {
        /**
         * Required. The resource name of the campaign draft to promote.
         */
        campaignDraft?: string;
        /**
         * Request body metadata
         */
        requestBody?: Schema$GoogleAdsSearchads360V23Services__PromoteCampaignDraftRequest;
    }
    export class Resource$Customers$Campaigngoalconfigs {
        context: APIRequestContext;
        constructor(context: APIRequestContext);
        /**
         * Create or update campaign goal configs. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [HeaderError]() [InternalError]() [QuotaError]() [RequestError]() [CampaignGoalConfigError]() [GoalServicesError]()
         * @example
         * ```js
         * // Before running the sample:
         * // - Enable the API at:
         * //   https://console.developers.google.com/apis/api/searchads360.googleapis.com
         * // - Login into gcloud by running:
         * //   ```sh
         * //   $ gcloud auth application-default login
         * //   ```
         * // - Install the npm module by running:
         * //   ```sh
         * //   $ npm install googleapis
         * //   ```
         *
         * const {google} = require('googleapis');
         * const searchads360 = google.searchads360('v23');
         *
         * async function main() {
         *   const auth = new google.auth.GoogleAuth({
         *     // Scopes can be specified either as an array or as a single, space-delimited string.
         *     scopes: ['https://www.googleapis.com/auth/doubleclicksearch'],
         *   });
         *
         *   // Acquire an auth client, and bind it to all future calls
         *   const authClient = await auth.getClient();
         *   google.options({auth: authClient});
         *
         *   // Do the magic
         *   const res = await searchads360.customers.CampaignGoalConfigs.mutate({
         *     // Required. The ID of the customer whose campaign goal configs are being modified.
         *     customerId: '[^/]+',
         *
         *     // Request body metadata
         *     requestBody: {
         *       // request body parameters
         *       // {
         *       //   "operations": [],
         *       //   "partialFailure": false,
         *       //   "validateOnly": false
         *       // }
         *     },
         *   });
         *   console.log(res.data);
         *
         *   // Example response
         *   // {
         *   //   "partialFailureError": {},
         *   //   "results": []
         *   // }
         * }
         *
         * main().catch(e => {
         *   console.error(e);
         *   throw e;
         * });
         *
         * ```
         *
         * @param params - Parameters for request
         * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
         * @param callback - Optional callback that handles the response.
         * @returns A promise if used with async/await, or void if used with a callback.
         */
        mutate(params: Params$Resource$Customers$Campaigngoalconfigs$Mutate, options: StreamMethodOptions): Promise<GaxiosResponseWithHTTP2<Readable>>;
        mutate(params?: Params$Resource$Customers$Campaigngoalconfigs$Mutate, options?: MethodOptions): Promise<GaxiosResponseWithHTTP2<Schema$GoogleAdsSearchads360V23Services__MutateCampaignGoalConfigsResponse>>;
        mutate(params: Params$Resource$Customers$Campaigngoalconfigs$Mutate, options: StreamMethodOptions | BodyResponseCallback<Readable>, callback: BodyResponseCallback<Readable>): void;
        mutate(params: Params$Resource$Customers$Campaigngoalconfigs$Mutate, options: MethodOptions | BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateCampaignGoalConfigsResponse>, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateCampaignGoalConfigsResponse>): void;
        mutate(params: Params$Resource$Customers$Campaigngoalconfigs$Mutate, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateCampaignGoalConfigsResponse>): void;
        mutate(callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateCampaignGoalConfigsResponse>): void;
    }
    export interface Params$Resource$Customers$Campaigngoalconfigs$Mutate extends StandardParameters {
        /**
         * Required. The ID of the customer whose campaign goal configs are being modified.
         */
        customerId?: string;
        /**
         * Request body metadata
         */
        requestBody?: Schema$GoogleAdsSearchads360V23Services__MutateCampaignGoalConfigsRequest;
    }
    export class Resource$Customers$Campaigngroups {
        context: APIRequestContext;
        constructor(context: APIRequestContext);
        /**
         * Creates, updates, or removes campaign groups. Operation statuses are returned.
         * @example
         * ```js
         * // Before running the sample:
         * // - Enable the API at:
         * //   https://console.developers.google.com/apis/api/searchads360.googleapis.com
         * // - Login into gcloud by running:
         * //   ```sh
         * //   $ gcloud auth application-default login
         * //   ```
         * // - Install the npm module by running:
         * //   ```sh
         * //   $ npm install googleapis
         * //   ```
         *
         * const {google} = require('googleapis');
         * const searchads360 = google.searchads360('v23');
         *
         * async function main() {
         *   const auth = new google.auth.GoogleAuth({
         *     // Scopes can be specified either as an array or as a single, space-delimited string.
         *     scopes: ['https://www.googleapis.com/auth/doubleclicksearch'],
         *   });
         *
         *   // Acquire an auth client, and bind it to all future calls
         *   const authClient = await auth.getClient();
         *   google.options({auth: authClient});
         *
         *   // Do the magic
         *   const res = await searchads360.customers.campaignGroups.mutate({
         *     // Required. The ID of the customer whose campaign groups are being modified.
         *     customerId: '[^/]+',
         *
         *     // Request body metadata
         *     requestBody: {
         *       // request body parameters
         *       // {
         *       //   "operations": [],
         *       //   "partialFailure": false,
         *       //   "responseContentType": "my_responseContentType",
         *       //   "validateOnly": false
         *       // }
         *     },
         *   });
         *   console.log(res.data);
         *
         *   // Example response
         *   // {
         *   //   "partialFailureError": {},
         *   //   "results": []
         *   // }
         * }
         *
         * main().catch(e => {
         *   console.error(e);
         *   throw e;
         * });
         *
         * ```
         *
         * @param params - Parameters for request
         * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
         * @param callback - Optional callback that handles the response.
         * @returns A promise if used with async/await, or void if used with a callback.
         */
        mutate(params: Params$Resource$Customers$Campaigngroups$Mutate, options: StreamMethodOptions): Promise<GaxiosResponseWithHTTP2<Readable>>;
        mutate(params?: Params$Resource$Customers$Campaigngroups$Mutate, options?: MethodOptions): Promise<GaxiosResponseWithHTTP2<Schema$GoogleAdsSearchads360V23Services__MutateCampaignGroupsResponse>>;
        mutate(params: Params$Resource$Customers$Campaigngroups$Mutate, options: StreamMethodOptions | BodyResponseCallback<Readable>, callback: BodyResponseCallback<Readable>): void;
        mutate(params: Params$Resource$Customers$Campaigngroups$Mutate, options: MethodOptions | BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateCampaignGroupsResponse>, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateCampaignGroupsResponse>): void;
        mutate(params: Params$Resource$Customers$Campaigngroups$Mutate, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateCampaignGroupsResponse>): void;
        mutate(callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateCampaignGroupsResponse>): void;
    }
    export interface Params$Resource$Customers$Campaigngroups$Mutate extends StandardParameters {
        /**
         * Required. The ID of the customer whose campaign groups are being modified.
         */
        customerId?: string;
        /**
         * Request body metadata
         */
        requestBody?: Schema$GoogleAdsSearchads360V23Services__MutateCampaignGroupsRequest;
    }
    export class Resource$Customers$Campaignlabels {
        context: APIRequestContext;
        constructor(context: APIRequestContext);
        /**
         * Creates and removes campaign-label relationships. Operation statuses are returned. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [DatabaseError]() [FieldError]() [HeaderError]() [InternalError]() [LabelError]() [MutateError]() [NewResourceCreationError]() [QuotaError]() [RequestError]()
         * @example
         * ```js
         * // Before running the sample:
         * // - Enable the API at:
         * //   https://console.developers.google.com/apis/api/searchads360.googleapis.com
         * // - Login into gcloud by running:
         * //   ```sh
         * //   $ gcloud auth application-default login
         * //   ```
         * // - Install the npm module by running:
         * //   ```sh
         * //   $ npm install googleapis
         * //   ```
         *
         * const {google} = require('googleapis');
         * const searchads360 = google.searchads360('v23');
         *
         * async function main() {
         *   const auth = new google.auth.GoogleAuth({
         *     // Scopes can be specified either as an array or as a single, space-delimited string.
         *     scopes: ['https://www.googleapis.com/auth/doubleclicksearch'],
         *   });
         *
         *   // Acquire an auth client, and bind it to all future calls
         *   const authClient = await auth.getClient();
         *   google.options({auth: authClient});
         *
         *   // Do the magic
         *   const res = await searchads360.customers.campaignLabels.mutate({
         *     // Required. ID of the customer whose campaign-label relationships are being modified.
         *     customerId: '[^/]+',
         *
         *     // Request body metadata
         *     requestBody: {
         *       // request body parameters
         *       // {
         *       //   "operations": [],
         *       //   "partialFailure": false,
         *       //   "validateOnly": false
         *       // }
         *     },
         *   });
         *   console.log(res.data);
         *
         *   // Example response
         *   // {
         *   //   "partialFailureError": {},
         *   //   "results": []
         *   // }
         * }
         *
         * main().catch(e => {
         *   console.error(e);
         *   throw e;
         * });
         *
         * ```
         *
         * @param params - Parameters for request
         * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
         * @param callback - Optional callback that handles the response.
         * @returns A promise if used with async/await, or void if used with a callback.
         */
        mutate(params: Params$Resource$Customers$Campaignlabels$Mutate, options: StreamMethodOptions): Promise<GaxiosResponseWithHTTP2<Readable>>;
        mutate(params?: Params$Resource$Customers$Campaignlabels$Mutate, options?: MethodOptions): Promise<GaxiosResponseWithHTTP2<Schema$GoogleAdsSearchads360V23Services__MutateCampaignLabelsResponse>>;
        mutate(params: Params$Resource$Customers$Campaignlabels$Mutate, options: StreamMethodOptions | BodyResponseCallback<Readable>, callback: BodyResponseCallback<Readable>): void;
        mutate(params: Params$Resource$Customers$Campaignlabels$Mutate, options: MethodOptions | BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateCampaignLabelsResponse>, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateCampaignLabelsResponse>): void;
        mutate(params: Params$Resource$Customers$Campaignlabels$Mutate, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateCampaignLabelsResponse>): void;
        mutate(callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateCampaignLabelsResponse>): void;
    }
    export interface Params$Resource$Customers$Campaignlabels$Mutate extends StandardParameters {
        /**
         * Required. ID of the customer whose campaign-label relationships are being modified.
         */
        customerId?: string;
        /**
         * Request body metadata
         */
        requestBody?: Schema$GoogleAdsSearchads360V23Services__MutateCampaignLabelsRequest;
    }
    export class Resource$Customers$Campaignlifecyclegoal {
        context: APIRequestContext;
        constructor(context: APIRequestContext);
        /**
         * Process the given campaign lifecycle configurations. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [CampaignLifecycleGoalConfigError]() [HeaderError]() [InternalError]() [QuotaError]() [RequestError]()
         * @example
         * ```js
         * // Before running the sample:
         * // - Enable the API at:
         * //   https://console.developers.google.com/apis/api/searchads360.googleapis.com
         * // - Login into gcloud by running:
         * //   ```sh
         * //   $ gcloud auth application-default login
         * //   ```
         * // - Install the npm module by running:
         * //   ```sh
         * //   $ npm install googleapis
         * //   ```
         *
         * const {google} = require('googleapis');
         * const searchads360 = google.searchads360('v23');
         *
         * async function main() {
         *   const auth = new google.auth.GoogleAuth({
         *     // Scopes can be specified either as an array or as a single, space-delimited string.
         *     scopes: ['https://www.googleapis.com/auth/doubleclicksearch'],
         *   });
         *
         *   // Acquire an auth client, and bind it to all future calls
         *   const authClient = await auth.getClient();
         *   google.options({auth: authClient});
         *
         *   // Do the magic
         *   const res =
         *     await searchads360.customers.campaignLifecycleGoal.configureCampaignLifecycleGoals(
         *       {
         *         // Required. The ID of the customer performing the upload.
         *         customerId: '[^/]+',
         *
         *         // Request body metadata
         *         requestBody: {
         *           // request body parameters
         *           // {
         *           //   "operation": {},
         *           //   "validateOnly": false
         *           // }
         *         },
         *       },
         *     );
         *   console.log(res.data);
         *
         *   // Example response
         *   // {
         *   //   "result": {}
         *   // }
         * }
         *
         * main().catch(e => {
         *   console.error(e);
         *   throw e;
         * });
         *
         * ```
         *
         * @param params - Parameters for request
         * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
         * @param callback - Optional callback that handles the response.
         * @returns A promise if used with async/await, or void if used with a callback.
         */
        configureCampaignLifecycleGoals(params: Params$Resource$Customers$Campaignlifecyclegoal$Configurecampaignlifecyclegoals, options: StreamMethodOptions): Promise<GaxiosResponseWithHTTP2<Readable>>;
        configureCampaignLifecycleGoals(params?: Params$Resource$Customers$Campaignlifecyclegoal$Configurecampaignlifecyclegoals, options?: MethodOptions): Promise<GaxiosResponseWithHTTP2<Schema$GoogleAdsSearchads360V23Services__ConfigureCampaignLifecycleGoalsResponse>>;
        configureCampaignLifecycleGoals(params: Params$Resource$Customers$Campaignlifecyclegoal$Configurecampaignlifecyclegoals, options: StreamMethodOptions | BodyResponseCallback<Readable>, callback: BodyResponseCallback<Readable>): void;
        configureCampaignLifecycleGoals(params: Params$Resource$Customers$Campaignlifecyclegoal$Configurecampaignlifecyclegoals, options: MethodOptions | BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__ConfigureCampaignLifecycleGoalsResponse>, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__ConfigureCampaignLifecycleGoalsResponse>): void;
        configureCampaignLifecycleGoals(params: Params$Resource$Customers$Campaignlifecyclegoal$Configurecampaignlifecyclegoals, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__ConfigureCampaignLifecycleGoalsResponse>): void;
        configureCampaignLifecycleGoals(callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__ConfigureCampaignLifecycleGoalsResponse>): void;
    }
    export interface Params$Resource$Customers$Campaignlifecyclegoal$Configurecampaignlifecyclegoals extends StandardParameters {
        /**
         * Required. The ID of the customer performing the upload.
         */
        customerId?: string;
        /**
         * Request body metadata
         */
        requestBody?: Schema$GoogleAdsSearchads360V23Services__ConfigureCampaignLifecycleGoalsRequest;
    }
    export class Resource$Customers$Campaigns {
        context: APIRequestContext;
        constructor(context: APIRequestContext);
        /**
         * Enables Brand Guidelines for Performance Max campaigns. List of thrown errors: [AuthenticationError]() [AssetError]() [AssetLinkError]() [AuthorizationError]() [BrandGuidelinesMigrationError]() [CampaignError]() [HeaderError]() [InternalError]() [MutateError]() [QuotaError]() [RequestError]() [ResourceCountLimitExceededError]()
         * @example
         * ```js
         * // Before running the sample:
         * // - Enable the API at:
         * //   https://console.developers.google.com/apis/api/searchads360.googleapis.com
         * // - Login into gcloud by running:
         * //   ```sh
         * //   $ gcloud auth application-default login
         * //   ```
         * // - Install the npm module by running:
         * //   ```sh
         * //   $ npm install googleapis
         * //   ```
         *
         * const {google} = require('googleapis');
         * const searchads360 = google.searchads360('v23');
         *
         * async function main() {
         *   const auth = new google.auth.GoogleAuth({
         *     // Scopes can be specified either as an array or as a single, space-delimited string.
         *     scopes: ['https://www.googleapis.com/auth/doubleclicksearch'],
         *   });
         *
         *   // Acquire an auth client, and bind it to all future calls
         *   const authClient = await auth.getClient();
         *   google.options({auth: authClient});
         *
         *   // Do the magic
         *   const res = await searchads360.customers.campaigns.enablePMaxBrandGuidelines({
         *     // Required. The ID of the customer whose campaigns are being enabled.
         *     customerId: '[^/]+',
         *
         *     // Request body metadata
         *     requestBody: {
         *       // request body parameters
         *       // {
         *       //   "operations": []
         *       // }
         *     },
         *   });
         *   console.log(res.data);
         *
         *   // Example response
         *   // {
         *   //   "results": []
         *   // }
         * }
         *
         * main().catch(e => {
         *   console.error(e);
         *   throw e;
         * });
         *
         * ```
         *
         * @param params - Parameters for request
         * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
         * @param callback - Optional callback that handles the response.
         * @returns A promise if used with async/await, or void if used with a callback.
         */
        enablePMaxBrandGuidelines(params: Params$Resource$Customers$Campaigns$Enablepmaxbrandguidelines, options: StreamMethodOptions): Promise<GaxiosResponseWithHTTP2<Readable>>;
        enablePMaxBrandGuidelines(params?: Params$Resource$Customers$Campaigns$Enablepmaxbrandguidelines, options?: MethodOptions): Promise<GaxiosResponseWithHTTP2<Schema$GoogleAdsSearchads360V23Services__EnablePMaxBrandGuidelinesResponse>>;
        enablePMaxBrandGuidelines(params: Params$Resource$Customers$Campaigns$Enablepmaxbrandguidelines, options: StreamMethodOptions | BodyResponseCallback<Readable>, callback: BodyResponseCallback<Readable>): void;
        enablePMaxBrandGuidelines(params: Params$Resource$Customers$Campaigns$Enablepmaxbrandguidelines, options: MethodOptions | BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__EnablePMaxBrandGuidelinesResponse>, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__EnablePMaxBrandGuidelinesResponse>): void;
        enablePMaxBrandGuidelines(params: Params$Resource$Customers$Campaigns$Enablepmaxbrandguidelines, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__EnablePMaxBrandGuidelinesResponse>): void;
        enablePMaxBrandGuidelines(callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__EnablePMaxBrandGuidelinesResponse>): void;
        /**
         * Creates, updates, or removes campaigns. Operation statuses are returned. List of thrown errors: [AdxError]() [AuthenticationError]() [AuthorizationError]() [BiddingError]() [BiddingStrategyError]() [CampaignBudgetError]() [CampaignError]() [ContextError]() [DatabaseError]() [DateError]() [DateRangeError]() [DistinctError]() [FieldError]() [FieldMaskError]() [HeaderError]() [IdError]() [InternalError]() [ListOperationError]() [MutateError]() [NewResourceCreationError]() [NotAllowlistedError]() [NotEmptyError]() [NullError]() [OperationAccessDeniedError]() [OperatorError]() [QuotaError]() [RangeError]() [RegionCodeError]() [RequestError]() [ResourceCountLimitExceededError]() [SettingError]() [SizeLimitError]() [StringFormatError]() [StringLengthError]() [UrlFieldError]()
         * @example
         * ```js
         * // Before running the sample:
         * // - Enable the API at:
         * //   https://console.developers.google.com/apis/api/searchads360.googleapis.com
         * // - Login into gcloud by running:
         * //   ```sh
         * //   $ gcloud auth application-default login
         * //   ```
         * // - Install the npm module by running:
         * //   ```sh
         * //   $ npm install googleapis
         * //   ```
         *
         * const {google} = require('googleapis');
         * const searchads360 = google.searchads360('v23');
         *
         * async function main() {
         *   const auth = new google.auth.GoogleAuth({
         *     // Scopes can be specified either as an array or as a single, space-delimited string.
         *     scopes: ['https://www.googleapis.com/auth/doubleclicksearch'],
         *   });
         *
         *   // Acquire an auth client, and bind it to all future calls
         *   const authClient = await auth.getClient();
         *   google.options({auth: authClient});
         *
         *   // Do the magic
         *   const res = await searchads360.customers.campaigns.mutate({
         *     // Required. The ID of the customer whose campaigns are being modified.
         *     customerId: '[^/]+',
         *
         *     // Request body metadata
         *     requestBody: {
         *       // request body parameters
         *       // {
         *       //   "operations": [],
         *       //   "partialFailure": false,
         *       //   "responseContentType": "my_responseContentType",
         *       //   "validateOnly": false
         *       // }
         *     },
         *   });
         *   console.log(res.data);
         *
         *   // Example response
         *   // {
         *   //   "partialFailureError": {},
         *   //   "results": []
         *   // }
         * }
         *
         * main().catch(e => {
         *   console.error(e);
         *   throw e;
         * });
         *
         * ```
         *
         * @param params - Parameters for request
         * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
         * @param callback - Optional callback that handles the response.
         * @returns A promise if used with async/await, or void if used with a callback.
         */
        mutate(params: Params$Resource$Customers$Campaigns$Mutate, options: StreamMethodOptions): Promise<GaxiosResponseWithHTTP2<Readable>>;
        mutate(params?: Params$Resource$Customers$Campaigns$Mutate, options?: MethodOptions): Promise<GaxiosResponseWithHTTP2<Schema$GoogleAdsSearchads360V23Services__MutateCampaignsResponse>>;
        mutate(params: Params$Resource$Customers$Campaigns$Mutate, options: StreamMethodOptions | BodyResponseCallback<Readable>, callback: BodyResponseCallback<Readable>): void;
        mutate(params: Params$Resource$Customers$Campaigns$Mutate, options: MethodOptions | BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateCampaignsResponse>, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateCampaignsResponse>): void;
        mutate(params: Params$Resource$Customers$Campaigns$Mutate, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateCampaignsResponse>): void;
        mutate(callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateCampaignsResponse>): void;
    }
    export interface Params$Resource$Customers$Campaigns$Enablepmaxbrandguidelines extends StandardParameters {
        /**
         * Required. The ID of the customer whose campaigns are being enabled.
         */
        customerId?: string;
        /**
         * Request body metadata
         */
        requestBody?: Schema$GoogleAdsSearchads360V23Services__EnablePMaxBrandGuidelinesRequest;
    }
    export interface Params$Resource$Customers$Campaigns$Mutate extends StandardParameters {
        /**
         * Required. The ID of the customer whose campaigns are being modified.
         */
        customerId?: string;
        /**
         * Request body metadata
         */
        requestBody?: Schema$GoogleAdsSearchads360V23Services__MutateCampaignsRequest;
    }
    export class Resource$Customers$Campaignsharedsets {
        context: APIRequestContext;
        constructor(context: APIRequestContext);
        /**
         * Creates or removes campaign shared sets. Operation statuses are returned. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [CampaignSharedSetError]() [ContextError]() [DatabaseError]() [DateError]() [DistinctError]() [FieldError]() [HeaderError]() [IdError]() [InternalError]() [MutateError]() [NewResourceCreationError]() [NotEmptyError]() [NullError]() [OperatorError]() [QuotaError]() [RangeError]() [RequestError]() [SizeLimitError]() [StringFormatError]() [StringLengthError]()
         * @example
         * ```js
         * // Before running the sample:
         * // - Enable the API at:
         * //   https://console.developers.google.com/apis/api/searchads360.googleapis.com
         * // - Login into gcloud by running:
         * //   ```sh
         * //   $ gcloud auth application-default login
         * //   ```
         * // - Install the npm module by running:
         * //   ```sh
         * //   $ npm install googleapis
         * //   ```
         *
         * const {google} = require('googleapis');
         * const searchads360 = google.searchads360('v23');
         *
         * async function main() {
         *   const auth = new google.auth.GoogleAuth({
         *     // Scopes can be specified either as an array or as a single, space-delimited string.
         *     scopes: ['https://www.googleapis.com/auth/doubleclicksearch'],
         *   });
         *
         *   // Acquire an auth client, and bind it to all future calls
         *   const authClient = await auth.getClient();
         *   google.options({auth: authClient});
         *
         *   // Do the magic
         *   const res = await searchads360.customers.campaignSharedSets.mutate({
         *     // Required. The ID of the customer whose campaign shared sets are being modified.
         *     customerId: '[^/]+',
         *
         *     // Request body metadata
         *     requestBody: {
         *       // request body parameters
         *       // {
         *       //   "operations": [],
         *       //   "partialFailure": false,
         *       //   "responseContentType": "my_responseContentType",
         *       //   "validateOnly": false
         *       // }
         *     },
         *   });
         *   console.log(res.data);
         *
         *   // Example response
         *   // {
         *   //   "partialFailureError": {},
         *   //   "results": []
         *   // }
         * }
         *
         * main().catch(e => {
         *   console.error(e);
         *   throw e;
         * });
         *
         * ```
         *
         * @param params - Parameters for request
         * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
         * @param callback - Optional callback that handles the response.
         * @returns A promise if used with async/await, or void if used with a callback.
         */
        mutate(params: Params$Resource$Customers$Campaignsharedsets$Mutate, options: StreamMethodOptions): Promise<GaxiosResponseWithHTTP2<Readable>>;
        mutate(params?: Params$Resource$Customers$Campaignsharedsets$Mutate, options?: MethodOptions): Promise<GaxiosResponseWithHTTP2<Schema$GoogleAdsSearchads360V23Services__MutateCampaignSharedSetsResponse>>;
        mutate(params: Params$Resource$Customers$Campaignsharedsets$Mutate, options: StreamMethodOptions | BodyResponseCallback<Readable>, callback: BodyResponseCallback<Readable>): void;
        mutate(params: Params$Resource$Customers$Campaignsharedsets$Mutate, options: MethodOptions | BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateCampaignSharedSetsResponse>, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateCampaignSharedSetsResponse>): void;
        mutate(params: Params$Resource$Customers$Campaignsharedsets$Mutate, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateCampaignSharedSetsResponse>): void;
        mutate(callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateCampaignSharedSetsResponse>): void;
    }
    export interface Params$Resource$Customers$Campaignsharedsets$Mutate extends StandardParameters {
        /**
         * Required. The ID of the customer whose campaign shared sets are being modified.
         */
        customerId?: string;
        /**
         * Request body metadata
         */
        requestBody?: Schema$GoogleAdsSearchads360V23Services__MutateCampaignSharedSetsRequest;
    }
    export class Resource$Customers$Conversionactions {
        context: APIRequestContext;
        constructor(context: APIRequestContext);
        /**
         * Creates, updates or removes conversion actions. Operation statuses are returned. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [ConversionActionError]() [CurrencyCodeError]() [DatabaseError]() [FieldError]() [FieldMaskError]() [HeaderError]() [InternalError]() [MutateError]() [NewResourceCreationError]() [QuotaError]() [RangeError]() [RequestError]() [ResourceCountLimitExceededError]() [StringLengthError]()
         * @example
         * ```js
         * // Before running the sample:
         * // - Enable the API at:
         * //   https://console.developers.google.com/apis/api/searchads360.googleapis.com
         * // - Login into gcloud by running:
         * //   ```sh
         * //   $ gcloud auth application-default login
         * //   ```
         * // - Install the npm module by running:
         * //   ```sh
         * //   $ npm install googleapis
         * //   ```
         *
         * const {google} = require('googleapis');
         * const searchads360 = google.searchads360('v23');
         *
         * async function main() {
         *   const auth = new google.auth.GoogleAuth({
         *     // Scopes can be specified either as an array or as a single, space-delimited string.
         *     scopes: ['https://www.googleapis.com/auth/doubleclicksearch'],
         *   });
         *
         *   // Acquire an auth client, and bind it to all future calls
         *   const authClient = await auth.getClient();
         *   google.options({auth: authClient});
         *
         *   // Do the magic
         *   const res = await searchads360.customers.conversionActions.mutate({
         *     // Required. The ID of the customer whose conversion actions are being modified.
         *     customerId: '[^/]+',
         *
         *     // Request body metadata
         *     requestBody: {
         *       // request body parameters
         *       // {
         *       //   "operations": [],
         *       //   "partialFailure": false,
         *       //   "responseContentType": "my_responseContentType",
         *       //   "validateOnly": false
         *       // }
         *     },
         *   });
         *   console.log(res.data);
         *
         *   // Example response
         *   // {
         *   //   "partialFailureError": {},
         *   //   "results": []
         *   // }
         * }
         *
         * main().catch(e => {
         *   console.error(e);
         *   throw e;
         * });
         *
         * ```
         *
         * @param params - Parameters for request
         * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
         * @param callback - Optional callback that handles the response.
         * @returns A promise if used with async/await, or void if used with a callback.
         */
        mutate(params: Params$Resource$Customers$Conversionactions$Mutate, options: StreamMethodOptions): Promise<GaxiosResponseWithHTTP2<Readable>>;
        mutate(params?: Params$Resource$Customers$Conversionactions$Mutate, options?: MethodOptions): Promise<GaxiosResponseWithHTTP2<Schema$GoogleAdsSearchads360V23Services__MutateConversionActionsResponse>>;
        mutate(params: Params$Resource$Customers$Conversionactions$Mutate, options: StreamMethodOptions | BodyResponseCallback<Readable>, callback: BodyResponseCallback<Readable>): void;
        mutate(params: Params$Resource$Customers$Conversionactions$Mutate, options: MethodOptions | BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateConversionActionsResponse>, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateConversionActionsResponse>): void;
        mutate(params: Params$Resource$Customers$Conversionactions$Mutate, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateConversionActionsResponse>): void;
        mutate(callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateConversionActionsResponse>): void;
    }
    export interface Params$Resource$Customers$Conversionactions$Mutate extends StandardParameters {
        /**
         * Required. The ID of the customer whose conversion actions are being modified.
         */
        customerId?: string;
        /**
         * Request body metadata
         */
        requestBody?: Schema$GoogleAdsSearchads360V23Services__MutateConversionActionsRequest;
    }
    export class Resource$Customers$Conversioncustomvariables {
        context: APIRequestContext;
        constructor(context: APIRequestContext);
        /**
         * Creates or updates conversion custom variables. Operation statuses are returned. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [ConversionCustomVariableError]() [DatabaseError]() [HeaderError]() [InternalError]() [QuotaError]() [RequestError]()
         * @example
         * ```js
         * // Before running the sample:
         * // - Enable the API at:
         * //   https://console.developers.google.com/apis/api/searchads360.googleapis.com
         * // - Login into gcloud by running:
         * //   ```sh
         * //   $ gcloud auth application-default login
         * //   ```
         * // - Install the npm module by running:
         * //   ```sh
         * //   $ npm install googleapis
         * //   ```
         *
         * const {google} = require('googleapis');
         * const searchads360 = google.searchads360('v23');
         *
         * async function main() {
         *   const auth = new google.auth.GoogleAuth({
         *     // Scopes can be specified either as an array or as a single, space-delimited string.
         *     scopes: ['https://www.googleapis.com/auth/doubleclicksearch'],
         *   });
         *
         *   // Acquire an auth client, and bind it to all future calls
         *   const authClient = await auth.getClient();
         *   google.options({auth: authClient});
         *
         *   // Do the magic
         *   const res = await searchads360.customers.conversionCustomVariables.mutate({
         *     // Required. The ID of the customer whose conversion custom variables are being modified.
         *     customerId: '[^/]+',
         *
         *     // Request body metadata
         *     requestBody: {
         *       // request body parameters
         *       // {
         *       //   "operations": [],
         *       //   "partialFailure": false,
         *       //   "responseContentType": "my_responseContentType",
         *       //   "validateOnly": false
         *       // }
         *     },
         *   });
         *   console.log(res.data);
         *
         *   // Example response
         *   // {
         *   //   "partialFailureError": {},
         *   //   "results": []
         *   // }
         * }
         *
         * main().catch(e => {
         *   console.error(e);
         *   throw e;
         * });
         *
         * ```
         *
         * @param params - Parameters for request
         * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
         * @param callback - Optional callback that handles the response.
         * @returns A promise if used with async/await, or void if used with a callback.
         */
        mutate(params: Params$Resource$Customers$Conversioncustomvariables$Mutate, options: StreamMethodOptions): Promise<GaxiosResponseWithHTTP2<Readable>>;
        mutate(params?: Params$Resource$Customers$Conversioncustomvariables$Mutate, options?: MethodOptions): Promise<GaxiosResponseWithHTTP2<Schema$GoogleAdsSearchads360V23Services__MutateConversionCustomVariablesResponse>>;
        mutate(params: Params$Resource$Customers$Conversioncustomvariables$Mutate, options: StreamMethodOptions | BodyResponseCallback<Readable>, callback: BodyResponseCallback<Readable>): void;
        mutate(params: Params$Resource$Customers$Conversioncustomvariables$Mutate, options: MethodOptions | BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateConversionCustomVariablesResponse>, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateConversionCustomVariablesResponse>): void;
        mutate(params: Params$Resource$Customers$Conversioncustomvariables$Mutate, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateConversionCustomVariablesResponse>): void;
        mutate(callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateConversionCustomVariablesResponse>): void;
    }
    export interface Params$Resource$Customers$Conversioncustomvariables$Mutate extends StandardParameters {
        /**
         * Required. The ID of the customer whose conversion custom variables are being modified.
         */
        customerId?: string;
        /**
         * Request body metadata
         */
        requestBody?: Schema$GoogleAdsSearchads360V23Services__MutateConversionCustomVariablesRequest;
    }
    export class Resource$Customers$Conversiongoalcampaignconfigs {
        context: APIRequestContext;
        constructor(context: APIRequestContext);
        /**
         * Creates, updates or removes conversion goal campaign config. Operation statuses are returned.
         * @example
         * ```js
         * // Before running the sample:
         * // - Enable the API at:
         * //   https://console.developers.google.com/apis/api/searchads360.googleapis.com
         * // - Login into gcloud by running:
         * //   ```sh
         * //   $ gcloud auth application-default login
         * //   ```
         * // - Install the npm module by running:
         * //   ```sh
         * //   $ npm install googleapis
         * //   ```
         *
         * const {google} = require('googleapis');
         * const searchads360 = google.searchads360('v23');
         *
         * async function main() {
         *   const auth = new google.auth.GoogleAuth({
         *     // Scopes can be specified either as an array or as a single, space-delimited string.
         *     scopes: ['https://www.googleapis.com/auth/doubleclicksearch'],
         *   });
         *
         *   // Acquire an auth client, and bind it to all future calls
         *   const authClient = await auth.getClient();
         *   google.options({auth: authClient});
         *
         *   // Do the magic
         *   const res = await searchads360.customers.conversionGoalCampaignConfigs.mutate(
         *     {
         *       // Required. The ID of the customer whose custom conversion goals are being modified.
         *       customerId: '[^/]+',
         *
         *       // Request body metadata
         *       requestBody: {
         *         // request body parameters
         *         // {
         *         //   "operations": [],
         *         //   "responseContentType": "my_responseContentType",
         *         //   "validateOnly": false
         *         // }
         *       },
         *     },
         *   );
         *   console.log(res.data);
         *
         *   // Example response
         *   // {
         *   //   "results": []
         *   // }
         * }
         *
         * main().catch(e => {
         *   console.error(e);
         *   throw e;
         * });
         *
         * ```
         *
         * @param params - Parameters for request
         * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
         * @param callback - Optional callback that handles the response.
         * @returns A promise if used with async/await, or void if used with a callback.
         */
        mutate(params: Params$Resource$Customers$Conversiongoalcampaignconfigs$Mutate, options: StreamMethodOptions): Promise<GaxiosResponseWithHTTP2<Readable>>;
        mutate(params?: Params$Resource$Customers$Conversiongoalcampaignconfigs$Mutate, options?: MethodOptions): Promise<GaxiosResponseWithHTTP2<Schema$GoogleAdsSearchads360V23Services__MutateConversionGoalCampaignConfigsResponse>>;
        mutate(params: Params$Resource$Customers$Conversiongoalcampaignconfigs$Mutate, options: StreamMethodOptions | BodyResponseCallback<Readable>, callback: BodyResponseCallback<Readable>): void;
        mutate(params: Params$Resource$Customers$Conversiongoalcampaignconfigs$Mutate, options: MethodOptions | BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateConversionGoalCampaignConfigsResponse>, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateConversionGoalCampaignConfigsResponse>): void;
        mutate(params: Params$Resource$Customers$Conversiongoalcampaignconfigs$Mutate, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateConversionGoalCampaignConfigsResponse>): void;
        mutate(callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateConversionGoalCampaignConfigsResponse>): void;
    }
    export interface Params$Resource$Customers$Conversiongoalcampaignconfigs$Mutate extends StandardParameters {
        /**
         * Required. The ID of the customer whose custom conversion goals are being modified.
         */
        customerId?: string;
        /**
         * Request body metadata
         */
        requestBody?: Schema$GoogleAdsSearchads360V23Services__MutateConversionGoalCampaignConfigsRequest;
    }
    export class Resource$Customers$Conversionvaluerules {
        context: APIRequestContext;
        constructor(context: APIRequestContext);
        /**
         * Creates, updates, or removes conversion value rules. Operation statuses are returned.
         * @example
         * ```js
         * // Before running the sample:
         * // - Enable the API at:
         * //   https://console.developers.google.com/apis/api/searchads360.googleapis.com
         * // - Login into gcloud by running:
         * //   ```sh
         * //   $ gcloud auth application-default login
         * //   ```
         * // - Install the npm module by running:
         * //   ```sh
         * //   $ npm install googleapis
         * //   ```
         *
         * const {google} = require('googleapis');
         * const searchads360 = google.searchads360('v23');
         *
         * async function main() {
         *   const auth = new google.auth.GoogleAuth({
         *     // Scopes can be specified either as an array or as a single, space-delimited string.
         *     scopes: ['https://www.googleapis.com/auth/doubleclicksearch'],
         *   });
         *
         *   // Acquire an auth client, and bind it to all future calls
         *   const authClient = await auth.getClient();
         *   google.options({auth: authClient});
         *
         *   // Do the magic
         *   const res = await searchads360.customers.conversionValueRules.mutate({
         *     // Required. The ID of the customer whose conversion value rules are being modified.
         *     customerId: '[^/]+',
         *
         *     // Request body metadata
         *     requestBody: {
         *       // request body parameters
         *       // {
         *       //   "operations": [],
         *       //   "partialFailure": false,
         *       //   "responseContentType": "my_responseContentType",
         *       //   "validateOnly": false
         *       // }
         *     },
         *   });
         *   console.log(res.data);
         *
         *   // Example response
         *   // {
         *   //   "partialFailureError": {},
         *   //   "results": []
         *   // }
         * }
         *
         * main().catch(e => {
         *   console.error(e);
         *   throw e;
         * });
         *
         * ```
         *
         * @param params - Parameters for request
         * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
         * @param callback - Optional callback that handles the response.
         * @returns A promise if used with async/await, or void if used with a callback.
         */
        mutate(params: Params$Resource$Customers$Conversionvaluerules$Mutate, options: StreamMethodOptions): Promise<GaxiosResponseWithHTTP2<Readable>>;
        mutate(params?: Params$Resource$Customers$Conversionvaluerules$Mutate, options?: MethodOptions): Promise<GaxiosResponseWithHTTP2<Schema$GoogleAdsSearchads360V23Services__MutateConversionValueRulesResponse>>;
        mutate(params: Params$Resource$Customers$Conversionvaluerules$Mutate, options: StreamMethodOptions | BodyResponseCallback<Readable>, callback: BodyResponseCallback<Readable>): void;
        mutate(params: Params$Resource$Customers$Conversionvaluerules$Mutate, options: MethodOptions | BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateConversionValueRulesResponse>, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateConversionValueRulesResponse>): void;
        mutate(params: Params$Resource$Customers$Conversionvaluerules$Mutate, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateConversionValueRulesResponse>): void;
        mutate(callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateConversionValueRulesResponse>): void;
    }
    export interface Params$Resource$Customers$Conversionvaluerules$Mutate extends StandardParameters {
        /**
         * Required. The ID of the customer whose conversion value rules are being modified.
         */
        customerId?: string;
        /**
         * Request body metadata
         */
        requestBody?: Schema$GoogleAdsSearchads360V23Services__MutateConversionValueRulesRequest;
    }
    export class Resource$Customers$Conversionvaluerulesets {
        context: APIRequestContext;
        constructor(context: APIRequestContext);
        /**
         * Creates, updates or removes conversion value rule sets. Operation statuses are returned.
         * @example
         * ```js
         * // Before running the sample:
         * // - Enable the API at:
         * //   https://console.developers.google.com/apis/api/searchads360.googleapis.com
         * // - Login into gcloud by running:
         * //   ```sh
         * //   $ gcloud auth application-default login
         * //   ```
         * // - Install the npm module by running:
         * //   ```sh
         * //   $ npm install googleapis
         * //   ```
         *
         * const {google} = require('googleapis');
         * const searchads360 = google.searchads360('v23');
         *
         * async function main() {
         *   const auth = new google.auth.GoogleAuth({
         *     // Scopes can be specified either as an array or as a single, space-delimited string.
         *     scopes: ['https://www.googleapis.com/auth/doubleclicksearch'],
         *   });
         *
         *   // Acquire an auth client, and bind it to all future calls
         *   const authClient = await auth.getClient();
         *   google.options({auth: authClient});
         *
         *   // Do the magic
         *   const res = await searchads360.customers.conversionValueRuleSets.mutate({
         *     // Required. The ID of the customer whose conversion value rule sets are being modified.
         *     customerId: '[^/]+',
         *
         *     // Request body metadata
         *     requestBody: {
         *       // request body parameters
         *       // {
         *       //   "operations": [],
         *       //   "partialFailure": false,
         *       //   "responseContentType": "my_responseContentType",
         *       //   "validateOnly": false
         *       // }
         *     },
         *   });
         *   console.log(res.data);
         *
         *   // Example response
         *   // {
         *   //   "partialFailureError": {},
         *   //   "results": []
         *   // }
         * }
         *
         * main().catch(e => {
         *   console.error(e);
         *   throw e;
         * });
         *
         * ```
         *
         * @param params - Parameters for request
         * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
         * @param callback - Optional callback that handles the response.
         * @returns A promise if used with async/await, or void if used with a callback.
         */
        mutate(params: Params$Resource$Customers$Conversionvaluerulesets$Mutate, options: StreamMethodOptions): Promise<GaxiosResponseWithHTTP2<Readable>>;
        mutate(params?: Params$Resource$Customers$Conversionvaluerulesets$Mutate, options?: MethodOptions): Promise<GaxiosResponseWithHTTP2<Schema$GoogleAdsSearchads360V23Services__MutateConversionValueRuleSetsResponse>>;
        mutate(params: Params$Resource$Customers$Conversionvaluerulesets$Mutate, options: StreamMethodOptions | BodyResponseCallback<Readable>, callback: BodyResponseCallback<Readable>): void;
        mutate(params: Params$Resource$Customers$Conversionvaluerulesets$Mutate, options: MethodOptions | BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateConversionValueRuleSetsResponse>, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateConversionValueRuleSetsResponse>): void;
        mutate(params: Params$Resource$Customers$Conversionvaluerulesets$Mutate, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateConversionValueRuleSetsResponse>): void;
        mutate(callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateConversionValueRuleSetsResponse>): void;
    }
    export interface Params$Resource$Customers$Conversionvaluerulesets$Mutate extends StandardParameters {
        /**
         * Required. The ID of the customer whose conversion value rule sets are being modified.
         */
        customerId?: string;
        /**
         * Request body metadata
         */
        requestBody?: Schema$GoogleAdsSearchads360V23Services__MutateConversionValueRuleSetsRequest;
    }
    export class Resource$Customers$Customaudiences {
        context: APIRequestContext;
        constructor(context: APIRequestContext);
        /**
         * Creates or updates custom audiences. Operation statuses are returned. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [CustomAudienceError]() [CustomInterestError]() [FieldError]() [FieldMaskError]() [HeaderError]() [InternalError]() [MutateError]() [OperationAccessDeniedError]() [PolicyViolationError]() [QuotaError]() [RequestError]()
         * @example
         * ```js
         * // Before running the sample:
         * // - Enable the API at:
         * //   https://console.developers.google.com/apis/api/searchads360.googleapis.com
         * // - Login into gcloud by running:
         * //   ```sh
         * //   $ gcloud auth application-default login
         * //   ```
         * // - Install the npm module by running:
         * //   ```sh
         * //   $ npm install googleapis
         * //   ```
         *
         * const {google} = require('googleapis');
         * const searchads360 = google.searchads360('v23');
         *
         * async function main() {
         *   const auth = new google.auth.GoogleAuth({
         *     // Scopes can be specified either as an array or as a single, space-delimited string.
         *     scopes: ['https://www.googleapis.com/auth/doubleclicksearch'],
         *   });
         *
         *   // Acquire an auth client, and bind it to all future calls
         *   const authClient = await auth.getClient();
         *   google.options({auth: authClient});
         *
         *   // Do the magic
         *   const res = await searchads360.customers.customAudiences.mutate({
         *     // Required. The ID of the customer whose custom audiences are being modified.
         *     customerId: '[^/]+',
         *
         *     // Request body metadata
         *     requestBody: {
         *       // request body parameters
         *       // {
         *       //   "operations": [],
         *       //   "validateOnly": false
         *       // }
         *     },
         *   });
         *   console.log(res.data);
         *
         *   // Example response
         *   // {
         *   //   "results": []
         *   // }
         * }
         *
         * main().catch(e => {
         *   console.error(e);
         *   throw e;
         * });
         *
         * ```
         *
         * @param params - Parameters for request
         * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
         * @param callback - Optional callback that handles the response.
         * @returns A promise if used with async/await, or void if used with a callback.
         */
        mutate(params: Params$Resource$Customers$Customaudiences$Mutate, options: StreamMethodOptions): Promise<GaxiosResponseWithHTTP2<Readable>>;
        mutate(params?: Params$Resource$Customers$Customaudiences$Mutate, options?: MethodOptions): Promise<GaxiosResponseWithHTTP2<Schema$GoogleAdsSearchads360V23Services__MutateCustomAudiencesResponse>>;
        mutate(params: Params$Resource$Customers$Customaudiences$Mutate, options: StreamMethodOptions | BodyResponseCallback<Readable>, callback: BodyResponseCallback<Readable>): void;
        mutate(params: Params$Resource$Customers$Customaudiences$Mutate, options: MethodOptions | BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateCustomAudiencesResponse>, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateCustomAudiencesResponse>): void;
        mutate(params: Params$Resource$Customers$Customaudiences$Mutate, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateCustomAudiencesResponse>): void;
        mutate(callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateCustomAudiencesResponse>): void;
    }
    export interface Params$Resource$Customers$Customaudiences$Mutate extends StandardParameters {
        /**
         * Required. The ID of the customer whose custom audiences are being modified.
         */
        customerId?: string;
        /**
         * Request body metadata
         */
        requestBody?: Schema$GoogleAdsSearchads360V23Services__MutateCustomAudiencesRequest;
    }
    export class Resource$Customers$Customcolumns {
        context: APIRequestContext;
        constructor(context: APIRequestContext);
        /**
         * Returns the requested custom column in full detail.
         * @example
         * ```js
         * // Before running the sample:
         * // - Enable the API at:
         * //   https://console.developers.google.com/apis/api/searchads360.googleapis.com
         * // - Login into gcloud by running:
         * //   ```sh
         * //   $ gcloud auth application-default login
         * //   ```
         * // - Install the npm module by running:
         * //   ```sh
         * //   $ npm install googleapis
         * //   ```
         *
         * const {google} = require('googleapis');
         * const searchads360 = google.searchads360('v23');
         *
         * async function main() {
         *   const auth = new google.auth.GoogleAuth({
         *     // Scopes can be specified either as an array or as a single, space-delimited string.
         *     scopes: ['https://www.googleapis.com/auth/doubleclicksearch'],
         *   });
         *
         *   // Acquire an auth client, and bind it to all future calls
         *   const authClient = await auth.getClient();
         *   google.options({auth: authClient});
         *
         *   // Do the magic
         *   const res = await searchads360.customers.customColumns.get({
         *     // Required. The resource name of the custom column to fetch.
         *     resourceName: 'customers/my-customer/customColumns/my-customColumn',
         *   });
         *   console.log(res.data);
         *
         *   // Example response
         *   // {
         *   //   "description": "my_description",
         *   //   "id": "my_id",
         *   //   "name": "my_name",
         *   //   "queryable": false,
         *   //   "referencedSystemColumns": [],
         *   //   "referencesAttributes": false,
         *   //   "referencesMetrics": false,
         *   //   "renderType": "my_renderType",
         *   //   "resourceName": "my_resourceName",
         *   //   "valueType": "my_valueType"
         *   // }
         * }
         *
         * main().catch(e => {
         *   console.error(e);
         *   throw e;
         * });
         *
         * ```
         *
         * @param params - Parameters for request
         * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
         * @param callback - Optional callback that handles the response.
         * @returns A promise if used with async/await, or void if used with a callback.
         */
        get(params: Params$Resource$Customers$Customcolumns$Get, options: StreamMethodOptions): Promise<GaxiosResponseWithHTTP2<Readable>>;
        get(params?: Params$Resource$Customers$Customcolumns$Get, options?: MethodOptions): Promise<GaxiosResponseWithHTTP2<Schema$GoogleAdsSearchads360V23Resources__CustomColumn>>;
        get(params: Params$Resource$Customers$Customcolumns$Get, options: StreamMethodOptions | BodyResponseCallback<Readable>, callback: BodyResponseCallback<Readable>): void;
        get(params: Params$Resource$Customers$Customcolumns$Get, options: MethodOptions | BodyResponseCallback<Schema$GoogleAdsSearchads360V23Resources__CustomColumn>, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Resources__CustomColumn>): void;
        get(params: Params$Resource$Customers$Customcolumns$Get, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Resources__CustomColumn>): void;
        get(callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Resources__CustomColumn>): void;
        /**
         * Returns all the custom columns associated with the customer in full detail.
         * @example
         * ```js
         * // Before running the sample:
         * // - Enable the API at:
         * //   https://console.developers.google.com/apis/api/searchads360.googleapis.com
         * // - Login into gcloud by running:
         * //   ```sh
         * //   $ gcloud auth application-default login
         * //   ```
         * // - Install the npm module by running:
         * //   ```sh
         * //   $ npm install googleapis
         * //   ```
         *
         * const {google} = require('googleapis');
         * const searchads360 = google.searchads360('v23');
         *
         * async function main() {
         *   const auth = new google.auth.GoogleAuth({
         *     // Scopes can be specified either as an array or as a single, space-delimited string.
         *     scopes: ['https://www.googleapis.com/auth/doubleclicksearch'],
         *   });
         *
         *   // Acquire an auth client, and bind it to all future calls
         *   const authClient = await auth.getClient();
         *   google.options({auth: authClient});
         *
         *   // Do the magic
         *   const res = await searchads360.customers.customColumns.list({
         *     // Required. The ID of the customer to apply the CustomColumn list operation to.
         *     customerId: '[^/]+',
         *   });
         *   console.log(res.data);
         *
         *   // Example response
         *   // {
         *   //   "customColumns": []
         *   // }
         * }
         *
         * main().catch(e => {
         *   console.error(e);
         *   throw e;
         * });
         *
         * ```
         *
         * @param params - Parameters for request
         * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
         * @param callback - Optional callback that handles the response.
         * @returns A promise if used with async/await, or void if used with a callback.
         */
        list(params: Params$Resource$Customers$Customcolumns$List, options: StreamMethodOptions): Promise<GaxiosResponseWithHTTP2<Readable>>;
        list(params?: Params$Resource$Customers$Customcolumns$List, options?: MethodOptions): Promise<GaxiosResponseWithHTTP2<Schema$GoogleAdsSearchads360V23Services__ListCustomColumnsResponse>>;
        list(params: Params$Resource$Customers$Customcolumns$List, options: StreamMethodOptions | BodyResponseCallback<Readable>, callback: BodyResponseCallback<Readable>): void;
        list(params: Params$Resource$Customers$Customcolumns$List, options: MethodOptions | BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__ListCustomColumnsResponse>, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__ListCustomColumnsResponse>): void;
        list(params: Params$Resource$Customers$Customcolumns$List, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__ListCustomColumnsResponse>): void;
        list(callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__ListCustomColumnsResponse>): void;
    }
    export interface Params$Resource$Customers$Customcolumns$Get extends StandardParameters {
        /**
         * Required. The resource name of the custom column to fetch.
         */
        resourceName?: string;
    }
    export interface Params$Resource$Customers$Customcolumns$List extends StandardParameters {
        /**
         * Required. The ID of the customer to apply the CustomColumn list operation to.
         */
        customerId?: string;
    }
    export class Resource$Customers$Customconversiongoals {
        context: APIRequestContext;
        constructor(context: APIRequestContext);
        /**
         * Creates, updates or removes custom conversion goals. Operation statuses are returned.
         * @example
         * ```js
         * // Before running the sample:
         * // - Enable the API at:
         * //   https://console.developers.google.com/apis/api/searchads360.googleapis.com
         * // - Login into gcloud by running:
         * //   ```sh
         * //   $ gcloud auth application-default login
         * //   ```
         * // - Install the npm module by running:
         * //   ```sh
         * //   $ npm install googleapis
         * //   ```
         *
         * const {google} = require('googleapis');
         * const searchads360 = google.searchads360('v23');
         *
         * async function main() {
         *   const auth = new google.auth.GoogleAuth({
         *     // Scopes can be specified either as an array or as a single, space-delimited string.
         *     scopes: ['https://www.googleapis.com/auth/doubleclicksearch'],
         *   });
         *
         *   // Acquire an auth client, and bind it to all future calls
         *   const authClient = await auth.getClient();
         *   google.options({auth: authClient});
         *
         *   // Do the magic
         *   const res = await searchads360.customers.customConversionGoals.mutate({
         *     // Required. The ID of the customer whose custom conversion goals are being modified.
         *     customerId: '[^/]+',
         *
         *     // Request body metadata
         *     requestBody: {
         *       // request body parameters
         *       // {
         *       //   "operations": [],
         *       //   "responseContentType": "my_responseContentType",
         *       //   "validateOnly": false
         *       // }
         *     },
         *   });
         *   console.log(res.data);
         *
         *   // Example response
         *   // {
         *   //   "results": []
         *   // }
         * }
         *
         * main().catch(e => {
         *   console.error(e);
         *   throw e;
         * });
         *
         * ```
         *
         * @param params - Parameters for request
         * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
         * @param callback - Optional callback that handles the response.
         * @returns A promise if used with async/await, or void if used with a callback.
         */
        mutate(params: Params$Resource$Customers$Customconversiongoals$Mutate, options: StreamMethodOptions): Promise<GaxiosResponseWithHTTP2<Readable>>;
        mutate(params?: Params$Resource$Customers$Customconversiongoals$Mutate, options?: MethodOptions): Promise<GaxiosResponseWithHTTP2<Schema$GoogleAdsSearchads360V23Services__MutateCustomConversionGoalsResponse>>;
        mutate(params: Params$Resource$Customers$Customconversiongoals$Mutate, options: StreamMethodOptions | BodyResponseCallback<Readable>, callback: BodyResponseCallback<Readable>): void;
        mutate(params: Params$Resource$Customers$Customconversiongoals$Mutate, options: MethodOptions | BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateCustomConversionGoalsResponse>, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateCustomConversionGoalsResponse>): void;
        mutate(params: Params$Resource$Customers$Customconversiongoals$Mutate, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateCustomConversionGoalsResponse>): void;
        mutate(callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateCustomConversionGoalsResponse>): void;
    }
    export interface Params$Resource$Customers$Customconversiongoals$Mutate extends StandardParameters {
        /**
         * Required. The ID of the customer whose custom conversion goals are being modified.
         */
        customerId?: string;
        /**
         * Request body metadata
         */
        requestBody?: Schema$GoogleAdsSearchads360V23Services__MutateCustomConversionGoalsRequest;
    }
    export class Resource$Customers$Customerassets {
        context: APIRequestContext;
        constructor(context: APIRequestContext);
        /**
         * Creates, updates, or removes customer assets. Operation statuses are returned. List of thrown errors: [AssetLinkError]() [AuthenticationError]() [AuthorizationError]() [FieldError]() [HeaderError]() [InternalError]() [MutateError]() [QuotaError]() [RequestError]()
         * @example
         * ```js
         * // Before running the sample:
         * // - Enable the API at:
         * //   https://console.developers.google.com/apis/api/searchads360.googleapis.com
         * // - Login into gcloud by running:
         * //   ```sh
         * //   $ gcloud auth application-default login
         * //   ```
         * // - Install the npm module by running:
         * //   ```sh
         * //   $ npm install googleapis
         * //   ```
         *
         * const {google} = require('googleapis');
         * const searchads360 = google.searchads360('v23');
         *
         * async function main() {
         *   const auth = new google.auth.GoogleAuth({
         *     // Scopes can be specified either as an array or as a single, space-delimited string.
         *     scopes: ['https://www.googleapis.com/auth/doubleclicksearch'],
         *   });
         *
         *   // Acquire an auth client, and bind it to all future calls
         *   const authClient = await auth.getClient();
         *   google.options({auth: authClient});
         *
         *   // Do the magic
         *   const res = await searchads360.customers.customerAssets.mutate({
         *     // Required. The ID of the customer whose customer assets are being modified.
         *     customerId: '[^/]+',
         *
         *     // Request body metadata
         *     requestBody: {
         *       // request body parameters
         *       // {
         *       //   "operations": [],
         *       //   "partialFailure": false,
         *       //   "responseContentType": "my_responseContentType",
         *       //   "validateOnly": false
         *       // }
         *     },
         *   });
         *   console.log(res.data);
         *
         *   // Example response
         *   // {
         *   //   "partialFailureError": {},
         *   //   "results": []
         *   // }
         * }
         *
         * main().catch(e => {
         *   console.error(e);
         *   throw e;
         * });
         *
         * ```
         *
         * @param params - Parameters for request
         * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
         * @param callback - Optional callback that handles the response.
         * @returns A promise if used with async/await, or void if used with a callback.
         */
        mutate(params: Params$Resource$Customers$Customerassets$Mutate, options: StreamMethodOptions): Promise<GaxiosResponseWithHTTP2<Readable>>;
        mutate(params?: Params$Resource$Customers$Customerassets$Mutate, options?: MethodOptions): Promise<GaxiosResponseWithHTTP2<Schema$GoogleAdsSearchads360V23Services__MutateCustomerAssetsResponse>>;
        mutate(params: Params$Resource$Customers$Customerassets$Mutate, options: StreamMethodOptions | BodyResponseCallback<Readable>, callback: BodyResponseCallback<Readable>): void;
        mutate(params: Params$Resource$Customers$Customerassets$Mutate, options: MethodOptions | BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateCustomerAssetsResponse>, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateCustomerAssetsResponse>): void;
        mutate(params: Params$Resource$Customers$Customerassets$Mutate, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateCustomerAssetsResponse>): void;
        mutate(callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateCustomerAssetsResponse>): void;
    }
    export interface Params$Resource$Customers$Customerassets$Mutate extends StandardParameters {
        /**
         * Required. The ID of the customer whose customer assets are being modified.
         */
        customerId?: string;
        /**
         * Request body metadata
         */
        requestBody?: Schema$GoogleAdsSearchads360V23Services__MutateCustomerAssetsRequest;
    }
    export class Resource$Customers$Customerassetsets {
        context: APIRequestContext;
        constructor(context: APIRequestContext);
        /**
         * Creates, or removes customer asset sets. Operation statuses are returned.
         * @example
         * ```js
         * // Before running the sample:
         * // - Enable the API at:
         * //   https://console.developers.google.com/apis/api/searchads360.googleapis.com
         * // - Login into gcloud by running:
         * //   ```sh
         * //   $ gcloud auth application-default login
         * //   ```
         * // - Install the npm module by running:
         * //   ```sh
         * //   $ npm install googleapis
         * //   ```
         *
         * const {google} = require('googleapis');
         * const searchads360 = google.searchads360('v23');
         *
         * async function main() {
         *   const auth = new google.auth.GoogleAuth({
         *     // Scopes can be specified either as an array or as a single, space-delimited string.
         *     scopes: ['https://www.googleapis.com/auth/doubleclicksearch'],
         *   });
         *
         *   // Acquire an auth client, and bind it to all future calls
         *   const authClient = await auth.getClient();
         *   google.options({auth: authClient});
         *
         *   // Do the magic
         *   const res = await searchads360.customers.customerAssetSets.mutate({
         *     // Required. The ID of the customer whose customer asset sets are being modified.
         *     customerId: '[^/]+',
         *
         *     // Request body metadata
         *     requestBody: {
         *       // request body parameters
         *       // {
         *       //   "operations": [],
         *       //   "partialFailure": false,
         *       //   "responseContentType": "my_responseContentType",
         *       //   "validateOnly": false
         *       // }
         *     },
         *   });
         *   console.log(res.data);
         *
         *   // Example response
         *   // {
         *   //   "partialFailureError": {},
         *   //   "results": []
         *   // }
         * }
         *
         * main().catch(e => {
         *   console.error(e);
         *   throw e;
         * });
         *
         * ```
         *
         * @param params - Parameters for request
         * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
         * @param callback - Optional callback that handles the response.
         * @returns A promise if used with async/await, or void if used with a callback.
         */
        mutate(params: Params$Resource$Customers$Customerassetsets$Mutate, options: StreamMethodOptions): Promise<GaxiosResponseWithHTTP2<Readable>>;
        mutate(params?: Params$Resource$Customers$Customerassetsets$Mutate, options?: MethodOptions): Promise<GaxiosResponseWithHTTP2<Schema$GoogleAdsSearchads360V23Services__MutateCustomerAssetSetsResponse>>;
        mutate(params: Params$Resource$Customers$Customerassetsets$Mutate, options: StreamMethodOptions | BodyResponseCallback<Readable>, callback: BodyResponseCallback<Readable>): void;
        mutate(params: Params$Resource$Customers$Customerassetsets$Mutate, options: MethodOptions | BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateCustomerAssetSetsResponse>, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateCustomerAssetSetsResponse>): void;
        mutate(params: Params$Resource$Customers$Customerassetsets$Mutate, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateCustomerAssetSetsResponse>): void;
        mutate(callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateCustomerAssetSetsResponse>): void;
    }
    export interface Params$Resource$Customers$Customerassetsets$Mutate extends StandardParameters {
        /**
         * Required. The ID of the customer whose customer asset sets are being modified.
         */
        customerId?: string;
        /**
         * Request body metadata
         */
        requestBody?: Schema$GoogleAdsSearchads360V23Services__MutateCustomerAssetSetsRequest;
    }
    export class Resource$Customers$Customerclientlinks {
        context: APIRequestContext;
        constructor(context: APIRequestContext);
        /**
         * Creates or updates a customer client link. Operation statuses are returned. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [DatabaseError]() [FieldError]() [FieldMaskError]() [HeaderError]() [InternalError]() [ManagerLinkError]() [MutateError]() [NewResourceCreationError]() [QuotaError]() [RequestError]()
         * @example
         * ```js
         * // Before running the sample:
         * // - Enable the API at:
         * //   https://console.developers.google.com/apis/api/searchads360.googleapis.com
         * // - Login into gcloud by running:
         * //   ```sh
         * //   $ gcloud auth application-default login
         * //   ```
         * // - Install the npm module by running:
         * //   ```sh
         * //   $ npm install googleapis
         * //   ```
         *
         * const {google} = require('googleapis');
         * const searchads360 = google.searchads360('v23');
         *
         * async function main() {
         *   const auth = new google.auth.GoogleAuth({
         *     // Scopes can be specified either as an array or as a single, space-delimited string.
         *     scopes: ['https://www.googleapis.com/auth/doubleclicksearch'],
         *   });
         *
         *   // Acquire an auth client, and bind it to all future calls
         *   const authClient = await auth.getClient();
         *   google.options({auth: authClient});
         *
         *   // Do the magic
         *   const res = await searchads360.customers.customerClientLinks.mutate({
         *     // Required. The ID of the customer whose customer link are being modified.
         *     customerId: '[^/]+',
         *
         *     // Request body metadata
         *     requestBody: {
         *       // request body parameters
         *       // {
         *       //   "operation": {},
         *       //   "validateOnly": false
         *       // }
         *     },
         *   });
         *   console.log(res.data);
         *
         *   // Example response
         *   // {
         *   //   "result": {}
         *   // }
         * }
         *
         * main().catch(e => {
         *   console.error(e);
         *   throw e;
         * });
         *
         * ```
         *
         * @param params - Parameters for request
         * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
         * @param callback - Optional callback that handles the response.
         * @returns A promise if used with async/await, or void if used with a callback.
         */
        mutate(params: Params$Resource$Customers$Customerclientlinks$Mutate, options: StreamMethodOptions): Promise<GaxiosResponseWithHTTP2<Readable>>;
        mutate(params?: Params$Resource$Customers$Customerclientlinks$Mutate, options?: MethodOptions): Promise<GaxiosResponseWithHTTP2<Schema$GoogleAdsSearchads360V23Services__MutateCustomerClientLinkResponse>>;
        mutate(params: Params$Resource$Customers$Customerclientlinks$Mutate, options: StreamMethodOptions | BodyResponseCallback<Readable>, callback: BodyResponseCallback<Readable>): void;
        mutate(params: Params$Resource$Customers$Customerclientlinks$Mutate, options: MethodOptions | BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateCustomerClientLinkResponse>, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateCustomerClientLinkResponse>): void;
        mutate(params: Params$Resource$Customers$Customerclientlinks$Mutate, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateCustomerClientLinkResponse>): void;
        mutate(callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateCustomerClientLinkResponse>): void;
    }
    export interface Params$Resource$Customers$Customerclientlinks$Mutate extends StandardParameters {
        /**
         * Required. The ID of the customer whose customer link are being modified.
         */
        customerId?: string;
        /**
         * Request body metadata
         */
        requestBody?: Schema$GoogleAdsSearchads360V23Services__MutateCustomerClientLinkRequest;
    }
    export class Resource$Customers$Customerconversiongoals {
        context: APIRequestContext;
        constructor(context: APIRequestContext);
        /**
         * Creates, updates or removes customer conversion goals. Operation statuses are returned.
         * @example
         * ```js
         * // Before running the sample:
         * // - Enable the API at:
         * //   https://console.developers.google.com/apis/api/searchads360.googleapis.com
         * // - Login into gcloud by running:
         * //   ```sh
         * //   $ gcloud auth application-default login
         * //   ```
         * // - Install the npm module by running:
         * //   ```sh
         * //   $ npm install googleapis
         * //   ```
         *
         * const {google} = require('googleapis');
         * const searchads360 = google.searchads360('v23');
         *
         * async function main() {
         *   const auth = new google.auth.GoogleAuth({
         *     // Scopes can be specified either as an array or as a single, space-delimited string.
         *     scopes: ['https://www.googleapis.com/auth/doubleclicksearch'],
         *   });
         *
         *   // Acquire an auth client, and bind it to all future calls
         *   const authClient = await auth.getClient();
         *   google.options({auth: authClient});
         *
         *   // Do the magic
         *   const res = await searchads360.customers.customerConversionGoals.mutate({
         *     // Required. The ID of the customer whose customer conversion goals are being modified.
         *     customerId: '[^/]+',
         *
         *     // Request body metadata
         *     requestBody: {
         *       // request body parameters
         *       // {
         *       //   "operations": [],
         *       //   "validateOnly": false
         *       // }
         *     },
         *   });
         *   console.log(res.data);
         *
         *   // Example response
         *   // {
         *   //   "results": []
         *   // }
         * }
         *
         * main().catch(e => {
         *   console.error(e);
         *   throw e;
         * });
         *
         * ```
         *
         * @param params - Parameters for request
         * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
         * @param callback - Optional callback that handles the response.
         * @returns A promise if used with async/await, or void if used with a callback.
         */
        mutate(params: Params$Resource$Customers$Customerconversiongoals$Mutate, options: StreamMethodOptions): Promise<GaxiosResponseWithHTTP2<Readable>>;
        mutate(params?: Params$Resource$Customers$Customerconversiongoals$Mutate, options?: MethodOptions): Promise<GaxiosResponseWithHTTP2<Schema$GoogleAdsSearchads360V23Services__MutateCustomerConversionGoalsResponse>>;
        mutate(params: Params$Resource$Customers$Customerconversiongoals$Mutate, options: StreamMethodOptions | BodyResponseCallback<Readable>, callback: BodyResponseCallback<Readable>): void;
        mutate(params: Params$Resource$Customers$Customerconversiongoals$Mutate, options: MethodOptions | BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateCustomerConversionGoalsResponse>, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateCustomerConversionGoalsResponse>): void;
        mutate(params: Params$Resource$Customers$Customerconversiongoals$Mutate, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateCustomerConversionGoalsResponse>): void;
        mutate(callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateCustomerConversionGoalsResponse>): void;
    }
    export interface Params$Resource$Customers$Customerconversiongoals$Mutate extends StandardParameters {
        /**
         * Required. The ID of the customer whose customer conversion goals are being modified.
         */
        customerId?: string;
        /**
         * Request body metadata
         */
        requestBody?: Schema$GoogleAdsSearchads360V23Services__MutateCustomerConversionGoalsRequest;
    }
    export class Resource$Customers$Customercustomizers {
        context: APIRequestContext;
        constructor(context: APIRequestContext);
        /**
         * Creates, updates or removes customer customizers. Operation statuses are returned.
         * @example
         * ```js
         * // Before running the sample:
         * // - Enable the API at:
         * //   https://console.developers.google.com/apis/api/searchads360.googleapis.com
         * // - Login into gcloud by running:
         * //   ```sh
         * //   $ gcloud auth application-default login
         * //   ```
         * // - Install the npm module by running:
         * //   ```sh
         * //   $ npm install googleapis
         * //   ```
         *
         * const {google} = require('googleapis');
         * const searchads360 = google.searchads360('v23');
         *
         * async function main() {
         *   const auth = new google.auth.GoogleAuth({
         *     // Scopes can be specified either as an array or as a single, space-delimited string.
         *     scopes: ['https://www.googleapis.com/auth/doubleclicksearch'],
         *   });
         *
         *   // Acquire an auth client, and bind it to all future calls
         *   const authClient = await auth.getClient();
         *   google.options({auth: authClient});
         *
         *   // Do the magic
         *   const res = await searchads360.customers.CustomerCustomizers.mutate({
         *     // Required. The ID of the customer whose customer customizers are being modified.
         *     customerId: '[^/]+',
         *
         *     // Request body metadata
         *     requestBody: {
         *       // request body parameters
         *       // {
         *       //   "operations": [],
         *       //   "partialFailure": false,
         *       //   "responseContentType": "my_responseContentType",
         *       //   "validateOnly": false
         *       // }
         *     },
         *   });
         *   console.log(res.data);
         *
         *   // Example response
         *   // {
         *   //   "partialFailureError": {},
         *   //   "results": []
         *   // }
         * }
         *
         * main().catch(e => {
         *   console.error(e);
         *   throw e;
         * });
         *
         * ```
         *
         * @param params - Parameters for request
         * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
         * @param callback - Optional callback that handles the response.
         * @returns A promise if used with async/await, or void if used with a callback.
         */
        mutate(params: Params$Resource$Customers$Customercustomizers$Mutate, options: StreamMethodOptions): Promise<GaxiosResponseWithHTTP2<Readable>>;
        mutate(params?: Params$Resource$Customers$Customercustomizers$Mutate, options?: MethodOptions): Promise<GaxiosResponseWithHTTP2<Schema$GoogleAdsSearchads360V23Services__MutateCustomerCustomizersResponse>>;
        mutate(params: Params$Resource$Customers$Customercustomizers$Mutate, options: StreamMethodOptions | BodyResponseCallback<Readable>, callback: BodyResponseCallback<Readable>): void;
        mutate(params: Params$Resource$Customers$Customercustomizers$Mutate, options: MethodOptions | BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateCustomerCustomizersResponse>, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateCustomerCustomizersResponse>): void;
        mutate(params: Params$Resource$Customers$Customercustomizers$Mutate, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateCustomerCustomizersResponse>): void;
        mutate(callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateCustomerCustomizersResponse>): void;
    }
    export interface Params$Resource$Customers$Customercustomizers$Mutate extends StandardParameters {
        /**
         * Required. The ID of the customer whose customer customizers are being modified.
         */
        customerId?: string;
        /**
         * Request body metadata
         */
        requestBody?: Schema$GoogleAdsSearchads360V23Services__MutateCustomerCustomizersRequest;
    }
    export class Resource$Customers$Customerlabels {
        context: APIRequestContext;
        constructor(context: APIRequestContext);
        /**
         * Creates and removes customer-label relationships. Operation statuses are returned. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [DatabaseError]() [HeaderError]() [InternalError]() [LabelError]() [MutateError]() [QuotaError]() [RequestError]()
         * @example
         * ```js
         * // Before running the sample:
         * // - Enable the API at:
         * //   https://console.developers.google.com/apis/api/searchads360.googleapis.com
         * // - Login into gcloud by running:
         * //   ```sh
         * //   $ gcloud auth application-default login
         * //   ```
         * // - Install the npm module by running:
         * //   ```sh
         * //   $ npm install googleapis
         * //   ```
         *
         * const {google} = require('googleapis');
         * const searchads360 = google.searchads360('v23');
         *
         * async function main() {
         *   const auth = new google.auth.GoogleAuth({
         *     // Scopes can be specified either as an array or as a single, space-delimited string.
         *     scopes: ['https://www.googleapis.com/auth/doubleclicksearch'],
         *   });
         *
         *   // Acquire an auth client, and bind it to all future calls
         *   const authClient = await auth.getClient();
         *   google.options({auth: authClient});
         *
         *   // Do the magic
         *   const res = await searchads360.customers.customerLabels.mutate({
         *     // Required. ID of the customer whose customer-label relationships are being modified.
         *     customerId: '[^/]+',
         *
         *     // Request body metadata
         *     requestBody: {
         *       // request body parameters
         *       // {
         *       //   "operations": [],
         *       //   "partialFailure": false,
         *       //   "validateOnly": false
         *       // }
         *     },
         *   });
         *   console.log(res.data);
         *
         *   // Example response
         *   // {
         *   //   "partialFailureError": {},
         *   //   "results": []
         *   // }
         * }
         *
         * main().catch(e => {
         *   console.error(e);
         *   throw e;
         * });
         *
         * ```
         *
         * @param params - Parameters for request
         * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
         * @param callback - Optional callback that handles the response.
         * @returns A promise if used with async/await, or void if used with a callback.
         */
        mutate(params: Params$Resource$Customers$Customerlabels$Mutate, options: StreamMethodOptions): Promise<GaxiosResponseWithHTTP2<Readable>>;
        mutate(params?: Params$Resource$Customers$Customerlabels$Mutate, options?: MethodOptions): Promise<GaxiosResponseWithHTTP2<Schema$GoogleAdsSearchads360V23Services__MutateCustomerLabelsResponse>>;
        mutate(params: Params$Resource$Customers$Customerlabels$Mutate, options: StreamMethodOptions | BodyResponseCallback<Readable>, callback: BodyResponseCallback<Readable>): void;
        mutate(params: Params$Resource$Customers$Customerlabels$Mutate, options: MethodOptions | BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateCustomerLabelsResponse>, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateCustomerLabelsResponse>): void;
        mutate(params: Params$Resource$Customers$Customerlabels$Mutate, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateCustomerLabelsResponse>): void;
        mutate(callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateCustomerLabelsResponse>): void;
    }
    export interface Params$Resource$Customers$Customerlabels$Mutate extends StandardParameters {
        /**
         * Required. ID of the customer whose customer-label relationships are being modified.
         */
        customerId?: string;
        /**
         * Request body metadata
         */
        requestBody?: Schema$GoogleAdsSearchads360V23Services__MutateCustomerLabelsRequest;
    }
    export class Resource$Customers$Customerlifecyclegoal {
        context: APIRequestContext;
        constructor(context: APIRequestContext);
        /**
         * Process the given customer lifecycle configurations. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [CustomerLifecycleGoalConfigError]() [HeaderError]() [InternalError]() [QuotaError]() [RequestError]()
         * @example
         * ```js
         * // Before running the sample:
         * // - Enable the API at:
         * //   https://console.developers.google.com/apis/api/searchads360.googleapis.com
         * // - Login into gcloud by running:
         * //   ```sh
         * //   $ gcloud auth application-default login
         * //   ```
         * // - Install the npm module by running:
         * //   ```sh
         * //   $ npm install googleapis
         * //   ```
         *
         * const {google} = require('googleapis');
         * const searchads360 = google.searchads360('v23');
         *
         * async function main() {
         *   const auth = new google.auth.GoogleAuth({
         *     // Scopes can be specified either as an array or as a single, space-delimited string.
         *     scopes: ['https://www.googleapis.com/auth/doubleclicksearch'],
         *   });
         *
         *   // Acquire an auth client, and bind it to all future calls
         *   const authClient = await auth.getClient();
         *   google.options({auth: authClient});
         *
         *   // Do the magic
         *   const res =
         *     await searchads360.customers.customerLifecycleGoal.configureCustomerLifecycleGoals(
         *       {
         *         // Required. The ID of the customer performing the upload.
         *         customerId: '[^/]+',
         *
         *         // Request body metadata
         *         requestBody: {
         *           // request body parameters
         *           // {
         *           //   "operation": {},
         *           //   "validateOnly": false
         *           // }
         *         },
         *       },
         *     );
         *   console.log(res.data);
         *
         *   // Example response
         *   // {
         *   //   "result": {}
         *   // }
         * }
         *
         * main().catch(e => {
         *   console.error(e);
         *   throw e;
         * });
         *
         * ```
         *
         * @param params - Parameters for request
         * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
         * @param callback - Optional callback that handles the response.
         * @returns A promise if used with async/await, or void if used with a callback.
         */
        configureCustomerLifecycleGoals(params: Params$Resource$Customers$Customerlifecyclegoal$Configurecustomerlifecyclegoals, options: StreamMethodOptions): Promise<GaxiosResponseWithHTTP2<Readable>>;
        configureCustomerLifecycleGoals(params?: Params$Resource$Customers$Customerlifecyclegoal$Configurecustomerlifecyclegoals, options?: MethodOptions): Promise<GaxiosResponseWithHTTP2<Schema$GoogleAdsSearchads360V23Services__ConfigureCustomerLifecycleGoalsResponse>>;
        configureCustomerLifecycleGoals(params: Params$Resource$Customers$Customerlifecyclegoal$Configurecustomerlifecyclegoals, options: StreamMethodOptions | BodyResponseCallback<Readable>, callback: BodyResponseCallback<Readable>): void;
        configureCustomerLifecycleGoals(params: Params$Resource$Customers$Customerlifecyclegoal$Configurecustomerlifecyclegoals, options: MethodOptions | BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__ConfigureCustomerLifecycleGoalsResponse>, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__ConfigureCustomerLifecycleGoalsResponse>): void;
        configureCustomerLifecycleGoals(params: Params$Resource$Customers$Customerlifecyclegoal$Configurecustomerlifecyclegoals, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__ConfigureCustomerLifecycleGoalsResponse>): void;
        configureCustomerLifecycleGoals(callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__ConfigureCustomerLifecycleGoalsResponse>): void;
    }
    export interface Params$Resource$Customers$Customerlifecyclegoal$Configurecustomerlifecyclegoals extends StandardParameters {
        /**
         * Required. The ID of the customer performing the upload.
         */
        customerId?: string;
        /**
         * Request body metadata
         */
        requestBody?: Schema$GoogleAdsSearchads360V23Services__ConfigureCustomerLifecycleGoalsRequest;
    }
    export class Resource$Customers$Customermanagerlinks {
        context: APIRequestContext;
        constructor(context: APIRequestContext);
        /**
         * Moves a client customer to a new manager customer. This simplifies the complex request that requires two operations to move a client customer to a new manager, for example: 1. Update operation with Status INACTIVE (previous manager) and, 2. Update operation with Status ACTIVE (new manager). List of thrown errors: [AuthenticationError]() [AuthorizationError]() [DatabaseError]() [FieldError]() [HeaderError]() [InternalError]() [MutateError]() [QuotaError]() [RequestError]()
         * @example
         * ```js
         * // Before running the sample:
         * // - Enable the API at:
         * //   https://console.developers.google.com/apis/api/searchads360.googleapis.com
         * // - Login into gcloud by running:
         * //   ```sh
         * //   $ gcloud auth application-default login
         * //   ```
         * // - Install the npm module by running:
         * //   ```sh
         * //   $ npm install googleapis
         * //   ```
         *
         * const {google} = require('googleapis');
         * const searchads360 = google.searchads360('v23');
         *
         * async function main() {
         *   const auth = new google.auth.GoogleAuth({
         *     // Scopes can be specified either as an array or as a single, space-delimited string.
         *     scopes: ['https://www.googleapis.com/auth/doubleclicksearch'],
         *   });
         *
         *   // Acquire an auth client, and bind it to all future calls
         *   const authClient = await auth.getClient();
         *   google.options({auth: authClient});
         *
         *   // Do the magic
         *   const res = await searchads360.customers.customerManagerLinks.moveManagerLink(
         *     {
         *       // Required. The ID of the client customer that is being moved.
         *       customerId: '[^/]+',
         *
         *       // Request body metadata
         *       requestBody: {
         *         // request body parameters
         *         // {
         *         //   "newManager": "my_newManager",
         *         //   "previousCustomerManagerLink": "my_previousCustomerManagerLink",
         *         //   "validateOnly": false
         *         // }
         *       },
         *     },
         *   );
         *   console.log(res.data);
         *
         *   // Example response
         *   // {
         *   //   "resourceName": "my_resourceName"
         *   // }
         * }
         *
         * main().catch(e => {
         *   console.error(e);
         *   throw e;
         * });
         *
         * ```
         *
         * @param params - Parameters for request
         * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
         * @param callback - Optional callback that handles the response.
         * @returns A promise if used with async/await, or void if used with a callback.
         */
        moveManagerLink(params: Params$Resource$Customers$Customermanagerlinks$Movemanagerlink, options: StreamMethodOptions): Promise<GaxiosResponseWithHTTP2<Readable>>;
        moveManagerLink(params?: Params$Resource$Customers$Customermanagerlinks$Movemanagerlink, options?: MethodOptions): Promise<GaxiosResponseWithHTTP2<Schema$GoogleAdsSearchads360V23Services__MoveManagerLinkResponse>>;
        moveManagerLink(params: Params$Resource$Customers$Customermanagerlinks$Movemanagerlink, options: StreamMethodOptions | BodyResponseCallback<Readable>, callback: BodyResponseCallback<Readable>): void;
        moveManagerLink(params: Params$Resource$Customers$Customermanagerlinks$Movemanagerlink, options: MethodOptions | BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MoveManagerLinkResponse>, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MoveManagerLinkResponse>): void;
        moveManagerLink(params: Params$Resource$Customers$Customermanagerlinks$Movemanagerlink, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MoveManagerLinkResponse>): void;
        moveManagerLink(callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MoveManagerLinkResponse>): void;
        /**
         * Updates customer manager links. Operation statuses are returned. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [DatabaseError]() [FieldError]() [FieldMaskError]() [HeaderError]() [InternalError]() [ManagerLinkError]() [MutateError]() [QuotaError]() [RequestError]()
         * @example
         * ```js
         * // Before running the sample:
         * // - Enable the API at:
         * //   https://console.developers.google.com/apis/api/searchads360.googleapis.com
         * // - Login into gcloud by running:
         * //   ```sh
         * //   $ gcloud auth application-default login
         * //   ```
         * // - Install the npm module by running:
         * //   ```sh
         * //   $ npm install googleapis
         * //   ```
         *
         * const {google} = require('googleapis');
         * const searchads360 = google.searchads360('v23');
         *
         * async function main() {
         *   const auth = new google.auth.GoogleAuth({
         *     // Scopes can be specified either as an array or as a single, space-delimited string.
         *     scopes: ['https://www.googleapis.com/auth/doubleclicksearch'],
         *   });
         *
         *   // Acquire an auth client, and bind it to all future calls
         *   const authClient = await auth.getClient();
         *   google.options({auth: authClient});
         *
         *   // Do the magic
         *   const res = await searchads360.customers.customerManagerLinks.mutate({
         *     // Required. The ID of the customer whose customer manager links are being modified.
         *     customerId: '[^/]+',
         *
         *     // Request body metadata
         *     requestBody: {
         *       // request body parameters
         *       // {
         *       //   "operations": [],
         *       //   "validateOnly": false
         *       // }
         *     },
         *   });
         *   console.log(res.data);
         *
         *   // Example response
         *   // {
         *   //   "results": []
         *   // }
         * }
         *
         * main().catch(e => {
         *   console.error(e);
         *   throw e;
         * });
         *
         * ```
         *
         * @param params - Parameters for request
         * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
         * @param callback - Optional callback that handles the response.
         * @returns A promise if used with async/await, or void if used with a callback.
         */
        mutate(params: Params$Resource$Customers$Customermanagerlinks$Mutate, options: StreamMethodOptions): Promise<GaxiosResponseWithHTTP2<Readable>>;
        mutate(params?: Params$Resource$Customers$Customermanagerlinks$Mutate, options?: MethodOptions): Promise<GaxiosResponseWithHTTP2<Schema$GoogleAdsSearchads360V23Services__MutateCustomerManagerLinkResponse>>;
        mutate(params: Params$Resource$Customers$Customermanagerlinks$Mutate, options: StreamMethodOptions | BodyResponseCallback<Readable>, callback: BodyResponseCallback<Readable>): void;
        mutate(params: Params$Resource$Customers$Customermanagerlinks$Mutate, options: MethodOptions | BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateCustomerManagerLinkResponse>, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateCustomerManagerLinkResponse>): void;
        mutate(params: Params$Resource$Customers$Customermanagerlinks$Mutate, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateCustomerManagerLinkResponse>): void;
        mutate(callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateCustomerManagerLinkResponse>): void;
    }
    export interface Params$Resource$Customers$Customermanagerlinks$Movemanagerlink extends StandardParameters {
        /**
         * Required. The ID of the client customer that is being moved.
         */
        customerId?: string;
        /**
         * Request body metadata
         */
        requestBody?: Schema$GoogleAdsSearchads360V23Services__MoveManagerLinkRequest;
    }
    export interface Params$Resource$Customers$Customermanagerlinks$Mutate extends StandardParameters {
        /**
         * Required. The ID of the customer whose customer manager links are being modified.
         */
        customerId?: string;
        /**
         * Request body metadata
         */
        requestBody?: Schema$GoogleAdsSearchads360V23Services__MutateCustomerManagerLinkRequest;
    }
    export class Resource$Customers$Customernegativecriteria {
        context: APIRequestContext;
        constructor(context: APIRequestContext);
        /**
         * Creates or removes criteria. Operation statuses are returned. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [CriterionError]() [DatabaseError]() [FieldError]() [HeaderError]() [InternalError]() [MutateError]() [QuotaError]() [RequestError]()
         * @example
         * ```js
         * // Before running the sample:
         * // - Enable the API at:
         * //   https://console.developers.google.com/apis/api/searchads360.googleapis.com
         * // - Login into gcloud by running:
         * //   ```sh
         * //   $ gcloud auth application-default login
         * //   ```
         * // - Install the npm module by running:
         * //   ```sh
         * //   $ npm install googleapis
         * //   ```
         *
         * const {google} = require('googleapis');
         * const searchads360 = google.searchads360('v23');
         *
         * async function main() {
         *   const auth = new google.auth.GoogleAuth({
         *     // Scopes can be specified either as an array or as a single, space-delimited string.
         *     scopes: ['https://www.googleapis.com/auth/doubleclicksearch'],
         *   });
         *
         *   // Acquire an auth client, and bind it to all future calls
         *   const authClient = await auth.getClient();
         *   google.options({auth: authClient});
         *
         *   // Do the magic
         *   const res = await searchads360.customers.customerNegativeCriteria.mutate({
         *     // Required. The ID of the customer whose criteria are being modified.
         *     customerId: '[^/]+',
         *
         *     // Request body metadata
         *     requestBody: {
         *       // request body parameters
         *       // {
         *       //   "operations": [],
         *       //   "partialFailure": false,
         *       //   "responseContentType": "my_responseContentType",
         *       //   "validateOnly": false
         *       // }
         *     },
         *   });
         *   console.log(res.data);
         *
         *   // Example response
         *   // {
         *   //   "partialFailureError": {},
         *   //   "results": []
         *   // }
         * }
         *
         * main().catch(e => {
         *   console.error(e);
         *   throw e;
         * });
         *
         * ```
         *
         * @param params - Parameters for request
         * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
         * @param callback - Optional callback that handles the response.
         * @returns A promise if used with async/await, or void if used with a callback.
         */
        mutate(params: Params$Resource$Customers$Customernegativecriteria$Mutate, options: StreamMethodOptions): Promise<GaxiosResponseWithHTTP2<Readable>>;
        mutate(params?: Params$Resource$Customers$Customernegativecriteria$Mutate, options?: MethodOptions): Promise<GaxiosResponseWithHTTP2<Schema$GoogleAdsSearchads360V23Services__MutateCustomerNegativeCriteriaResponse>>;
        mutate(params: Params$Resource$Customers$Customernegativecriteria$Mutate, options: StreamMethodOptions | BodyResponseCallback<Readable>, callback: BodyResponseCallback<Readable>): void;
        mutate(params: Params$Resource$Customers$Customernegativecriteria$Mutate, options: MethodOptions | BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateCustomerNegativeCriteriaResponse>, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateCustomerNegativeCriteriaResponse>): void;
        mutate(params: Params$Resource$Customers$Customernegativecriteria$Mutate, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateCustomerNegativeCriteriaResponse>): void;
        mutate(callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateCustomerNegativeCriteriaResponse>): void;
    }
    export interface Params$Resource$Customers$Customernegativecriteria$Mutate extends StandardParameters {
        /**
         * Required. The ID of the customer whose criteria are being modified.
         */
        customerId?: string;
        /**
         * Request body metadata
         */
        requestBody?: Schema$GoogleAdsSearchads360V23Services__MutateCustomerNegativeCriteriaRequest;
    }
    export class Resource$Customers$Customerskadnetworkconversionvalueschemas {
        context: APIRequestContext;
        constructor(context: APIRequestContext);
        /**
         * Creates or updates the CustomerSkAdNetworkConversionValueSchema. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [FieldError]() [InternalError]() [MutateError]()
         * @example
         * ```js
         * // Before running the sample:
         * // - Enable the API at:
         * //   https://console.developers.google.com/apis/api/searchads360.googleapis.com
         * // - Login into gcloud by running:
         * //   ```sh
         * //   $ gcloud auth application-default login
         * //   ```
         * // - Install the npm module by running:
         * //   ```sh
         * //   $ npm install googleapis
         * //   ```
         *
         * const {google} = require('googleapis');
         * const searchads360 = google.searchads360('v23');
         *
         * async function main() {
         *   const auth = new google.auth.GoogleAuth({
         *     // Scopes can be specified either as an array or as a single, space-delimited string.
         *     scopes: ['https://www.googleapis.com/auth/doubleclicksearch'],
         *   });
         *
         *   // Acquire an auth client, and bind it to all future calls
         *   const authClient = await auth.getClient();
         *   google.options({auth: authClient});
         *
         *   // Do the magic
         *   const res =
         *     await searchads360.customers.customerSkAdNetworkConversionValueSchemas.mutate(
         *       {
         *         // The ID of the customer whose shared sets are being modified.
         *         customerId: '[^/]+',
         *
         *         // Request body metadata
         *         requestBody: {
         *           // request body parameters
         *           // {
         *           //   "enableWarnings": false,
         *           //   "operation": {},
         *           //   "validateOnly": false
         *           // }
         *         },
         *       },
         *     );
         *   console.log(res.data);
         *
         *   // Example response
         *   // {
         *   //   "result": {},
         *   //   "warning": {}
         *   // }
         * }
         *
         * main().catch(e => {
         *   console.error(e);
         *   throw e;
         * });
         *
         * ```
         *
         * @param params - Parameters for request
         * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
         * @param callback - Optional callback that handles the response.
         * @returns A promise if used with async/await, or void if used with a callback.
         */
        mutate(params: Params$Resource$Customers$Customerskadnetworkconversionvalueschemas$Mutate, options: StreamMethodOptions): Promise<GaxiosResponseWithHTTP2<Readable>>;
        mutate(params?: Params$Resource$Customers$Customerskadnetworkconversionvalueschemas$Mutate, options?: MethodOptions): Promise<GaxiosResponseWithHTTP2<Schema$GoogleAdsSearchads360V23Services__MutateCustomerSkAdNetworkConversionValueSchemaResponse>>;
        mutate(params: Params$Resource$Customers$Customerskadnetworkconversionvalueschemas$Mutate, options: StreamMethodOptions | BodyResponseCallback<Readable>, callback: BodyResponseCallback<Readable>): void;
        mutate(params: Params$Resource$Customers$Customerskadnetworkconversionvalueschemas$Mutate, options: MethodOptions | BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateCustomerSkAdNetworkConversionValueSchemaResponse>, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateCustomerSkAdNetworkConversionValueSchemaResponse>): void;
        mutate(params: Params$Resource$Customers$Customerskadnetworkconversionvalueschemas$Mutate, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateCustomerSkAdNetworkConversionValueSchemaResponse>): void;
        mutate(callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateCustomerSkAdNetworkConversionValueSchemaResponse>): void;
    }
    export interface Params$Resource$Customers$Customerskadnetworkconversionvalueschemas$Mutate extends StandardParameters {
        /**
         * The ID of the customer whose shared sets are being modified.
         */
        customerId?: string;
        /**
         * Request body metadata
         */
        requestBody?: Schema$GoogleAdsSearchads360V23Services__MutateCustomerSkAdNetworkConversionValueSchemaRequest;
    }
    export class Resource$Customers$Customeruseraccesses {
        context: APIRequestContext;
        constructor(context: APIRequestContext);
        /**
         * Updates, removes permission of a user on a given customer. Operation statuses are returned. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [CustomerUserAccessError]() [FieldMaskError]() [HeaderError]() [InternalError]() [MutateError]() [QuotaError]() [RequestError]()
         * @example
         * ```js
         * // Before running the sample:
         * // - Enable the API at:
         * //   https://console.developers.google.com/apis/api/searchads360.googleapis.com
         * // - Login into gcloud by running:
         * //   ```sh
         * //   $ gcloud auth application-default login
         * //   ```
         * // - Install the npm module by running:
         * //   ```sh
         * //   $ npm install googleapis
         * //   ```
         *
         * const {google} = require('googleapis');
         * const searchads360 = google.searchads360('v23');
         *
         * async function main() {
         *   const auth = new google.auth.GoogleAuth({
         *     // Scopes can be specified either as an array or as a single, space-delimited string.
         *     scopes: ['https://www.googleapis.com/auth/doubleclicksearch'],
         *   });
         *
         *   // Acquire an auth client, and bind it to all future calls
         *   const authClient = await auth.getClient();
         *   google.options({auth: authClient});
         *
         *   // Do the magic
         *   const res = await searchads360.customers.customerUserAccesses.mutate({
         *     // Required. The ID of the customer being modified.
         *     customerId: '[^/]+',
         *
         *     // Request body metadata
         *     requestBody: {
         *       // request body parameters
         *       // {
         *       //   "operation": {}
         *       // }
         *     },
         *   });
         *   console.log(res.data);
         *
         *   // Example response
         *   // {
         *   //   "result": {}
         *   // }
         * }
         *
         * main().catch(e => {
         *   console.error(e);
         *   throw e;
         * });
         *
         * ```
         *
         * @param params - Parameters for request
         * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
         * @param callback - Optional callback that handles the response.
         * @returns A promise if used with async/await, or void if used with a callback.
         */
        mutate(params: Params$Resource$Customers$Customeruseraccesses$Mutate, options: StreamMethodOptions): Promise<GaxiosResponseWithHTTP2<Readable>>;
        mutate(params?: Params$Resource$Customers$Customeruseraccesses$Mutate, options?: MethodOptions): Promise<GaxiosResponseWithHTTP2<Schema$GoogleAdsSearchads360V23Services__MutateCustomerUserAccessResponse>>;
        mutate(params: Params$Resource$Customers$Customeruseraccesses$Mutate, options: StreamMethodOptions | BodyResponseCallback<Readable>, callback: BodyResponseCallback<Readable>): void;
        mutate(params: Params$Resource$Customers$Customeruseraccesses$Mutate, options: MethodOptions | BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateCustomerUserAccessResponse>, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateCustomerUserAccessResponse>): void;
        mutate(params: Params$Resource$Customers$Customeruseraccesses$Mutate, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateCustomerUserAccessResponse>): void;
        mutate(callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateCustomerUserAccessResponse>): void;
    }
    export interface Params$Resource$Customers$Customeruseraccesses$Mutate extends StandardParameters {
        /**
         * Required. The ID of the customer being modified.
         */
        customerId?: string;
        /**
         * Request body metadata
         */
        requestBody?: Schema$GoogleAdsSearchads360V23Services__MutateCustomerUserAccessRequest;
    }
    export class Resource$Customers$Customeruseraccessinvitations {
        context: APIRequestContext;
        constructor(context: APIRequestContext);
        /**
         * Creates or removes an access invitation. List of thrown errors: [AccessInvitationError]() [AuthenticationError]() [AuthorizationError]() [HeaderError]() [InternalError]() [QuotaError]() [RequestError]()
         * @example
         * ```js
         * // Before running the sample:
         * // - Enable the API at:
         * //   https://console.developers.google.com/apis/api/searchads360.googleapis.com
         * // - Login into gcloud by running:
         * //   ```sh
         * //   $ gcloud auth application-default login
         * //   ```
         * // - Install the npm module by running:
         * //   ```sh
         * //   $ npm install googleapis
         * //   ```
         *
         * const {google} = require('googleapis');
         * const searchads360 = google.searchads360('v23');
         *
         * async function main() {
         *   const auth = new google.auth.GoogleAuth({
         *     // Scopes can be specified either as an array or as a single, space-delimited string.
         *     scopes: ['https://www.googleapis.com/auth/doubleclicksearch'],
         *   });
         *
         *   // Acquire an auth client, and bind it to all future calls
         *   const authClient = await auth.getClient();
         *   google.options({auth: authClient});
         *
         *   // Do the magic
         *   const res = await searchads360.customers.customerUserAccessInvitations.mutate(
         *     {
         *       // Required. The ID of the customer whose access invitation is being modified.
         *       customerId: '[^/]+',
         *
         *       // Request body metadata
         *       requestBody: {
         *         // request body parameters
         *         // {
         *         //   "operation": {}
         *         // }
         *       },
         *     },
         *   );
         *   console.log(res.data);
         *
         *   // Example response
         *   // {
         *   //   "result": {}
         *   // }
         * }
         *
         * main().catch(e => {
         *   console.error(e);
         *   throw e;
         * });
         *
         * ```
         *
         * @param params - Parameters for request
         * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
         * @param callback - Optional callback that handles the response.
         * @returns A promise if used with async/await, or void if used with a callback.
         */
        mutate(params: Params$Resource$Customers$Customeruseraccessinvitations$Mutate, options: StreamMethodOptions): Promise<GaxiosResponseWithHTTP2<Readable>>;
        mutate(params?: Params$Resource$Customers$Customeruseraccessinvitations$Mutate, options?: MethodOptions): Promise<GaxiosResponseWithHTTP2<Schema$GoogleAdsSearchads360V23Services__MutateCustomerUserAccessInvitationResponse>>;
        mutate(params: Params$Resource$Customers$Customeruseraccessinvitations$Mutate, options: StreamMethodOptions | BodyResponseCallback<Readable>, callback: BodyResponseCallback<Readable>): void;
        mutate(params: Params$Resource$Customers$Customeruseraccessinvitations$Mutate, options: MethodOptions | BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateCustomerUserAccessInvitationResponse>, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateCustomerUserAccessInvitationResponse>): void;
        mutate(params: Params$Resource$Customers$Customeruseraccessinvitations$Mutate, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateCustomerUserAccessInvitationResponse>): void;
        mutate(callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateCustomerUserAccessInvitationResponse>): void;
    }
    export interface Params$Resource$Customers$Customeruseraccessinvitations$Mutate extends StandardParameters {
        /**
         * Required. The ID of the customer whose access invitation is being modified.
         */
        customerId?: string;
        /**
         * Request body metadata
         */
        requestBody?: Schema$GoogleAdsSearchads360V23Services__MutateCustomerUserAccessInvitationRequest;
    }
    export class Resource$Customers$Custominterests {
        context: APIRequestContext;
        constructor(context: APIRequestContext);
        /**
         * Creates or updates custom interests. Operation statuses are returned. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [CriterionError]() [CustomInterestError]() [HeaderError]() [InternalError]() [MutateError]() [PolicyViolationError]() [QuotaError]() [RequestError]() [StringLengthError]()
         * @example
         * ```js
         * // Before running the sample:
         * // - Enable the API at:
         * //   https://console.developers.google.com/apis/api/searchads360.googleapis.com
         * // - Login into gcloud by running:
         * //   ```sh
         * //   $ gcloud auth application-default login
         * //   ```
         * // - Install the npm module by running:
         * //   ```sh
         * //   $ npm install googleapis
         * //   ```
         *
         * const {google} = require('googleapis');
         * const searchads360 = google.searchads360('v23');
         *
         * async function main() {
         *   const auth = new google.auth.GoogleAuth({
         *     // Scopes can be specified either as an array or as a single, space-delimited string.
         *     scopes: ['https://www.googleapis.com/auth/doubleclicksearch'],
         *   });
         *
         *   // Acquire an auth client, and bind it to all future calls
         *   const authClient = await auth.getClient();
         *   google.options({auth: authClient});
         *
         *   // Do the magic
         *   const res = await searchads360.customers.customInterests.mutate({
         *     // Required. The ID of the customer whose custom interests are being modified.
         *     customerId: '[^/]+',
         *
         *     // Request body metadata
         *     requestBody: {
         *       // request body parameters
         *       // {
         *       //   "operations": [],
         *       //   "validateOnly": false
         *       // }
         *     },
         *   });
         *   console.log(res.data);
         *
         *   // Example response
         *   // {
         *   //   "results": []
         *   // }
         * }
         *
         * main().catch(e => {
         *   console.error(e);
         *   throw e;
         * });
         *
         * ```
         *
         * @param params - Parameters for request
         * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
         * @param callback - Optional callback that handles the response.
         * @returns A promise if used with async/await, or void if used with a callback.
         */
        mutate(params: Params$Resource$Customers$Custominterests$Mutate, options: StreamMethodOptions): Promise<GaxiosResponseWithHTTP2<Readable>>;
        mutate(params?: Params$Resource$Customers$Custominterests$Mutate, options?: MethodOptions): Promise<GaxiosResponseWithHTTP2<Schema$GoogleAdsSearchads360V23Services__MutateCustomInterestsResponse>>;
        mutate(params: Params$Resource$Customers$Custominterests$Mutate, options: StreamMethodOptions | BodyResponseCallback<Readable>, callback: BodyResponseCallback<Readable>): void;
        mutate(params: Params$Resource$Customers$Custominterests$Mutate, options: MethodOptions | BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateCustomInterestsResponse>, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateCustomInterestsResponse>): void;
        mutate(params: Params$Resource$Customers$Custominterests$Mutate, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateCustomInterestsResponse>): void;
        mutate(callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateCustomInterestsResponse>): void;
    }
    export interface Params$Resource$Customers$Custominterests$Mutate extends StandardParameters {
        /**
         * Required. The ID of the customer whose custom interests are being modified.
         */
        customerId?: string;
        /**
         * Request body metadata
         */
        requestBody?: Schema$GoogleAdsSearchads360V23Services__MutateCustomInterestsRequest;
    }
    export class Resource$Customers$Customizerattributes {
        context: APIRequestContext;
        constructor(context: APIRequestContext);
        /**
         * Creates, updates or removes customizer attributes. Operation statuses are returned.
         * @example
         * ```js
         * // Before running the sample:
         * // - Enable the API at:
         * //   https://console.developers.google.com/apis/api/searchads360.googleapis.com
         * // - Login into gcloud by running:
         * //   ```sh
         * //   $ gcloud auth application-default login
         * //   ```
         * // - Install the npm module by running:
         * //   ```sh
         * //   $ npm install googleapis
         * //   ```
         *
         * const {google} = require('googleapis');
         * const searchads360 = google.searchads360('v23');
         *
         * async function main() {
         *   const auth = new google.auth.GoogleAuth({
         *     // Scopes can be specified either as an array or as a single, space-delimited string.
         *     scopes: ['https://www.googleapis.com/auth/doubleclicksearch'],
         *   });
         *
         *   // Acquire an auth client, and bind it to all future calls
         *   const authClient = await auth.getClient();
         *   google.options({auth: authClient});
         *
         *   // Do the magic
         *   const res = await searchads360.customers.customizerAttributes.mutate({
         *     // Required. The ID of the customer whose customizer attributes are being modified.
         *     customerId: '[^/]+',
         *
         *     // Request body metadata
         *     requestBody: {
         *       // request body parameters
         *       // {
         *       //   "operations": [],
         *       //   "partialFailure": false,
         *       //   "responseContentType": "my_responseContentType",
         *       //   "validateOnly": false
         *       // }
         *     },
         *   });
         *   console.log(res.data);
         *
         *   // Example response
         *   // {
         *   //   "partialFailureError": {},
         *   //   "results": []
         *   // }
         * }
         *
         * main().catch(e => {
         *   console.error(e);
         *   throw e;
         * });
         *
         * ```
         *
         * @param params - Parameters for request
         * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
         * @param callback - Optional callback that handles the response.
         * @returns A promise if used with async/await, or void if used with a callback.
         */
        mutate(params: Params$Resource$Customers$Customizerattributes$Mutate, options: StreamMethodOptions): Promise<GaxiosResponseWithHTTP2<Readable>>;
        mutate(params?: Params$Resource$Customers$Customizerattributes$Mutate, options?: MethodOptions): Promise<GaxiosResponseWithHTTP2<Schema$GoogleAdsSearchads360V23Services__MutateCustomizerAttributesResponse>>;
        mutate(params: Params$Resource$Customers$Customizerattributes$Mutate, options: StreamMethodOptions | BodyResponseCallback<Readable>, callback: BodyResponseCallback<Readable>): void;
        mutate(params: Params$Resource$Customers$Customizerattributes$Mutate, options: MethodOptions | BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateCustomizerAttributesResponse>, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateCustomizerAttributesResponse>): void;
        mutate(params: Params$Resource$Customers$Customizerattributes$Mutate, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateCustomizerAttributesResponse>): void;
        mutate(callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateCustomizerAttributesResponse>): void;
    }
    export interface Params$Resource$Customers$Customizerattributes$Mutate extends StandardParameters {
        /**
         * Required. The ID of the customer whose customizer attributes are being modified.
         */
        customerId?: string;
        /**
         * Request body metadata
         */
        requestBody?: Schema$GoogleAdsSearchads360V23Services__MutateCustomizerAttributesRequest;
    }
    export class Resource$Customers$Datalinks {
        context: APIRequestContext;
        constructor(context: APIRequestContext);
        /**
         * Creates a data link. The requesting Google Ads account name and account ID will be shared with the third party (such as YouTube creators for video links) to whom you are creating the link with. Only customers on the allow-list can create data links. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [DatabaseError]() [DataLinkError]() [FieldError]() [HeaderError]() [InternalError]() [MutateError]() [QuotaError]() [RequestError]()
         * @example
         * ```js
         * // Before running the sample:
         * // - Enable the API at:
         * //   https://console.developers.google.com/apis/api/searchads360.googleapis.com
         * // - Login into gcloud by running:
         * //   ```sh
         * //   $ gcloud auth application-default login
         * //   ```
         * // - Install the npm module by running:
         * //   ```sh
         * //   $ npm install googleapis
         * //   ```
         *
         * const {google} = require('googleapis');
         * const searchads360 = google.searchads360('v23');
         *
         * async function main() {
         *   const auth = new google.auth.GoogleAuth({
         *     // Scopes can be specified either as an array or as a single, space-delimited string.
         *     scopes: ['https://www.googleapis.com/auth/doubleclicksearch'],
         *   });
         *
         *   // Acquire an auth client, and bind it to all future calls
         *   const authClient = await auth.getClient();
         *   google.options({auth: authClient});
         *
         *   // Do the magic
         *   const res = await searchads360.customers.dataLinks.create({
         *     // Required. The ID of the customer for which the data link is created.
         *     customerId: '[^/]+',
         *
         *     // Request body metadata
         *     requestBody: {
         *       // request body parameters
         *       // {
         *       //   "dataLink": {}
         *       // }
         *     },
         *   });
         *   console.log(res.data);
         *
         *   // Example response
         *   // {
         *   //   "resourceName": "my_resourceName"
         *   // }
         * }
         *
         * main().catch(e => {
         *   console.error(e);
         *   throw e;
         * });
         *
         * ```
         *
         * @param params - Parameters for request
         * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
         * @param callback - Optional callback that handles the response.
         * @returns A promise if used with async/await, or void if used with a callback.
         */
        create(params: Params$Resource$Customers$Datalinks$Create, options: StreamMethodOptions): Promise<GaxiosResponseWithHTTP2<Readable>>;
        create(params?: Params$Resource$Customers$Datalinks$Create, options?: MethodOptions): Promise<GaxiosResponseWithHTTP2<Schema$GoogleAdsSearchads360V23Services__CreateDataLinkResponse>>;
        create(params: Params$Resource$Customers$Datalinks$Create, options: StreamMethodOptions | BodyResponseCallback<Readable>, callback: BodyResponseCallback<Readable>): void;
        create(params: Params$Resource$Customers$Datalinks$Create, options: MethodOptions | BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__CreateDataLinkResponse>, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__CreateDataLinkResponse>): void;
        create(params: Params$Resource$Customers$Datalinks$Create, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__CreateDataLinkResponse>): void;
        create(callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__CreateDataLinkResponse>): void;
        /**
         * Remove a data link. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [DatabaseError]() [DataLinkError]() [FieldError]() [HeaderError]() [InternalError]() [MutateError]() [QuotaError]() [RequestError]()
         * @example
         * ```js
         * // Before running the sample:
         * // - Enable the API at:
         * //   https://console.developers.google.com/apis/api/searchads360.googleapis.com
         * // - Login into gcloud by running:
         * //   ```sh
         * //   $ gcloud auth application-default login
         * //   ```
         * // - Install the npm module by running:
         * //   ```sh
         * //   $ npm install googleapis
         * //   ```
         *
         * const {google} = require('googleapis');
         * const searchads360 = google.searchads360('v23');
         *
         * async function main() {
         *   const auth = new google.auth.GoogleAuth({
         *     // Scopes can be specified either as an array or as a single, space-delimited string.
         *     scopes: ['https://www.googleapis.com/auth/doubleclicksearch'],
         *   });
         *
         *   // Acquire an auth client, and bind it to all future calls
         *   const authClient = await auth.getClient();
         *   google.options({auth: authClient});
         *
         *   // Do the magic
         *   const res = await searchads360.customers.dataLinks.remove({
         *     // Required. The ID of the customer for which the data link is updated.
         *     customerId: '[^/]+',
         *
         *     // Request body metadata
         *     requestBody: {
         *       // request body parameters
         *       // {
         *       //   "resourceName": "my_resourceName"
         *       // }
         *     },
         *   });
         *   console.log(res.data);
         *
         *   // Example response
         *   // {
         *   //   "resourceName": "my_resourceName"
         *   // }
         * }
         *
         * main().catch(e => {
         *   console.error(e);
         *   throw e;
         * });
         *
         * ```
         *
         * @param params - Parameters for request
         * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
         * @param callback - Optional callback that handles the response.
         * @returns A promise if used with async/await, or void if used with a callback.
         */
        remove(params: Params$Resource$Customers$Datalinks$Remove, options: StreamMethodOptions): Promise<GaxiosResponseWithHTTP2<Readable>>;
        remove(params?: Params$Resource$Customers$Datalinks$Remove, options?: MethodOptions): Promise<GaxiosResponseWithHTTP2<Schema$GoogleAdsSearchads360V23Services__RemoveDataLinkResponse>>;
        remove(params: Params$Resource$Customers$Datalinks$Remove, options: StreamMethodOptions | BodyResponseCallback<Readable>, callback: BodyResponseCallback<Readable>): void;
        remove(params: Params$Resource$Customers$Datalinks$Remove, options: MethodOptions | BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__RemoveDataLinkResponse>, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__RemoveDataLinkResponse>): void;
        remove(params: Params$Resource$Customers$Datalinks$Remove, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__RemoveDataLinkResponse>): void;
        remove(callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__RemoveDataLinkResponse>): void;
        /**
         * Update a data link. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [DatabaseError]() [DataLinkError]() [FieldError]() [HeaderError]() [InternalError]() [MutateError]() [QuotaError]() [RequestError]()
         * @example
         * ```js
         * // Before running the sample:
         * // - Enable the API at:
         * //   https://console.developers.google.com/apis/api/searchads360.googleapis.com
         * // - Login into gcloud by running:
         * //   ```sh
         * //   $ gcloud auth application-default login
         * //   ```
         * // - Install the npm module by running:
         * //   ```sh
         * //   $ npm install googleapis
         * //   ```
         *
         * const {google} = require('googleapis');
         * const searchads360 = google.searchads360('v23');
         *
         * async function main() {
         *   const auth = new google.auth.GoogleAuth({
         *     // Scopes can be specified either as an array or as a single, space-delimited string.
         *     scopes: ['https://www.googleapis.com/auth/doubleclicksearch'],
         *   });
         *
         *   // Acquire an auth client, and bind it to all future calls
         *   const authClient = await auth.getClient();
         *   google.options({auth: authClient});
         *
         *   // Do the magic
         *   const res = await searchads360.customers.dataLinks.update({
         *     // Required. The ID of the customer for which the data link is created.
         *     customerId: '[^/]+',
         *
         *     // Request body metadata
         *     requestBody: {
         *       // request body parameters
         *       // {
         *       //   "dataLinkStatus": "my_dataLinkStatus",
         *       //   "resourceName": "my_resourceName"
         *       // }
         *     },
         *   });
         *   console.log(res.data);
         *
         *   // Example response
         *   // {
         *   //   "resourceName": "my_resourceName"
         *   // }
         * }
         *
         * main().catch(e => {
         *   console.error(e);
         *   throw e;
         * });
         *
         * ```
         *
         * @param params - Parameters for request
         * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
         * @param callback - Optional callback that handles the response.
         * @returns A promise if used with async/await, or void if used with a callback.
         */
        update(params: Params$Resource$Customers$Datalinks$Update, options: StreamMethodOptions): Promise<GaxiosResponseWithHTTP2<Readable>>;
        update(params?: Params$Resource$Customers$Datalinks$Update, options?: MethodOptions): Promise<GaxiosResponseWithHTTP2<Schema$GoogleAdsSearchads360V23Services__UpdateDataLinkResponse>>;
        update(params: Params$Resource$Customers$Datalinks$Update, options: StreamMethodOptions | BodyResponseCallback<Readable>, callback: BodyResponseCallback<Readable>): void;
        update(params: Params$Resource$Customers$Datalinks$Update, options: MethodOptions | BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__UpdateDataLinkResponse>, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__UpdateDataLinkResponse>): void;
        update(params: Params$Resource$Customers$Datalinks$Update, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__UpdateDataLinkResponse>): void;
        update(callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__UpdateDataLinkResponse>): void;
    }
    export interface Params$Resource$Customers$Datalinks$Create extends StandardParameters {
        /**
         * Required. The ID of the customer for which the data link is created.
         */
        customerId?: string;
        /**
         * Request body metadata
         */
        requestBody?: Schema$GoogleAdsSearchads360V23Services__CreateDataLinkRequest;
    }
    export interface Params$Resource$Customers$Datalinks$Remove extends StandardParameters {
        /**
         * Required. The ID of the customer for which the data link is updated.
         */
        customerId?: string;
        /**
         * Request body metadata
         */
        requestBody?: Schema$GoogleAdsSearchads360V23Services__RemoveDataLinkRequest;
    }
    export interface Params$Resource$Customers$Datalinks$Update extends StandardParameters {
        /**
         * Required. The ID of the customer for which the data link is created.
         */
        customerId?: string;
        /**
         * Request body metadata
         */
        requestBody?: Schema$GoogleAdsSearchads360V23Services__UpdateDataLinkRequest;
    }
    export class Resource$Customers$Experimentarms {
        context: APIRequestContext;
        constructor(context: APIRequestContext);
        /**
         * Creates, updates, or removes experiment arms. Operation statuses are returned. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [ExperimentArmError]() [HeaderError]() [InternalError]() [QuotaError]() [RequestError]()
         * @example
         * ```js
         * // Before running the sample:
         * // - Enable the API at:
         * //   https://console.developers.google.com/apis/api/searchads360.googleapis.com
         * // - Login into gcloud by running:
         * //   ```sh
         * //   $ gcloud auth application-default login
         * //   ```
         * // - Install the npm module by running:
         * //   ```sh
         * //   $ npm install googleapis
         * //   ```
         *
         * const {google} = require('googleapis');
         * const searchads360 = google.searchads360('v23');
         *
         * async function main() {
         *   const auth = new google.auth.GoogleAuth({
         *     // Scopes can be specified either as an array or as a single, space-delimited string.
         *     scopes: ['https://www.googleapis.com/auth/doubleclicksearch'],
         *   });
         *
         *   // Acquire an auth client, and bind it to all future calls
         *   const authClient = await auth.getClient();
         *   google.options({auth: authClient});
         *
         *   // Do the magic
         *   const res = await searchads360.customers.experimentArms.mutate({
         *     // Required. The ID of the customer whose experiments are being modified.
         *     customerId: '[^/]+',
         *
         *     // Request body metadata
         *     requestBody: {
         *       // request body parameters
         *       // {
         *       //   "operations": [],
         *       //   "partialFailure": false,
         *       //   "responseContentType": "my_responseContentType",
         *       //   "validateOnly": false
         *       // }
         *     },
         *   });
         *   console.log(res.data);
         *
         *   // Example response
         *   // {
         *   //   "partialFailureError": {},
         *   //   "results": []
         *   // }
         * }
         *
         * main().catch(e => {
         *   console.error(e);
         *   throw e;
         * });
         *
         * ```
         *
         * @param params - Parameters for request
         * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
         * @param callback - Optional callback that handles the response.
         * @returns A promise if used with async/await, or void if used with a callback.
         */
        mutate(params: Params$Resource$Customers$Experimentarms$Mutate, options: StreamMethodOptions): Promise<GaxiosResponseWithHTTP2<Readable>>;
        mutate(params?: Params$Resource$Customers$Experimentarms$Mutate, options?: MethodOptions): Promise<GaxiosResponseWithHTTP2<Schema$GoogleAdsSearchads360V23Services__MutateExperimentArmsResponse>>;
        mutate(params: Params$Resource$Customers$Experimentarms$Mutate, options: StreamMethodOptions | BodyResponseCallback<Readable>, callback: BodyResponseCallback<Readable>): void;
        mutate(params: Params$Resource$Customers$Experimentarms$Mutate, options: MethodOptions | BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateExperimentArmsResponse>, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateExperimentArmsResponse>): void;
        mutate(params: Params$Resource$Customers$Experimentarms$Mutate, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateExperimentArmsResponse>): void;
        mutate(callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateExperimentArmsResponse>): void;
    }
    export interface Params$Resource$Customers$Experimentarms$Mutate extends StandardParameters {
        /**
         * Required. The ID of the customer whose experiments are being modified.
         */
        customerId?: string;
        /**
         * Request body metadata
         */
        requestBody?: Schema$GoogleAdsSearchads360V23Services__MutateExperimentArmsRequest;
    }
    export class Resource$Customers$Experiments {
        context: APIRequestContext;
        constructor(context: APIRequestContext);
        /**
         * Immediately ends an experiment, changing the experiment's scheduled end date and without waiting for end of day. End date is updated to be the time of the request. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [ExperimentError]() [HeaderError]() [InternalError]() [QuotaError]() [RequestError]()
         * @example
         * ```js
         * // Before running the sample:
         * // - Enable the API at:
         * //   https://console.developers.google.com/apis/api/searchads360.googleapis.com
         * // - Login into gcloud by running:
         * //   ```sh
         * //   $ gcloud auth application-default login
         * //   ```
         * // - Install the npm module by running:
         * //   ```sh
         * //   $ npm install googleapis
         * //   ```
         *
         * const {google} = require('googleapis');
         * const searchads360 = google.searchads360('v23');
         *
         * async function main() {
         *   const auth = new google.auth.GoogleAuth({
         *     // Scopes can be specified either as an array or as a single, space-delimited string.
         *     scopes: ['https://www.googleapis.com/auth/doubleclicksearch'],
         *   });
         *
         *   // Acquire an auth client, and bind it to all future calls
         *   const authClient = await auth.getClient();
         *   google.options({auth: authClient});
         *
         *   // Do the magic
         *   const res = await searchads360.customers.experiments.endExperiment({
         *     // Required. The resource name of the campaign experiment to end.
         *     experiment: 'customers/my-customer/experiments/my-experiment',
         *
         *     // Request body metadata
         *     requestBody: {
         *       // request body parameters
         *       // {
         *       //   "validateOnly": false
         *       // }
         *     },
         *   });
         *   console.log(res.data);
         *
         *   // Example response
         *   // {}
         * }
         *
         * main().catch(e => {
         *   console.error(e);
         *   throw e;
         * });
         *
         * ```
         *
         * @param params - Parameters for request
         * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
         * @param callback - Optional callback that handles the response.
         * @returns A promise if used with async/await, or void if used with a callback.
         */
        endExperiment(params: Params$Resource$Customers$Experiments$Endexperiment, options: StreamMethodOptions): Promise<GaxiosResponseWithHTTP2<Readable>>;
        endExperiment(params?: Params$Resource$Customers$Experiments$Endexperiment, options?: MethodOptions): Promise<GaxiosResponseWithHTTP2<Schema$GoogleProtobuf__Empty>>;
        endExperiment(params: Params$Resource$Customers$Experiments$Endexperiment, options: StreamMethodOptions | BodyResponseCallback<Readable>, callback: BodyResponseCallback<Readable>): void;
        endExperiment(params: Params$Resource$Customers$Experiments$Endexperiment, options: MethodOptions | BodyResponseCallback<Schema$GoogleProtobuf__Empty>, callback: BodyResponseCallback<Schema$GoogleProtobuf__Empty>): void;
        endExperiment(params: Params$Resource$Customers$Experiments$Endexperiment, callback: BodyResponseCallback<Schema$GoogleProtobuf__Empty>): void;
        endExperiment(callback: BodyResponseCallback<Schema$GoogleProtobuf__Empty>): void;
        /**
         * Graduates an experiment to a full campaign. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [ExperimentError]() [HeaderError]() [InternalError]() [MutateError]() [QuotaError]() [RequestError]()
         * @example
         * ```js
         * // Before running the sample:
         * // - Enable the API at:
         * //   https://console.developers.google.com/apis/api/searchads360.googleapis.com
         * // - Login into gcloud by running:
         * //   ```sh
         * //   $ gcloud auth application-default login
         * //   ```
         * // - Install the npm module by running:
         * //   ```sh
         * //   $ npm install googleapis
         * //   ```
         *
         * const {google} = require('googleapis');
         * const searchads360 = google.searchads360('v23');
         *
         * async function main() {
         *   const auth = new google.auth.GoogleAuth({
         *     // Scopes can be specified either as an array or as a single, space-delimited string.
         *     scopes: ['https://www.googleapis.com/auth/doubleclicksearch'],
         *   });
         *
         *   // Acquire an auth client, and bind it to all future calls
         *   const authClient = await auth.getClient();
         *   google.options({auth: authClient});
         *
         *   // Do the magic
         *   const res = await searchads360.customers.experiments.graduateExperiment({
         *     // Required. The experiment to be graduated.
         *     experiment: 'customers/my-customer/experiments/my-experiment',
         *
         *     // Request body metadata
         *     requestBody: {
         *       // request body parameters
         *       // {
         *       //   "campaignBudgetMappings": [],
         *       //   "validateOnly": false
         *       // }
         *     },
         *   });
         *   console.log(res.data);
         *
         *   // Example response
         *   // {}
         * }
         *
         * main().catch(e => {
         *   console.error(e);
         *   throw e;
         * });
         *
         * ```
         *
         * @param params - Parameters for request
         * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
         * @param callback - Optional callback that handles the response.
         * @returns A promise if used with async/await, or void if used with a callback.
         */
        graduateExperiment(params: Params$Resource$Customers$Experiments$Graduateexperiment, options: StreamMethodOptions): Promise<GaxiosResponseWithHTTP2<Readable>>;
        graduateExperiment(params?: Params$Resource$Customers$Experiments$Graduateexperiment, options?: MethodOptions): Promise<GaxiosResponseWithHTTP2<Schema$GoogleProtobuf__Empty>>;
        graduateExperiment(params: Params$Resource$Customers$Experiments$Graduateexperiment, options: StreamMethodOptions | BodyResponseCallback<Readable>, callback: BodyResponseCallback<Readable>): void;
        graduateExperiment(params: Params$Resource$Customers$Experiments$Graduateexperiment, options: MethodOptions | BodyResponseCallback<Schema$GoogleProtobuf__Empty>, callback: BodyResponseCallback<Schema$GoogleProtobuf__Empty>): void;
        graduateExperiment(params: Params$Resource$Customers$Experiments$Graduateexperiment, callback: BodyResponseCallback<Schema$GoogleProtobuf__Empty>): void;
        graduateExperiment(callback: BodyResponseCallback<Schema$GoogleProtobuf__Empty>): void;
        /**
         * Returns all errors that occurred during the last Experiment update (either scheduling or promotion). Supports standard list paging. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [HeaderError]() [InternalError]() [QuotaError]() [RequestError]()
         * @example
         * ```js
         * // Before running the sample:
         * // - Enable the API at:
         * //   https://console.developers.google.com/apis/api/searchads360.googleapis.com
         * // - Login into gcloud by running:
         * //   ```sh
         * //   $ gcloud auth application-default login
         * //   ```
         * // - Install the npm module by running:
         * //   ```sh
         * //   $ npm install googleapis
         * //   ```
         *
         * const {google} = require('googleapis');
         * const searchads360 = google.searchads360('v23');
         *
         * async function main() {
         *   const auth = new google.auth.GoogleAuth({
         *     // Scopes can be specified either as an array or as a single, space-delimited string.
         *     scopes: ['https://www.googleapis.com/auth/doubleclicksearch'],
         *   });
         *
         *   // Acquire an auth client, and bind it to all future calls
         *   const authClient = await auth.getClient();
         *   google.options({auth: authClient});
         *
         *   // Do the magic
         *   const res =
         *     await searchads360.customers.experiments.listExperimentAsyncErrors({
         *       // Number of elements to retrieve in a single page. When a page request is too large, the server may decide to further limit the number of returned resources. The maximum page size is 1000.
         *       pageSize: 'placeholder-value',
         *       // Token of the page to retrieve. If not specified, the first page of results will be returned. Use the value obtained from `next_page_token` in the previous response in order to request the next page of results.
         *       pageToken: 'placeholder-value',
         *       // Required. The name of the experiment from which to retrieve the async errors.
         *       resourceName: 'customers/my-customer/experiments/my-experiment',
         *     });
         *   console.log(res.data);
         *
         *   // Example response
         *   // {
         *   //   "errors": [],
         *   //   "nextPageToken": "my_nextPageToken"
         *   // }
         * }
         *
         * main().catch(e => {
         *   console.error(e);
         *   throw e;
         * });
         *
         * ```
         *
         * @param params - Parameters for request
         * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
         * @param callback - Optional callback that handles the response.
         * @returns A promise if used with async/await, or void if used with a callback.
         */
        listExperimentAsyncErrors(params: Params$Resource$Customers$Experiments$Listexperimentasyncerrors, options: StreamMethodOptions): Promise<GaxiosResponseWithHTTP2<Readable>>;
        listExperimentAsyncErrors(params?: Params$Resource$Customers$Experiments$Listexperimentasyncerrors, options?: MethodOptions): Promise<GaxiosResponseWithHTTP2<Schema$GoogleAdsSearchads360V23Services__ListExperimentAsyncErrorsResponse>>;
        listExperimentAsyncErrors(params: Params$Resource$Customers$Experiments$Listexperimentasyncerrors, options: StreamMethodOptions | BodyResponseCallback<Readable>, callback: BodyResponseCallback<Readable>): void;
        listExperimentAsyncErrors(params: Params$Resource$Customers$Experiments$Listexperimentasyncerrors, options: MethodOptions | BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__ListExperimentAsyncErrorsResponse>, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__ListExperimentAsyncErrorsResponse>): void;
        listExperimentAsyncErrors(params: Params$Resource$Customers$Experiments$Listexperimentasyncerrors, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__ListExperimentAsyncErrorsResponse>): void;
        listExperimentAsyncErrors(callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__ListExperimentAsyncErrorsResponse>): void;
        /**
         * Creates, updates, or removes experiments. Operation statuses are returned. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [ExperimentError]() [HeaderError]() [InternalError]() [QuotaError]() [RequestError]()
         * @example
         * ```js
         * // Before running the sample:
         * // - Enable the API at:
         * //   https://console.developers.google.com/apis/api/searchads360.googleapis.com
         * // - Login into gcloud by running:
         * //   ```sh
         * //   $ gcloud auth application-default login
         * //   ```
         * // - Install the npm module by running:
         * //   ```sh
         * //   $ npm install googleapis
         * //   ```
         *
         * const {google} = require('googleapis');
         * const searchads360 = google.searchads360('v23');
         *
         * async function main() {
         *   const auth = new google.auth.GoogleAuth({
         *     // Scopes can be specified either as an array or as a single, space-delimited string.
         *     scopes: ['https://www.googleapis.com/auth/doubleclicksearch'],
         *   });
         *
         *   // Acquire an auth client, and bind it to all future calls
         *   const authClient = await auth.getClient();
         *   google.options({auth: authClient});
         *
         *   // Do the magic
         *   const res = await searchads360.customers.experiments.mutate({
         *     // Required. The ID of the customer whose experiments are being modified.
         *     customerId: '[^/]+',
         *
         *     // Request body metadata
         *     requestBody: {
         *       // request body parameters
         *       // {
         *       //   "operations": [],
         *       //   "partialFailure": false,
         *       //   "validateOnly": false
         *       // }
         *     },
         *   });
         *   console.log(res.data);
         *
         *   // Example response
         *   // {
         *   //   "partialFailureError": {},
         *   //   "results": []
         *   // }
         * }
         *
         * main().catch(e => {
         *   console.error(e);
         *   throw e;
         * });
         *
         * ```
         *
         * @param params - Parameters for request
         * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
         * @param callback - Optional callback that handles the response.
         * @returns A promise if used with async/await, or void if used with a callback.
         */
        mutate(params: Params$Resource$Customers$Experiments$Mutate, options: StreamMethodOptions): Promise<GaxiosResponseWithHTTP2<Readable>>;
        mutate(params?: Params$Resource$Customers$Experiments$Mutate, options?: MethodOptions): Promise<GaxiosResponseWithHTTP2<Schema$GoogleAdsSearchads360V23Services__MutateExperimentsResponse>>;
        mutate(params: Params$Resource$Customers$Experiments$Mutate, options: StreamMethodOptions | BodyResponseCallback<Readable>, callback: BodyResponseCallback<Readable>): void;
        mutate(params: Params$Resource$Customers$Experiments$Mutate, options: MethodOptions | BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateExperimentsResponse>, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateExperimentsResponse>): void;
        mutate(params: Params$Resource$Customers$Experiments$Mutate, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateExperimentsResponse>): void;
        mutate(callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateExperimentsResponse>): void;
        /**
         * Promotes the trial campaign thus applying changes in the trial campaign to the base campaign. This method returns a long running operation that tracks the promotion of the experiment campaign. If it fails, a list of errors can be retrieved using the ListExperimentAsyncErrors method. The operation's metadata will be a string containing the resource name of the created experiment. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [ExperimentError]() [HeaderError]() [InternalError]() [QuotaError]() [RequestError]()
         * @example
         * ```js
         * // Before running the sample:
         * // - Enable the API at:
         * //   https://console.developers.google.com/apis/api/searchads360.googleapis.com
         * // - Login into gcloud by running:
         * //   ```sh
         * //   $ gcloud auth application-default login
         * //   ```
         * // - Install the npm module by running:
         * //   ```sh
         * //   $ npm install googleapis
         * //   ```
         *
         * const {google} = require('googleapis');
         * const searchads360 = google.searchads360('v23');
         *
         * async function main() {
         *   const auth = new google.auth.GoogleAuth({
         *     // Scopes can be specified either as an array or as a single, space-delimited string.
         *     scopes: ['https://www.googleapis.com/auth/doubleclicksearch'],
         *   });
         *
         *   // Acquire an auth client, and bind it to all future calls
         *   const authClient = await auth.getClient();
         *   google.options({auth: authClient});
         *
         *   // Do the magic
         *   const res = await searchads360.customers.experiments.promoteExperiment({
         *     // Required. The resource name of the experiment to promote.
         *     resourceName: 'customers/my-customer/experiments/my-experiment',
         *
         *     // Request body metadata
         *     requestBody: {
         *       // request body parameters
         *       // {
         *       //   "validateOnly": false
         *       // }
         *     },
         *   });
         *   console.log(res.data);
         *
         *   // Example response
         *   // {
         *   //   "done": false,
         *   //   "error": {},
         *   //   "metadata": {},
         *   //   "name": "my_name",
         *   //   "response": {}
         *   // }
         * }
         *
         * main().catch(e => {
         *   console.error(e);
         *   throw e;
         * });
         *
         * ```
         *
         * @param params - Parameters for request
         * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
         * @param callback - Optional callback that handles the response.
         * @returns A promise if used with async/await, or void if used with a callback.
         */
        promoteExperiment(params: Params$Resource$Customers$Experiments$Promoteexperiment, options: StreamMethodOptions): Promise<GaxiosResponseWithHTTP2<Readable>>;
        promoteExperiment(params?: Params$Resource$Customers$Experiments$Promoteexperiment, options?: MethodOptions): Promise<GaxiosResponseWithHTTP2<Schema$GoogleLongrunning__Operation>>;
        promoteExperiment(params: Params$Resource$Customers$Experiments$Promoteexperiment, options: StreamMethodOptions | BodyResponseCallback<Readable>, callback: BodyResponseCallback<Readable>): void;
        promoteExperiment(params: Params$Resource$Customers$Experiments$Promoteexperiment, options: MethodOptions | BodyResponseCallback<Schema$GoogleLongrunning__Operation>, callback: BodyResponseCallback<Schema$GoogleLongrunning__Operation>): void;
        promoteExperiment(params: Params$Resource$Customers$Experiments$Promoteexperiment, callback: BodyResponseCallback<Schema$GoogleLongrunning__Operation>): void;
        promoteExperiment(callback: BodyResponseCallback<Schema$GoogleLongrunning__Operation>): void;
        /**
         * Schedule an experiment. The in design campaign will be converted into a real campaign (called the experiment campaign) that will begin serving ads if successfully created. The experiment is scheduled immediately with status INITIALIZING. This method returns a long running operation that tracks the forking of the in design campaign. If the forking fails, a list of errors can be retrieved using the ListExperimentAsyncErrors method. The operation's metadata will be a string containing the resource name of the created experiment. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [ExperimentError]() [DatabaseError]() [DateError]() [DateRangeError]() [FieldError]() [HeaderError]() [InternalError]() [QuotaError]() [RangeError]() [RequestError]()
         * @example
         * ```js
         * // Before running the sample:
         * // - Enable the API at:
         * //   https://console.developers.google.com/apis/api/searchads360.googleapis.com
         * // - Login into gcloud by running:
         * //   ```sh
         * //   $ gcloud auth application-default login
         * //   ```
         * // - Install the npm module by running:
         * //   ```sh
         * //   $ npm install googleapis
         * //   ```
         *
         * const {google} = require('googleapis');
         * const searchads360 = google.searchads360('v23');
         *
         * async function main() {
         *   const auth = new google.auth.GoogleAuth({
         *     // Scopes can be specified either as an array or as a single, space-delimited string.
         *     scopes: ['https://www.googleapis.com/auth/doubleclicksearch'],
         *   });
         *
         *   // Acquire an auth client, and bind it to all future calls
         *   const authClient = await auth.getClient();
         *   google.options({auth: authClient});
         *
         *   // Do the magic
         *   const res = await searchads360.customers.experiments.scheduleExperiment({
         *     // Required. The scheduled experiment.
         *     resourceName: 'customers/my-customer/experiments/my-experiment',
         *
         *     // Request body metadata
         *     requestBody: {
         *       // request body parameters
         *       // {
         *       //   "validateOnly": false
         *       // }
         *     },
         *   });
         *   console.log(res.data);
         *
         *   // Example response
         *   // {
         *   //   "done": false,
         *   //   "error": {},
         *   //   "metadata": {},
         *   //   "name": "my_name",
         *   //   "response": {}
         *   // }
         * }
         *
         * main().catch(e => {
         *   console.error(e);
         *   throw e;
         * });
         *
         * ```
         *
         * @param params - Parameters for request
         * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
         * @param callback - Optional callback that handles the response.
         * @returns A promise if used with async/await, or void if used with a callback.
         */
        scheduleExperiment(params: Params$Resource$Customers$Experiments$Scheduleexperiment, options: StreamMethodOptions): Promise<GaxiosResponseWithHTTP2<Readable>>;
        scheduleExperiment(params?: Params$Resource$Customers$Experiments$Scheduleexperiment, options?: MethodOptions): Promise<GaxiosResponseWithHTTP2<Schema$GoogleLongrunning__Operation>>;
        scheduleExperiment(params: Params$Resource$Customers$Experiments$Scheduleexperiment, options: StreamMethodOptions | BodyResponseCallback<Readable>, callback: BodyResponseCallback<Readable>): void;
        scheduleExperiment(params: Params$Resource$Customers$Experiments$Scheduleexperiment, options: MethodOptions | BodyResponseCallback<Schema$GoogleLongrunning__Operation>, callback: BodyResponseCallback<Schema$GoogleLongrunning__Operation>): void;
        scheduleExperiment(params: Params$Resource$Customers$Experiments$Scheduleexperiment, callback: BodyResponseCallback<Schema$GoogleLongrunning__Operation>): void;
        scheduleExperiment(callback: BodyResponseCallback<Schema$GoogleLongrunning__Operation>): void;
    }
    export interface Params$Resource$Customers$Experiments$Endexperiment extends StandardParameters {
        /**
         * Required. The resource name of the campaign experiment to end.
         */
        experiment?: string;
        /**
         * Request body metadata
         */
        requestBody?: Schema$GoogleAdsSearchads360V23Services__EndExperimentRequest;
    }
    export interface Params$Resource$Customers$Experiments$Graduateexperiment extends StandardParameters {
        /**
         * Required. The experiment to be graduated.
         */
        experiment?: string;
        /**
         * Request body metadata
         */
        requestBody?: Schema$GoogleAdsSearchads360V23Services__GraduateExperimentRequest;
    }
    export interface Params$Resource$Customers$Experiments$Listexperimentasyncerrors extends StandardParameters {
        /**
         * Number of elements to retrieve in a single page. When a page request is too large, the server may decide to further limit the number of returned resources. The maximum page size is 1000.
         */
        pageSize?: number;
        /**
         * Token of the page to retrieve. If not specified, the first page of results will be returned. Use the value obtained from `next_page_token` in the previous response in order to request the next page of results.
         */
        pageToken?: string;
        /**
         * Required. The name of the experiment from which to retrieve the async errors.
         */
        resourceName?: string;
    }
    export interface Params$Resource$Customers$Experiments$Mutate extends StandardParameters {
        /**
         * Required. The ID of the customer whose experiments are being modified.
         */
        customerId?: string;
        /**
         * Request body metadata
         */
        requestBody?: Schema$GoogleAdsSearchads360V23Services__MutateExperimentsRequest;
    }
    export interface Params$Resource$Customers$Experiments$Promoteexperiment extends StandardParameters {
        /**
         * Required. The resource name of the experiment to promote.
         */
        resourceName?: string;
        /**
         * Request body metadata
         */
        requestBody?: Schema$GoogleAdsSearchads360V23Services__PromoteExperimentRequest;
    }
    export interface Params$Resource$Customers$Experiments$Scheduleexperiment extends StandardParameters {
        /**
         * Required. The scheduled experiment.
         */
        resourceName?: string;
        /**
         * Request body metadata
         */
        requestBody?: Schema$GoogleAdsSearchads360V23Services__ScheduleExperimentRequest;
    }
    export class Resource$Customers$Goals {
        context: APIRequestContext;
        constructor(context: APIRequestContext);
        /**
         * Create or update goals. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [HeaderError]() [InternalError]() [QuotaError]() [RequestError]() [GoalError]() [GoalServicesError]()
         * @example
         * ```js
         * // Before running the sample:
         * // - Enable the API at:
         * //   https://console.developers.google.com/apis/api/searchads360.googleapis.com
         * // - Login into gcloud by running:
         * //   ```sh
         * //   $ gcloud auth application-default login
         * //   ```
         * // - Install the npm module by running:
         * //   ```sh
         * //   $ npm install googleapis
         * //   ```
         *
         * const {google} = require('googleapis');
         * const searchads360 = google.searchads360('v23');
         *
         * async function main() {
         *   const auth = new google.auth.GoogleAuth({
         *     // Scopes can be specified either as an array or as a single, space-delimited string.
         *     scopes: ['https://www.googleapis.com/auth/doubleclicksearch'],
         *   });
         *
         *   // Acquire an auth client, and bind it to all future calls
         *   const authClient = await auth.getClient();
         *   google.options({auth: authClient});
         *
         *   // Do the magic
         *   const res = await searchads360.customers.Goals.mutate({
         *     // Required. The ID of the customer whose goals are being modified.
         *     customerId: '[^/]+',
         *
         *     // Request body metadata
         *     requestBody: {
         *       // request body parameters
         *       // {
         *       //   "operations": [],
         *       //   "partialFailure": false,
         *       //   "validateOnly": false
         *       // }
         *     },
         *   });
         *   console.log(res.data);
         *
         *   // Example response
         *   // {
         *   //   "partialFailureError": {},
         *   //   "results": []
         *   // }
         * }
         *
         * main().catch(e => {
         *   console.error(e);
         *   throw e;
         * });
         *
         * ```
         *
         * @param params - Parameters for request
         * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
         * @param callback - Optional callback that handles the response.
         * @returns A promise if used with async/await, or void if used with a callback.
         */
        mutate(params: Params$Resource$Customers$Goals$Mutate, options: StreamMethodOptions): Promise<GaxiosResponseWithHTTP2<Readable>>;
        mutate(params?: Params$Resource$Customers$Goals$Mutate, options?: MethodOptions): Promise<GaxiosResponseWithHTTP2<Schema$GoogleAdsSearchads360V23Services__MutateGoalsResponse>>;
        mutate(params: Params$Resource$Customers$Goals$Mutate, options: StreamMethodOptions | BodyResponseCallback<Readable>, callback: BodyResponseCallback<Readable>): void;
        mutate(params: Params$Resource$Customers$Goals$Mutate, options: MethodOptions | BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateGoalsResponse>, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateGoalsResponse>): void;
        mutate(params: Params$Resource$Customers$Goals$Mutate, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateGoalsResponse>): void;
        mutate(callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateGoalsResponse>): void;
    }
    export interface Params$Resource$Customers$Goals$Mutate extends StandardParameters {
        /**
         * Required. The ID of the customer whose goals are being modified.
         */
        customerId?: string;
        /**
         * Request body metadata
         */
        requestBody?: Schema$GoogleAdsSearchads360V23Services__MutateGoalsRequest;
    }
    export class Resource$Customers$Incentives {
        context: APIRequestContext;
        constructor(context: APIRequestContext);
        /**
         * Applies the incentive for the ads customer.
         * @example
         * ```js
         * // Before running the sample:
         * // - Enable the API at:
         * //   https://console.developers.google.com/apis/api/searchads360.googleapis.com
         * // - Login into gcloud by running:
         * //   ```sh
         * //   $ gcloud auth application-default login
         * //   ```
         * // - Install the npm module by running:
         * //   ```sh
         * //   $ npm install googleapis
         * //   ```
         *
         * const {google} = require('googleapis');
         * const searchads360 = google.searchads360('v23');
         *
         * async function main() {
         *   const auth = new google.auth.GoogleAuth({
         *     // Scopes can be specified either as an array or as a single, space-delimited string.
         *     scopes: ['https://www.googleapis.com/auth/doubleclicksearch'],
         *   });
         *
         *   // Acquire an auth client, and bind it to all future calls
         *   const authClient = await auth.getClient();
         *   google.options({auth: authClient});
         *
         *   // Do the magic
         *   const res = await searchads360.customers.incentives.applyIncentive({
         *     // The customer ID of the account that the incentive is being applied to.
         *     customerId: '[^/]+',
         *     // The incentive ID of this incentive. This is used to identify which incentive is selected by the user in the CYO flow.
         *     selectedIncentiveId: '[^/]+',
         *
         *     // Request body metadata
         *     requestBody: {
         *       // request body parameters
         *       // {
         *       //   "countryCode": "my_countryCode"
         *       // }
         *     },
         *   });
         *   console.log(res.data);
         *
         *   // Example response
         *   // {
         *   //   "couponCode": "my_couponCode",
         *   //   "creationTime": "my_creationTime"
         *   // }
         * }
         *
         * main().catch(e => {
         *   console.error(e);
         *   throw e;
         * });
         *
         * ```
         *
         * @param params - Parameters for request
         * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
         * @param callback - Optional callback that handles the response.
         * @returns A promise if used with async/await, or void if used with a callback.
         */
        applyIncentive(params: Params$Resource$Customers$Incentives$Applyincentive, options: StreamMethodOptions): Promise<GaxiosResponseWithHTTP2<Readable>>;
        applyIncentive(params?: Params$Resource$Customers$Incentives$Applyincentive, options?: MethodOptions): Promise<GaxiosResponseWithHTTP2<Schema$GoogleAdsSearchads360V23Services__ApplyIncentiveResponse>>;
        applyIncentive(params: Params$Resource$Customers$Incentives$Applyincentive, options: StreamMethodOptions | BodyResponseCallback<Readable>, callback: BodyResponseCallback<Readable>): void;
        applyIncentive(params: Params$Resource$Customers$Incentives$Applyincentive, options: MethodOptions | BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__ApplyIncentiveResponse>, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__ApplyIncentiveResponse>): void;
        applyIncentive(params: Params$Resource$Customers$Incentives$Applyincentive, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__ApplyIncentiveResponse>): void;
        applyIncentive(callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__ApplyIncentiveResponse>): void;
    }
    export interface Params$Resource$Customers$Incentives$Applyincentive extends StandardParameters {
        /**
         * The customer ID of the account that the incentive is being applied to.
         */
        customerId?: string;
        /**
         * The incentive ID of this incentive. This is used to identify which incentive is selected by the user in the CYO flow.
         */
        selectedIncentiveId?: string;
        /**
         * Request body metadata
         */
        requestBody?: Schema$GoogleAdsSearchads360V23Services__ApplyIncentiveRequest;
    }
    export class Resource$Customers$Invoices {
        context: APIRequestContext;
        constructor(context: APIRequestContext);
        /**
         * Returns all invoices associated with a billing setup, for a given month. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [FieldError]() [HeaderError]() [InternalError]() [InvoiceError]() [QuotaError]() [RequestError]()
         * @example
         * ```js
         * // Before running the sample:
         * // - Enable the API at:
         * //   https://console.developers.google.com/apis/api/searchads360.googleapis.com
         * // - Login into gcloud by running:
         * //   ```sh
         * //   $ gcloud auth application-default login
         * //   ```
         * // - Install the npm module by running:
         * //   ```sh
         * //   $ npm install googleapis
         * //   ```
         *
         * const {google} = require('googleapis');
         * const searchads360 = google.searchads360('v23');
         *
         * async function main() {
         *   const auth = new google.auth.GoogleAuth({
         *     // Scopes can be specified either as an array or as a single, space-delimited string.
         *     scopes: ['https://www.googleapis.com/auth/doubleclicksearch'],
         *   });
         *
         *   // Acquire an auth client, and bind it to all future calls
         *   const authClient = await auth.getClient();
         *   google.options({auth: authClient});
         *
         *   // Do the magic
         *   const res = await searchads360.customers.invoices.list({
         *     // Required. The billing setup resource name of the requested invoices. `customers/{customer_id\}/billingSetups/{billing_setup_id\}`
         *     billingSetup: 'placeholder-value',
         *     // Required. The ID of the customer to fetch invoices for.
         *     customerId: '[^/]+',
         *     // Optional. When true, the response will include more granular level invoice details such as campaign level cost breakdown, itemized regulatory costs and adjustments. The default value is false.
         *     includeGranularLevelInvoiceDetails: 'placeholder-value',
         *     // Required. The issue month to retrieve invoices.
         *     issueMonth: 'placeholder-value',
         *     // Required. The issue year to retrieve invoices, in yyyy format. Only invoices issued in 2019 or later can be retrieved.
         *     issueYear: 'placeholder-value',
         *   });
         *   console.log(res.data);
         *
         *   // Example response
         *   // {
         *   //   "invoices": []
         *   // }
         * }
         *
         * main().catch(e => {
         *   console.error(e);
         *   throw e;
         * });
         *
         * ```
         *
         * @param params - Parameters for request
         * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
         * @param callback - Optional callback that handles the response.
         * @returns A promise if used with async/await, or void if used with a callback.
         */
        list(params: Params$Resource$Customers$Invoices$List, options: StreamMethodOptions): Promise<GaxiosResponseWithHTTP2<Readable>>;
        list(params?: Params$Resource$Customers$Invoices$List, options?: MethodOptions): Promise<GaxiosResponseWithHTTP2<Schema$GoogleAdsSearchads360V23Services__ListInvoicesResponse>>;
        list(params: Params$Resource$Customers$Invoices$List, options: StreamMethodOptions | BodyResponseCallback<Readable>, callback: BodyResponseCallback<Readable>): void;
        list(params: Params$Resource$Customers$Invoices$List, options: MethodOptions | BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__ListInvoicesResponse>, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__ListInvoicesResponse>): void;
        list(params: Params$Resource$Customers$Invoices$List, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__ListInvoicesResponse>): void;
        list(callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__ListInvoicesResponse>): void;
    }
    export interface Params$Resource$Customers$Invoices$List extends StandardParameters {
        /**
         * Required. The billing setup resource name of the requested invoices. `customers/{customer_id\}/billingSetups/{billing_setup_id\}`
         */
        billingSetup?: string;
        /**
         * Required. The ID of the customer to fetch invoices for.
         */
        customerId?: string;
        /**
         * Optional. When true, the response will include more granular level invoice details such as campaign level cost breakdown, itemized regulatory costs and adjustments. The default value is false.
         */
        includeGranularLevelInvoiceDetails?: boolean;
        /**
         * Required. The issue month to retrieve invoices.
         */
        issueMonth?: string;
        /**
         * Required. The issue year to retrieve invoices, in yyyy format. Only invoices issued in 2019 or later can be retrieved.
         */
        issueYear?: string;
    }
    export class Resource$Customers$Keywordplanadgroupkeywords {
        context: APIRequestContext;
        constructor(context: APIRequestContext);
        /**
         * Creates, updates, or removes Keyword Plan ad group keywords. Operation statuses are returned. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [DatabaseError]() [FieldError]() [HeaderError]() [InternalError]() [KeywordPlanAdGroupKeywordError]() [KeywordPlanError]() [MutateError]() [QuotaError]() [RequestError]() [ResourceCountLimitExceededError]()
         * @example
         * ```js
         * // Before running the sample:
         * // - Enable the API at:
         * //   https://console.developers.google.com/apis/api/searchads360.googleapis.com
         * // - Login into gcloud by running:
         * //   ```sh
         * //   $ gcloud auth application-default login
         * //   ```
         * // - Install the npm module by running:
         * //   ```sh
         * //   $ npm install googleapis
         * //   ```
         *
         * const {google} = require('googleapis');
         * const searchads360 = google.searchads360('v23');
         *
         * async function main() {
         *   const auth = new google.auth.GoogleAuth({
         *     // Scopes can be specified either as an array or as a single, space-delimited string.
         *     scopes: ['https://www.googleapis.com/auth/doubleclicksearch'],
         *   });
         *
         *   // Acquire an auth client, and bind it to all future calls
         *   const authClient = await auth.getClient();
         *   google.options({auth: authClient});
         *
         *   // Do the magic
         *   const res = await searchads360.customers.keywordPlanAdGroupKeywords.mutate({
         *     // Required. The ID of the customer whose Keyword Plan ad group keywords are being modified.
         *     customerId: '[^/]+',
         *
         *     // Request body metadata
         *     requestBody: {
         *       // request body parameters
         *       // {
         *       //   "operations": [],
         *       //   "partialFailure": false,
         *       //   "validateOnly": false
         *       // }
         *     },
         *   });
         *   console.log(res.data);
         *
         *   // Example response
         *   // {
         *   //   "partialFailureError": {},
         *   //   "results": []
         *   // }
         * }
         *
         * main().catch(e => {
         *   console.error(e);
         *   throw e;
         * });
         *
         * ```
         *
         * @param params - Parameters for request
         * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
         * @param callback - Optional callback that handles the response.
         * @returns A promise if used with async/await, or void if used with a callback.
         */
        mutate(params: Params$Resource$Customers$Keywordplanadgroupkeywords$Mutate, options: StreamMethodOptions): Promise<GaxiosResponseWithHTTP2<Readable>>;
        mutate(params?: Params$Resource$Customers$Keywordplanadgroupkeywords$Mutate, options?: MethodOptions): Promise<GaxiosResponseWithHTTP2<Schema$GoogleAdsSearchads360V23Services__MutateKeywordPlanAdGroupKeywordsResponse>>;
        mutate(params: Params$Resource$Customers$Keywordplanadgroupkeywords$Mutate, options: StreamMethodOptions | BodyResponseCallback<Readable>, callback: BodyResponseCallback<Readable>): void;
        mutate(params: Params$Resource$Customers$Keywordplanadgroupkeywords$Mutate, options: MethodOptions | BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateKeywordPlanAdGroupKeywordsResponse>, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateKeywordPlanAdGroupKeywordsResponse>): void;
        mutate(params: Params$Resource$Customers$Keywordplanadgroupkeywords$Mutate, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateKeywordPlanAdGroupKeywordsResponse>): void;
        mutate(callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateKeywordPlanAdGroupKeywordsResponse>): void;
    }
    export interface Params$Resource$Customers$Keywordplanadgroupkeywords$Mutate extends StandardParameters {
        /**
         * Required. The ID of the customer whose Keyword Plan ad group keywords are being modified.
         */
        customerId?: string;
        /**
         * Request body metadata
         */
        requestBody?: Schema$GoogleAdsSearchads360V23Services__MutateKeywordPlanAdGroupKeywordsRequest;
    }
    export class Resource$Customers$Keywordplanadgroups {
        context: APIRequestContext;
        constructor(context: APIRequestContext);
        /**
         * Creates, updates, or removes Keyword Plan ad groups. Operation statuses are returned. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [DatabaseError]() [FieldError]() [FieldMaskError]() [HeaderError]() [InternalError]() [KeywordPlanAdGroupError]() [KeywordPlanError]() [MutateError]() [NewResourceCreationError]() [QuotaError]() [RequestError]() [ResourceCountLimitExceededError]()
         * @example
         * ```js
         * // Before running the sample:
         * // - Enable the API at:
         * //   https://console.developers.google.com/apis/api/searchads360.googleapis.com
         * // - Login into gcloud by running:
         * //   ```sh
         * //   $ gcloud auth application-default login
         * //   ```
         * // - Install the npm module by running:
         * //   ```sh
         * //   $ npm install googleapis
         * //   ```
         *
         * const {google} = require('googleapis');
         * const searchads360 = google.searchads360('v23');
         *
         * async function main() {
         *   const auth = new google.auth.GoogleAuth({
         *     // Scopes can be specified either as an array or as a single, space-delimited string.
         *     scopes: ['https://www.googleapis.com/auth/doubleclicksearch'],
         *   });
         *
         *   // Acquire an auth client, and bind it to all future calls
         *   const authClient = await auth.getClient();
         *   google.options({auth: authClient});
         *
         *   // Do the magic
         *   const res = await searchads360.customers.keywordPlanAdGroups.mutate({
         *     // Required. The ID of the customer whose Keyword Plan ad groups are being modified.
         *     customerId: '[^/]+',
         *
         *     // Request body metadata
         *     requestBody: {
         *       // request body parameters
         *       // {
         *       //   "operations": [],
         *       //   "partialFailure": false,
         *       //   "validateOnly": false
         *       // }
         *     },
         *   });
         *   console.log(res.data);
         *
         *   // Example response
         *   // {
         *   //   "partialFailureError": {},
         *   //   "results": []
         *   // }
         * }
         *
         * main().catch(e => {
         *   console.error(e);
         *   throw e;
         * });
         *
         * ```
         *
         * @param params - Parameters for request
         * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
         * @param callback - Optional callback that handles the response.
         * @returns A promise if used with async/await, or void if used with a callback.
         */
        mutate(params: Params$Resource$Customers$Keywordplanadgroups$Mutate, options: StreamMethodOptions): Promise<GaxiosResponseWithHTTP2<Readable>>;
        mutate(params?: Params$Resource$Customers$Keywordplanadgroups$Mutate, options?: MethodOptions): Promise<GaxiosResponseWithHTTP2<Schema$GoogleAdsSearchads360V23Services__MutateKeywordPlanAdGroupsResponse>>;
        mutate(params: Params$Resource$Customers$Keywordplanadgroups$Mutate, options: StreamMethodOptions | BodyResponseCallback<Readable>, callback: BodyResponseCallback<Readable>): void;
        mutate(params: Params$Resource$Customers$Keywordplanadgroups$Mutate, options: MethodOptions | BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateKeywordPlanAdGroupsResponse>, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateKeywordPlanAdGroupsResponse>): void;
        mutate(params: Params$Resource$Customers$Keywordplanadgroups$Mutate, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateKeywordPlanAdGroupsResponse>): void;
        mutate(callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateKeywordPlanAdGroupsResponse>): void;
    }
    export interface Params$Resource$Customers$Keywordplanadgroups$Mutate extends StandardParameters {
        /**
         * Required. The ID of the customer whose Keyword Plan ad groups are being modified.
         */
        customerId?: string;
        /**
         * Request body metadata
         */
        requestBody?: Schema$GoogleAdsSearchads360V23Services__MutateKeywordPlanAdGroupsRequest;
    }
    export class Resource$Customers$Keywordplancampaignkeywords {
        context: APIRequestContext;
        constructor(context: APIRequestContext);
        /**
         * Creates, updates, or removes Keyword Plan campaign keywords. Operation statuses are returned. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [DatabaseError]() [FieldError]() [HeaderError]() [InternalError]() [KeywordPlanAdGroupKeywordError]() [KeywordPlanCampaignKeywordError]() [QuotaError]() [RequestError]() [ResourceCountLimitExceededError]()
         * @example
         * ```js
         * // Before running the sample:
         * // - Enable the API at:
         * //   https://console.developers.google.com/apis/api/searchads360.googleapis.com
         * // - Login into gcloud by running:
         * //   ```sh
         * //   $ gcloud auth application-default login
         * //   ```
         * // - Install the npm module by running:
         * //   ```sh
         * //   $ npm install googleapis
         * //   ```
         *
         * const {google} = require('googleapis');
         * const searchads360 = google.searchads360('v23');
         *
         * async function main() {
         *   const auth = new google.auth.GoogleAuth({
         *     // Scopes can be specified either as an array or as a single, space-delimited string.
         *     scopes: ['https://www.googleapis.com/auth/doubleclicksearch'],
         *   });
         *
         *   // Acquire an auth client, and bind it to all future calls
         *   const authClient = await auth.getClient();
         *   google.options({auth: authClient});
         *
         *   // Do the magic
         *   const res = await searchads360.customers.keywordPlanCampaignKeywords.mutate({
         *     // Required. The ID of the customer whose campaign keywords are being modified.
         *     customerId: '[^/]+',
         *
         *     // Request body metadata
         *     requestBody: {
         *       // request body parameters
         *       // {
         *       //   "operations": [],
         *       //   "partialFailure": false,
         *       //   "validateOnly": false
         *       // }
         *     },
         *   });
         *   console.log(res.data);
         *
         *   // Example response
         *   // {
         *   //   "partialFailureError": {},
         *   //   "results": []
         *   // }
         * }
         *
         * main().catch(e => {
         *   console.error(e);
         *   throw e;
         * });
         *
         * ```
         *
         * @param params - Parameters for request
         * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
         * @param callback - Optional callback that handles the response.
         * @returns A promise if used with async/await, or void if used with a callback.
         */
        mutate(params: Params$Resource$Customers$Keywordplancampaignkeywords$Mutate, options: StreamMethodOptions): Promise<GaxiosResponseWithHTTP2<Readable>>;
        mutate(params?: Params$Resource$Customers$Keywordplancampaignkeywords$Mutate, options?: MethodOptions): Promise<GaxiosResponseWithHTTP2<Schema$GoogleAdsSearchads360V23Services__MutateKeywordPlanCampaignKeywordsResponse>>;
        mutate(params: Params$Resource$Customers$Keywordplancampaignkeywords$Mutate, options: StreamMethodOptions | BodyResponseCallback<Readable>, callback: BodyResponseCallback<Readable>): void;
        mutate(params: Params$Resource$Customers$Keywordplancampaignkeywords$Mutate, options: MethodOptions | BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateKeywordPlanCampaignKeywordsResponse>, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateKeywordPlanCampaignKeywordsResponse>): void;
        mutate(params: Params$Resource$Customers$Keywordplancampaignkeywords$Mutate, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateKeywordPlanCampaignKeywordsResponse>): void;
        mutate(callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateKeywordPlanCampaignKeywordsResponse>): void;
    }
    export interface Params$Resource$Customers$Keywordplancampaignkeywords$Mutate extends StandardParameters {
        /**
         * Required. The ID of the customer whose campaign keywords are being modified.
         */
        customerId?: string;
        /**
         * Request body metadata
         */
        requestBody?: Schema$GoogleAdsSearchads360V23Services__MutateKeywordPlanCampaignKeywordsRequest;
    }
    export class Resource$Customers$Keywordplancampaigns {
        context: APIRequestContext;
        constructor(context: APIRequestContext);
        /**
         * Creates, updates, or removes Keyword Plan campaigns. Operation statuses are returned. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [DatabaseError]() [FieldError]() [FieldMaskError]() [HeaderError]() [InternalError]() [KeywordPlanCampaignError]() [KeywordPlanError]() [ListOperationError]() [MutateError]() [QuotaError]() [RangeError]() [RequestError]() [ResourceCountLimitExceededError]()
         * @example
         * ```js
         * // Before running the sample:
         * // - Enable the API at:
         * //   https://console.developers.google.com/apis/api/searchads360.googleapis.com
         * // - Login into gcloud by running:
         * //   ```sh
         * //   $ gcloud auth application-default login
         * //   ```
         * // - Install the npm module by running:
         * //   ```sh
         * //   $ npm install googleapis
         * //   ```
         *
         * const {google} = require('googleapis');
         * const searchads360 = google.searchads360('v23');
         *
         * async function main() {
         *   const auth = new google.auth.GoogleAuth({
         *     // Scopes can be specified either as an array or as a single, space-delimited string.
         *     scopes: ['https://www.googleapis.com/auth/doubleclicksearch'],
         *   });
         *
         *   // Acquire an auth client, and bind it to all future calls
         *   const authClient = await auth.getClient();
         *   google.options({auth: authClient});
         *
         *   // Do the magic
         *   const res = await searchads360.customers.keywordPlanCampaigns.mutate({
         *     // Required. The ID of the customer whose Keyword Plan campaigns are being modified.
         *     customerId: '[^/]+',
         *
         *     // Request body metadata
         *     requestBody: {
         *       // request body parameters
         *       // {
         *       //   "operations": [],
         *       //   "partialFailure": false,
         *       //   "validateOnly": false
         *       // }
         *     },
         *   });
         *   console.log(res.data);
         *
         *   // Example response
         *   // {
         *   //   "partialFailureError": {},
         *   //   "results": []
         *   // }
         * }
         *
         * main().catch(e => {
         *   console.error(e);
         *   throw e;
         * });
         *
         * ```
         *
         * @param params - Parameters for request
         * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
         * @param callback - Optional callback that handles the response.
         * @returns A promise if used with async/await, or void if used with a callback.
         */
        mutate(params: Params$Resource$Customers$Keywordplancampaigns$Mutate, options: StreamMethodOptions): Promise<GaxiosResponseWithHTTP2<Readable>>;
        mutate(params?: Params$Resource$Customers$Keywordplancampaigns$Mutate, options?: MethodOptions): Promise<GaxiosResponseWithHTTP2<Schema$GoogleAdsSearchads360V23Services__MutateKeywordPlanCampaignsResponse>>;
        mutate(params: Params$Resource$Customers$Keywordplancampaigns$Mutate, options: StreamMethodOptions | BodyResponseCallback<Readable>, callback: BodyResponseCallback<Readable>): void;
        mutate(params: Params$Resource$Customers$Keywordplancampaigns$Mutate, options: MethodOptions | BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateKeywordPlanCampaignsResponse>, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateKeywordPlanCampaignsResponse>): void;
        mutate(params: Params$Resource$Customers$Keywordplancampaigns$Mutate, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateKeywordPlanCampaignsResponse>): void;
        mutate(callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateKeywordPlanCampaignsResponse>): void;
    }
    export interface Params$Resource$Customers$Keywordplancampaigns$Mutate extends StandardParameters {
        /**
         * Required. The ID of the customer whose Keyword Plan campaigns are being modified.
         */
        customerId?: string;
        /**
         * Request body metadata
         */
        requestBody?: Schema$GoogleAdsSearchads360V23Services__MutateKeywordPlanCampaignsRequest;
    }
    export class Resource$Customers$Keywordplans {
        context: APIRequestContext;
        constructor(context: APIRequestContext);
        /**
         * Creates, updates, or removes keyword plans. Operation statuses are returned. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [DatabaseError]() [FieldError]() [HeaderError]() [InternalError]() [KeywordPlanError]() [MutateError]() [NewResourceCreationError]() [QuotaError]() [RequestError]() [ResourceCountLimitExceededError]() [StringLengthError]()
         * @example
         * ```js
         * // Before running the sample:
         * // - Enable the API at:
         * //   https://console.developers.google.com/apis/api/searchads360.googleapis.com
         * // - Login into gcloud by running:
         * //   ```sh
         * //   $ gcloud auth application-default login
         * //   ```
         * // - Install the npm module by running:
         * //   ```sh
         * //   $ npm install googleapis
         * //   ```
         *
         * const {google} = require('googleapis');
         * const searchads360 = google.searchads360('v23');
         *
         * async function main() {
         *   const auth = new google.auth.GoogleAuth({
         *     // Scopes can be specified either as an array or as a single, space-delimited string.
         *     scopes: ['https://www.googleapis.com/auth/doubleclicksearch'],
         *   });
         *
         *   // Acquire an auth client, and bind it to all future calls
         *   const authClient = await auth.getClient();
         *   google.options({auth: authClient});
         *
         *   // Do the magic
         *   const res = await searchads360.customers.keywordPlans.mutate({
         *     // Required. The ID of the customer whose keyword plans are being modified.
         *     customerId: '[^/]+',
         *
         *     // Request body metadata
         *     requestBody: {
         *       // request body parameters
         *       // {
         *       //   "operations": [],
         *       //   "partialFailure": false,
         *       //   "validateOnly": false
         *       // }
         *     },
         *   });
         *   console.log(res.data);
         *
         *   // Example response
         *   // {
         *   //   "partialFailureError": {},
         *   //   "results": []
         *   // }
         * }
         *
         * main().catch(e => {
         *   console.error(e);
         *   throw e;
         * });
         *
         * ```
         *
         * @param params - Parameters for request
         * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
         * @param callback - Optional callback that handles the response.
         * @returns A promise if used with async/await, or void if used with a callback.
         */
        mutate(params: Params$Resource$Customers$Keywordplans$Mutate, options: StreamMethodOptions): Promise<GaxiosResponseWithHTTP2<Readable>>;
        mutate(params?: Params$Resource$Customers$Keywordplans$Mutate, options?: MethodOptions): Promise<GaxiosResponseWithHTTP2<Schema$GoogleAdsSearchads360V23Services__MutateKeywordPlansResponse>>;
        mutate(params: Params$Resource$Customers$Keywordplans$Mutate, options: StreamMethodOptions | BodyResponseCallback<Readable>, callback: BodyResponseCallback<Readable>): void;
        mutate(params: Params$Resource$Customers$Keywordplans$Mutate, options: MethodOptions | BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateKeywordPlansResponse>, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateKeywordPlansResponse>): void;
        mutate(params: Params$Resource$Customers$Keywordplans$Mutate, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateKeywordPlansResponse>): void;
        mutate(callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateKeywordPlansResponse>): void;
    }
    export interface Params$Resource$Customers$Keywordplans$Mutate extends StandardParameters {
        /**
         * Required. The ID of the customer whose keyword plans are being modified.
         */
        customerId?: string;
        /**
         * Request body metadata
         */
        requestBody?: Schema$GoogleAdsSearchads360V23Services__MutateKeywordPlansRequest;
    }
    export class Resource$Customers$Labels {
        context: APIRequestContext;
        constructor(context: APIRequestContext);
        /**
         * Creates, updates, or removes labels. Operation statuses are returned. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [DatabaseError]() [DateError]() [DistinctError]() [FieldError]() [FieldMaskError]() [HeaderError]() [IdError]() [InternalError]() [LabelError]() [MutateError]() [NewResourceCreationError]() [NotEmptyError]() [NullError]() [OperatorError]() [QuotaError]() [RangeError]() [RequestError]() [ResourceCountLimitExceededError]() [SizeLimitError]() [StringFormatError]() [StringLengthError]()
         * @example
         * ```js
         * // Before running the sample:
         * // - Enable the API at:
         * //   https://console.developers.google.com/apis/api/searchads360.googleapis.com
         * // - Login into gcloud by running:
         * //   ```sh
         * //   $ gcloud auth application-default login
         * //   ```
         * // - Install the npm module by running:
         * //   ```sh
         * //   $ npm install googleapis
         * //   ```
         *
         * const {google} = require('googleapis');
         * const searchads360 = google.searchads360('v23');
         *
         * async function main() {
         *   const auth = new google.auth.GoogleAuth({
         *     // Scopes can be specified either as an array or as a single, space-delimited string.
         *     scopes: ['https://www.googleapis.com/auth/doubleclicksearch'],
         *   });
         *
         *   // Acquire an auth client, and bind it to all future calls
         *   const authClient = await auth.getClient();
         *   google.options({auth: authClient});
         *
         *   // Do the magic
         *   const res = await searchads360.customers.labels.mutate({
         *     // Required. ID of the customer whose labels are being modified.
         *     customerId: '[^/]+',
         *
         *     // Request body metadata
         *     requestBody: {
         *       // request body parameters
         *       // {
         *       //   "operations": [],
         *       //   "partialFailure": false,
         *       //   "responseContentType": "my_responseContentType",
         *       //   "validateOnly": false
         *       // }
         *     },
         *   });
         *   console.log(res.data);
         *
         *   // Example response
         *   // {
         *   //   "partialFailureError": {},
         *   //   "results": []
         *   // }
         * }
         *
         * main().catch(e => {
         *   console.error(e);
         *   throw e;
         * });
         *
         * ```
         *
         * @param params - Parameters for request
         * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
         * @param callback - Optional callback that handles the response.
         * @returns A promise if used with async/await, or void if used with a callback.
         */
        mutate(params: Params$Resource$Customers$Labels$Mutate, options: StreamMethodOptions): Promise<GaxiosResponseWithHTTP2<Readable>>;
        mutate(params?: Params$Resource$Customers$Labels$Mutate, options?: MethodOptions): Promise<GaxiosResponseWithHTTP2<Schema$GoogleAdsSearchads360V23Services__MutateLabelsResponse>>;
        mutate(params: Params$Resource$Customers$Labels$Mutate, options: StreamMethodOptions | BodyResponseCallback<Readable>, callback: BodyResponseCallback<Readable>): void;
        mutate(params: Params$Resource$Customers$Labels$Mutate, options: MethodOptions | BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateLabelsResponse>, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateLabelsResponse>): void;
        mutate(params: Params$Resource$Customers$Labels$Mutate, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateLabelsResponse>): void;
        mutate(callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateLabelsResponse>): void;
    }
    export interface Params$Resource$Customers$Labels$Mutate extends StandardParameters {
        /**
         * Required. ID of the customer whose labels are being modified.
         */
        customerId?: string;
        /**
         * Request body metadata
         */
        requestBody?: Schema$GoogleAdsSearchads360V23Services__MutateLabelsRequest;
    }
    export class Resource$Customers$Localservices {
        context: APIRequestContext;
        constructor(context: APIRequestContext);
        /**
         * RPC to append Local Services Lead Conversation resources to Local Services Lead resources.
         * @example
         * ```js
         * // Before running the sample:
         * // - Enable the API at:
         * //   https://console.developers.google.com/apis/api/searchads360.googleapis.com
         * // - Login into gcloud by running:
         * //   ```sh
         * //   $ gcloud auth application-default login
         * //   ```
         * // - Install the npm module by running:
         * //   ```sh
         * //   $ npm install googleapis
         * //   ```
         *
         * const {google} = require('googleapis');
         * const searchads360 = google.searchads360('v23');
         *
         * async function main() {
         *   const auth = new google.auth.GoogleAuth({
         *     // Scopes can be specified either as an array or as a single, space-delimited string.
         *     scopes: ['https://www.googleapis.com/auth/doubleclicksearch'],
         *   });
         *
         *   // Acquire an auth client, and bind it to all future calls
         *   const authClient = await auth.getClient();
         *   google.options({auth: authClient});
         *
         *   // Do the magic
         *   const res = await searchads360.customers.localServices.appendLeadConversation(
         *     {
         *       // Required. The Id of the customer which owns the leads onto which the conversations will be appended.
         *       customerId: '[^/]+',
         *
         *       // Request body metadata
         *       requestBody: {
         *         // request body parameters
         *         // {
         *         //   "conversations": []
         *         // }
         *       },
         *     },
         *   );
         *   console.log(res.data);
         *
         *   // Example response
         *   // {
         *   //   "responses": []
         *   // }
         * }
         *
         * main().catch(e => {
         *   console.error(e);
         *   throw e;
         * });
         *
         * ```
         *
         * @param params - Parameters for request
         * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
         * @param callback - Optional callback that handles the response.
         * @returns A promise if used with async/await, or void if used with a callback.
         */
        appendLeadConversation(params: Params$Resource$Customers$Localservices$Appendleadconversation, options: StreamMethodOptions): Promise<GaxiosResponseWithHTTP2<Readable>>;
        appendLeadConversation(params?: Params$Resource$Customers$Localservices$Appendleadconversation, options?: MethodOptions): Promise<GaxiosResponseWithHTTP2<Schema$GoogleAdsSearchads360V23Services__AppendLeadConversationResponse>>;
        appendLeadConversation(params: Params$Resource$Customers$Localservices$Appendleadconversation, options: StreamMethodOptions | BodyResponseCallback<Readable>, callback: BodyResponseCallback<Readable>): void;
        appendLeadConversation(params: Params$Resource$Customers$Localservices$Appendleadconversation, options: MethodOptions | BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__AppendLeadConversationResponse>, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__AppendLeadConversationResponse>): void;
        appendLeadConversation(params: Params$Resource$Customers$Localservices$Appendleadconversation, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__AppendLeadConversationResponse>): void;
        appendLeadConversation(callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__AppendLeadConversationResponse>): void;
    }
    export interface Params$Resource$Customers$Localservices$Appendleadconversation extends StandardParameters {
        /**
         * Required. The Id of the customer which owns the leads onto which the conversations will be appended.
         */
        customerId?: string;
        /**
         * Request body metadata
         */
        requestBody?: Schema$GoogleAdsSearchads360V23Services__AppendLeadConversationRequest;
    }
    export class Resource$Customers$Localservicesleads {
        context: APIRequestContext;
        constructor(context: APIRequestContext);
        /**
         * RPC to provide feedback on Local Services Lead resources.
         * @example
         * ```js
         * // Before running the sample:
         * // - Enable the API at:
         * //   https://console.developers.google.com/apis/api/searchads360.googleapis.com
         * // - Login into gcloud by running:
         * //   ```sh
         * //   $ gcloud auth application-default login
         * //   ```
         * // - Install the npm module by running:
         * //   ```sh
         * //   $ npm install googleapis
         * //   ```
         *
         * const {google} = require('googleapis');
         * const searchads360 = google.searchads360('v23');
         *
         * async function main() {
         *   const auth = new google.auth.GoogleAuth({
         *     // Scopes can be specified either as an array or as a single, space-delimited string.
         *     scopes: ['https://www.googleapis.com/auth/doubleclicksearch'],
         *   });
         *
         *   // Acquire an auth client, and bind it to all future calls
         *   const authClient = await auth.getClient();
         *   google.options({auth: authClient});
         *
         *   // Do the magic
         *   const res =
         *     await searchads360.customers.localServicesLeads.provideLeadFeedback({
         *       // Required. The resource name of the local services lead that for which the feedback is being provided.
         *       resourceName:
         *         'customers/my-customer/localServicesLeads/my-localServicesLead',
         *
         *       // Request body metadata
         *       requestBody: {
         *         // request body parameters
         *         // {
         *         //   "surveyAnswer": "my_surveyAnswer",
         *         //   "surveyDissatisfied": {},
         *         //   "surveySatisfied": {}
         *         // }
         *       },
         *     });
         *   console.log(res.data);
         *
         *   // Example response
         *   // {
         *   //   "creditIssuanceDecision": "my_creditIssuanceDecision"
         *   // }
         * }
         *
         * main().catch(e => {
         *   console.error(e);
         *   throw e;
         * });
         *
         * ```
         *
         * @param params - Parameters for request
         * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
         * @param callback - Optional callback that handles the response.
         * @returns A promise if used with async/await, or void if used with a callback.
         */
        provideLeadFeedback(params: Params$Resource$Customers$Localservicesleads$Provideleadfeedback, options: StreamMethodOptions): Promise<GaxiosResponseWithHTTP2<Readable>>;
        provideLeadFeedback(params?: Params$Resource$Customers$Localservicesleads$Provideleadfeedback, options?: MethodOptions): Promise<GaxiosResponseWithHTTP2<Schema$GoogleAdsSearchads360V23Services__ProvideLeadFeedbackResponse>>;
        provideLeadFeedback(params: Params$Resource$Customers$Localservicesleads$Provideleadfeedback, options: StreamMethodOptions | BodyResponseCallback<Readable>, callback: BodyResponseCallback<Readable>): void;
        provideLeadFeedback(params: Params$Resource$Customers$Localservicesleads$Provideleadfeedback, options: MethodOptions | BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__ProvideLeadFeedbackResponse>, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__ProvideLeadFeedbackResponse>): void;
        provideLeadFeedback(params: Params$Resource$Customers$Localservicesleads$Provideleadfeedback, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__ProvideLeadFeedbackResponse>): void;
        provideLeadFeedback(callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__ProvideLeadFeedbackResponse>): void;
    }
    export interface Params$Resource$Customers$Localservicesleads$Provideleadfeedback extends StandardParameters {
        /**
         * Required. The resource name of the local services lead that for which the feedback is being provided.
         */
        resourceName?: string;
        /**
         * Request body metadata
         */
        requestBody?: Schema$GoogleAdsSearchads360V23Services__ProvideLeadFeedbackRequest;
    }
    export class Resource$Customers$Offlineuserdatajobs {
        context: APIRequestContext;
        constructor(context: APIRequestContext);
        /**
         * Adds operations to the offline user data job. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [DatabaseError]() [FieldError]() [HeaderError]() [InternalError]() [MutateError]() [OfflineUserDataJobError]() [QuotaError]() [RequestError]()
         * @example
         * ```js
         * // Before running the sample:
         * // - Enable the API at:
         * //   https://console.developers.google.com/apis/api/searchads360.googleapis.com
         * // - Login into gcloud by running:
         * //   ```sh
         * //   $ gcloud auth application-default login
         * //   ```
         * // - Install the npm module by running:
         * //   ```sh
         * //   $ npm install googleapis
         * //   ```
         *
         * const {google} = require('googleapis');
         * const searchads360 = google.searchads360('v23');
         *
         * async function main() {
         *   const auth = new google.auth.GoogleAuth({
         *     // Scopes can be specified either as an array or as a single, space-delimited string.
         *     scopes: ['https://www.googleapis.com/auth/doubleclicksearch'],
         *   });
         *
         *   // Acquire an auth client, and bind it to all future calls
         *   const authClient = await auth.getClient();
         *   google.options({auth: authClient});
         *
         *   // Do the magic
         *   const res = await searchads360.customers.offlineUserDataJobs.addOperations({
         *     // Required. The resource name of the OfflineUserDataJob.
         *     resourceName:
         *       'customers/my-customer/offlineUserDataJobs/my-offlineUserDataJob',
         *
         *     // Request body metadata
         *     requestBody: {
         *       // request body parameters
         *       // {
         *       //   "enablePartialFailure": false,
         *       //   "enableWarnings": false,
         *       //   "operations": [],
         *       //   "validateOnly": false
         *       // }
         *     },
         *   });
         *   console.log(res.data);
         *
         *   // Example response
         *   // {
         *   //   "partialFailureError": {},
         *   //   "warning": {}
         *   // }
         * }
         *
         * main().catch(e => {
         *   console.error(e);
         *   throw e;
         * });
         *
         * ```
         *
         * @param params - Parameters for request
         * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
         * @param callback - Optional callback that handles the response.
         * @returns A promise if used with async/await, or void if used with a callback.
         */
        addOperations(params: Params$Resource$Customers$Offlineuserdatajobs$Addoperations, options: StreamMethodOptions): Promise<GaxiosResponseWithHTTP2<Readable>>;
        addOperations(params?: Params$Resource$Customers$Offlineuserdatajobs$Addoperations, options?: MethodOptions): Promise<GaxiosResponseWithHTTP2<Schema$GoogleAdsSearchads360V23Services__AddOfflineUserDataJobOperationsResponse>>;
        addOperations(params: Params$Resource$Customers$Offlineuserdatajobs$Addoperations, options: StreamMethodOptions | BodyResponseCallback<Readable>, callback: BodyResponseCallback<Readable>): void;
        addOperations(params: Params$Resource$Customers$Offlineuserdatajobs$Addoperations, options: MethodOptions | BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__AddOfflineUserDataJobOperationsResponse>, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__AddOfflineUserDataJobOperationsResponse>): void;
        addOperations(params: Params$Resource$Customers$Offlineuserdatajobs$Addoperations, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__AddOfflineUserDataJobOperationsResponse>): void;
        addOperations(callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__AddOfflineUserDataJobOperationsResponse>): void;
        /**
         * Creates an offline user data job. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [DatabaseError]() [FieldError]() [HeaderError]() [InternalError]() [NotAllowlistedError]() [OfflineUserDataJobError]() [QuotaError]() [RequestError]()
         * @example
         * ```js
         * // Before running the sample:
         * // - Enable the API at:
         * //   https://console.developers.google.com/apis/api/searchads360.googleapis.com
         * // - Login into gcloud by running:
         * //   ```sh
         * //   $ gcloud auth application-default login
         * //   ```
         * // - Install the npm module by running:
         * //   ```sh
         * //   $ npm install googleapis
         * //   ```
         *
         * const {google} = require('googleapis');
         * const searchads360 = google.searchads360('v23');
         *
         * async function main() {
         *   const auth = new google.auth.GoogleAuth({
         *     // Scopes can be specified either as an array or as a single, space-delimited string.
         *     scopes: ['https://www.googleapis.com/auth/doubleclicksearch'],
         *   });
         *
         *   // Acquire an auth client, and bind it to all future calls
         *   const authClient = await auth.getClient();
         *   google.options({auth: authClient});
         *
         *   // Do the magic
         *   const res = await searchads360.customers.offlineUserDataJobs.create({
         *     // Required. The ID of the customer for which to create an offline user data job.
         *     customerId: '[^/]+',
         *
         *     // Request body metadata
         *     requestBody: {
         *       // request body parameters
         *       // {
         *       //   "enableMatchRateRangePreview": false,
         *       //   "job": {},
         *       //   "validateOnly": false
         *       // }
         *     },
         *   });
         *   console.log(res.data);
         *
         *   // Example response
         *   // {
         *   //   "resourceName": "my_resourceName"
         *   // }
         * }
         *
         * main().catch(e => {
         *   console.error(e);
         *   throw e;
         * });
         *
         * ```
         *
         * @param params - Parameters for request
         * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
         * @param callback - Optional callback that handles the response.
         * @returns A promise if used with async/await, or void if used with a callback.
         */
        create(params: Params$Resource$Customers$Offlineuserdatajobs$Create, options: StreamMethodOptions): Promise<GaxiosResponseWithHTTP2<Readable>>;
        create(params?: Params$Resource$Customers$Offlineuserdatajobs$Create, options?: MethodOptions): Promise<GaxiosResponseWithHTTP2<Schema$GoogleAdsSearchads360V23Services__CreateOfflineUserDataJobResponse>>;
        create(params: Params$Resource$Customers$Offlineuserdatajobs$Create, options: StreamMethodOptions | BodyResponseCallback<Readable>, callback: BodyResponseCallback<Readable>): void;
        create(params: Params$Resource$Customers$Offlineuserdatajobs$Create, options: MethodOptions | BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__CreateOfflineUserDataJobResponse>, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__CreateOfflineUserDataJobResponse>): void;
        create(params: Params$Resource$Customers$Offlineuserdatajobs$Create, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__CreateOfflineUserDataJobResponse>): void;
        create(callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__CreateOfflineUserDataJobResponse>): void;
        /**
         * Runs the offline user data job. When finished, the long running operation will contain the processing result or failure information, if any. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [DatabaseError]() [HeaderError]() [InternalError]() [OfflineUserDataJobError]() [QuotaError]() [RequestError]()
         * @example
         * ```js
         * // Before running the sample:
         * // - Enable the API at:
         * //   https://console.developers.google.com/apis/api/searchads360.googleapis.com
         * // - Login into gcloud by running:
         * //   ```sh
         * //   $ gcloud auth application-default login
         * //   ```
         * // - Install the npm module by running:
         * //   ```sh
         * //   $ npm install googleapis
         * //   ```
         *
         * const {google} = require('googleapis');
         * const searchads360 = google.searchads360('v23');
         *
         * async function main() {
         *   const auth = new google.auth.GoogleAuth({
         *     // Scopes can be specified either as an array or as a single, space-delimited string.
         *     scopes: ['https://www.googleapis.com/auth/doubleclicksearch'],
         *   });
         *
         *   // Acquire an auth client, and bind it to all future calls
         *   const authClient = await auth.getClient();
         *   google.options({auth: authClient});
         *
         *   // Do the magic
         *   const res = await searchads360.customers.offlineUserDataJobs.run({
         *     // Required. The resource name of the OfflineUserDataJob to run.
         *     resourceName:
         *       'customers/my-customer/offlineUserDataJobs/my-offlineUserDataJob',
         *
         *     // Request body metadata
         *     requestBody: {
         *       // request body parameters
         *       // {
         *       //   "validateOnly": false
         *       // }
         *     },
         *   });
         *   console.log(res.data);
         *
         *   // Example response
         *   // {
         *   //   "done": false,
         *   //   "error": {},
         *   //   "metadata": {},
         *   //   "name": "my_name",
         *   //   "response": {}
         *   // }
         * }
         *
         * main().catch(e => {
         *   console.error(e);
         *   throw e;
         * });
         *
         * ```
         *
         * @param params - Parameters for request
         * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
         * @param callback - Optional callback that handles the response.
         * @returns A promise if used with async/await, or void if used with a callback.
         */
        run(params: Params$Resource$Customers$Offlineuserdatajobs$Run, options: StreamMethodOptions): Promise<GaxiosResponseWithHTTP2<Readable>>;
        run(params?: Params$Resource$Customers$Offlineuserdatajobs$Run, options?: MethodOptions): Promise<GaxiosResponseWithHTTP2<Schema$GoogleLongrunning__Operation>>;
        run(params: Params$Resource$Customers$Offlineuserdatajobs$Run, options: StreamMethodOptions | BodyResponseCallback<Readable>, callback: BodyResponseCallback<Readable>): void;
        run(params: Params$Resource$Customers$Offlineuserdatajobs$Run, options: MethodOptions | BodyResponseCallback<Schema$GoogleLongrunning__Operation>, callback: BodyResponseCallback<Schema$GoogleLongrunning__Operation>): void;
        run(params: Params$Resource$Customers$Offlineuserdatajobs$Run, callback: BodyResponseCallback<Schema$GoogleLongrunning__Operation>): void;
        run(callback: BodyResponseCallback<Schema$GoogleLongrunning__Operation>): void;
    }
    export interface Params$Resource$Customers$Offlineuserdatajobs$Addoperations extends StandardParameters {
        /**
         * Required. The resource name of the OfflineUserDataJob.
         */
        resourceName?: string;
        /**
         * Request body metadata
         */
        requestBody?: Schema$GoogleAdsSearchads360V23Services__AddOfflineUserDataJobOperationsRequest;
    }
    export interface Params$Resource$Customers$Offlineuserdatajobs$Create extends StandardParameters {
        /**
         * Required. The ID of the customer for which to create an offline user data job.
         */
        customerId?: string;
        /**
         * Request body metadata
         */
        requestBody?: Schema$GoogleAdsSearchads360V23Services__CreateOfflineUserDataJobRequest;
    }
    export interface Params$Resource$Customers$Offlineuserdatajobs$Run extends StandardParameters {
        /**
         * Required. The resource name of the OfflineUserDataJob to run.
         */
        resourceName?: string;
        /**
         * Request body metadata
         */
        requestBody?: Schema$GoogleAdsSearchads360V23Services__RunOfflineUserDataJobRequest;
    }
    export class Resource$Customers$Paymentsaccounts {
        context: APIRequestContext;
        constructor(context: APIRequestContext);
        /**
         * Returns all payments accounts associated with all managers between the login customer ID and specified serving customer in the hierarchy, inclusive. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [HeaderError]() [InternalError]() [PaymentsAccountError]() [QuotaError]() [RequestError]()
         * @example
         * ```js
         * // Before running the sample:
         * // - Enable the API at:
         * //   https://console.developers.google.com/apis/api/searchads360.googleapis.com
         * // - Login into gcloud by running:
         * //   ```sh
         * //   $ gcloud auth application-default login
         * //   ```
         * // - Install the npm module by running:
         * //   ```sh
         * //   $ npm install googleapis
         * //   ```
         *
         * const {google} = require('googleapis');
         * const searchads360 = google.searchads360('v23');
         *
         * async function main() {
         *   const auth = new google.auth.GoogleAuth({
         *     // Scopes can be specified either as an array or as a single, space-delimited string.
         *     scopes: ['https://www.googleapis.com/auth/doubleclicksearch'],
         *   });
         *
         *   // Acquire an auth client, and bind it to all future calls
         *   const authClient = await auth.getClient();
         *   google.options({auth: authClient});
         *
         *   // Do the magic
         *   const res = await searchads360.customers.paymentsAccounts.list({
         *     // Required. The ID of the customer to apply the PaymentsAccount list operation to.
         *     customerId: '[^/]+',
         *   });
         *   console.log(res.data);
         *
         *   // Example response
         *   // {
         *   //   "paymentsAccounts": []
         *   // }
         * }
         *
         * main().catch(e => {
         *   console.error(e);
         *   throw e;
         * });
         *
         * ```
         *
         * @param params - Parameters for request
         * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
         * @param callback - Optional callback that handles the response.
         * @returns A promise if used with async/await, or void if used with a callback.
         */
        list(params: Params$Resource$Customers$Paymentsaccounts$List, options: StreamMethodOptions): Promise<GaxiosResponseWithHTTP2<Readable>>;
        list(params?: Params$Resource$Customers$Paymentsaccounts$List, options?: MethodOptions): Promise<GaxiosResponseWithHTTP2<Schema$GoogleAdsSearchads360V23Services__ListPaymentsAccountsResponse>>;
        list(params: Params$Resource$Customers$Paymentsaccounts$List, options: StreamMethodOptions | BodyResponseCallback<Readable>, callback: BodyResponseCallback<Readable>): void;
        list(params: Params$Resource$Customers$Paymentsaccounts$List, options: MethodOptions | BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__ListPaymentsAccountsResponse>, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__ListPaymentsAccountsResponse>): void;
        list(params: Params$Resource$Customers$Paymentsaccounts$List, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__ListPaymentsAccountsResponse>): void;
        list(callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__ListPaymentsAccountsResponse>): void;
    }
    export interface Params$Resource$Customers$Paymentsaccounts$List extends StandardParameters {
        /**
         * Required. The ID of the customer to apply the PaymentsAccount list operation to.
         */
        customerId?: string;
    }
    export class Resource$Customers$Productlinkinvitations {
        context: APIRequestContext;
        constructor(context: APIRequestContext);
        /**
         * Creates a product link invitation.
         * @example
         * ```js
         * // Before running the sample:
         * // - Enable the API at:
         * //   https://console.developers.google.com/apis/api/searchads360.googleapis.com
         * // - Login into gcloud by running:
         * //   ```sh
         * //   $ gcloud auth application-default login
         * //   ```
         * // - Install the npm module by running:
         * //   ```sh
         * //   $ npm install googleapis
         * //   ```
         *
         * const {google} = require('googleapis');
         * const searchads360 = google.searchads360('v23');
         *
         * async function main() {
         *   const auth = new google.auth.GoogleAuth({
         *     // Scopes can be specified either as an array or as a single, space-delimited string.
         *     scopes: ['https://www.googleapis.com/auth/doubleclicksearch'],
         *   });
         *
         *   // Acquire an auth client, and bind it to all future calls
         *   const authClient = await auth.getClient();
         *   google.options({auth: authClient});
         *
         *   // Do the magic
         *   const res = await searchads360.customers.productLinkInvitations.create({
         *     // Required. The ID of the customer being modified.
         *     customerId: '[^/]+',
         *
         *     // Request body metadata
         *     requestBody: {
         *       // request body parameters
         *       // {
         *       //   "productLinkInvitation": {}
         *       // }
         *     },
         *   });
         *   console.log(res.data);
         *
         *   // Example response
         *   // {
         *   //   "resourceName": "my_resourceName"
         *   // }
         * }
         *
         * main().catch(e => {
         *   console.error(e);
         *   throw e;
         * });
         *
         * ```
         *
         * @param params - Parameters for request
         * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
         * @param callback - Optional callback that handles the response.
         * @returns A promise if used with async/await, or void if used with a callback.
         */
        create(params: Params$Resource$Customers$Productlinkinvitations$Create, options: StreamMethodOptions): Promise<GaxiosResponseWithHTTP2<Readable>>;
        create(params?: Params$Resource$Customers$Productlinkinvitations$Create, options?: MethodOptions): Promise<GaxiosResponseWithHTTP2<Schema$GoogleAdsSearchads360V23Services__CreateProductLinkInvitationResponse>>;
        create(params: Params$Resource$Customers$Productlinkinvitations$Create, options: StreamMethodOptions | BodyResponseCallback<Readable>, callback: BodyResponseCallback<Readable>): void;
        create(params: Params$Resource$Customers$Productlinkinvitations$Create, options: MethodOptions | BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__CreateProductLinkInvitationResponse>, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__CreateProductLinkInvitationResponse>): void;
        create(params: Params$Resource$Customers$Productlinkinvitations$Create, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__CreateProductLinkInvitationResponse>): void;
        create(callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__CreateProductLinkInvitationResponse>): void;
        /**
         * Remove a product link invitation.
         * @example
         * ```js
         * // Before running the sample:
         * // - Enable the API at:
         * //   https://console.developers.google.com/apis/api/searchads360.googleapis.com
         * // - Login into gcloud by running:
         * //   ```sh
         * //   $ gcloud auth application-default login
         * //   ```
         * // - Install the npm module by running:
         * //   ```sh
         * //   $ npm install googleapis
         * //   ```
         *
         * const {google} = require('googleapis');
         * const searchads360 = google.searchads360('v23');
         *
         * async function main() {
         *   const auth = new google.auth.GoogleAuth({
         *     // Scopes can be specified either as an array or as a single, space-delimited string.
         *     scopes: ['https://www.googleapis.com/auth/doubleclicksearch'],
         *   });
         *
         *   // Acquire an auth client, and bind it to all future calls
         *   const authClient = await auth.getClient();
         *   google.options({auth: authClient});
         *
         *   // Do the magic
         *   const res = await searchads360.customers.productLinkInvitations.remove({
         *     // Required. The ID of the product link invitation being removed.
         *     customerId: '[^/]+',
         *
         *     // Request body metadata
         *     requestBody: {
         *       // request body parameters
         *       // {
         *       //   "resourceName": "my_resourceName"
         *       // }
         *     },
         *   });
         *   console.log(res.data);
         *
         *   // Example response
         *   // {
         *   //   "resourceName": "my_resourceName"
         *   // }
         * }
         *
         * main().catch(e => {
         *   console.error(e);
         *   throw e;
         * });
         *
         * ```
         *
         * @param params - Parameters for request
         * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
         * @param callback - Optional callback that handles the response.
         * @returns A promise if used with async/await, or void if used with a callback.
         */
        remove(params: Params$Resource$Customers$Productlinkinvitations$Remove, options: StreamMethodOptions): Promise<GaxiosResponseWithHTTP2<Readable>>;
        remove(params?: Params$Resource$Customers$Productlinkinvitations$Remove, options?: MethodOptions): Promise<GaxiosResponseWithHTTP2<Schema$GoogleAdsSearchads360V23Services__RemoveProductLinkInvitationResponse>>;
        remove(params: Params$Resource$Customers$Productlinkinvitations$Remove, options: StreamMethodOptions | BodyResponseCallback<Readable>, callback: BodyResponseCallback<Readable>): void;
        remove(params: Params$Resource$Customers$Productlinkinvitations$Remove, options: MethodOptions | BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__RemoveProductLinkInvitationResponse>, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__RemoveProductLinkInvitationResponse>): void;
        remove(params: Params$Resource$Customers$Productlinkinvitations$Remove, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__RemoveProductLinkInvitationResponse>): void;
        remove(callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__RemoveProductLinkInvitationResponse>): void;
        /**
         * Update a product link invitation.
         * @example
         * ```js
         * // Before running the sample:
         * // - Enable the API at:
         * //   https://console.developers.google.com/apis/api/searchads360.googleapis.com
         * // - Login into gcloud by running:
         * //   ```sh
         * //   $ gcloud auth application-default login
         * //   ```
         * // - Install the npm module by running:
         * //   ```sh
         * //   $ npm install googleapis
         * //   ```
         *
         * const {google} = require('googleapis');
         * const searchads360 = google.searchads360('v23');
         *
         * async function main() {
         *   const auth = new google.auth.GoogleAuth({
         *     // Scopes can be specified either as an array or as a single, space-delimited string.
         *     scopes: ['https://www.googleapis.com/auth/doubleclicksearch'],
         *   });
         *
         *   // Acquire an auth client, and bind it to all future calls
         *   const authClient = await auth.getClient();
         *   google.options({auth: authClient});
         *
         *   // Do the magic
         *   const res = await searchads360.customers.productLinkInvitations.update({
         *     // Required. The ID of the customer being modified.
         *     customerId: '[^/]+',
         *
         *     // Request body metadata
         *     requestBody: {
         *       // request body parameters
         *       // {
         *       //   "productLinkInvitationStatus": "my_productLinkInvitationStatus",
         *       //   "resourceName": "my_resourceName"
         *       // }
         *     },
         *   });
         *   console.log(res.data);
         *
         *   // Example response
         *   // {
         *   //   "resourceName": "my_resourceName"
         *   // }
         * }
         *
         * main().catch(e => {
         *   console.error(e);
         *   throw e;
         * });
         *
         * ```
         *
         * @param params - Parameters for request
         * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
         * @param callback - Optional callback that handles the response.
         * @returns A promise if used with async/await, or void if used with a callback.
         */
        update(params: Params$Resource$Customers$Productlinkinvitations$Update, options: StreamMethodOptions): Promise<GaxiosResponseWithHTTP2<Readable>>;
        update(params?: Params$Resource$Customers$Productlinkinvitations$Update, options?: MethodOptions): Promise<GaxiosResponseWithHTTP2<Schema$GoogleAdsSearchads360V23Services__UpdateProductLinkInvitationResponse>>;
        update(params: Params$Resource$Customers$Productlinkinvitations$Update, options: StreamMethodOptions | BodyResponseCallback<Readable>, callback: BodyResponseCallback<Readable>): void;
        update(params: Params$Resource$Customers$Productlinkinvitations$Update, options: MethodOptions | BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__UpdateProductLinkInvitationResponse>, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__UpdateProductLinkInvitationResponse>): void;
        update(params: Params$Resource$Customers$Productlinkinvitations$Update, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__UpdateProductLinkInvitationResponse>): void;
        update(callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__UpdateProductLinkInvitationResponse>): void;
    }
    export interface Params$Resource$Customers$Productlinkinvitations$Create extends StandardParameters {
        /**
         * Required. The ID of the customer being modified.
         */
        customerId?: string;
        /**
         * Request body metadata
         */
        requestBody?: Schema$GoogleAdsSearchads360V23Services__CreateProductLinkInvitationRequest;
    }
    export interface Params$Resource$Customers$Productlinkinvitations$Remove extends StandardParameters {
        /**
         * Required. The ID of the product link invitation being removed.
         */
        customerId?: string;
        /**
         * Request body metadata
         */
        requestBody?: Schema$GoogleAdsSearchads360V23Services__RemoveProductLinkInvitationRequest;
    }
    export interface Params$Resource$Customers$Productlinkinvitations$Update extends StandardParameters {
        /**
         * Required. The ID of the customer being modified.
         */
        customerId?: string;
        /**
         * Request body metadata
         */
        requestBody?: Schema$GoogleAdsSearchads360V23Services__UpdateProductLinkInvitationRequest;
    }
    export class Resource$Customers$Productlinks {
        context: APIRequestContext;
        constructor(context: APIRequestContext);
        /**
         * Creates a product link. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [DatabaseError]() [FieldError]() [HeaderError]() [InternalError]() [MutateError]() [QuotaError]() [RequestError]()
         * @example
         * ```js
         * // Before running the sample:
         * // - Enable the API at:
         * //   https://console.developers.google.com/apis/api/searchads360.googleapis.com
         * // - Login into gcloud by running:
         * //   ```sh
         * //   $ gcloud auth application-default login
         * //   ```
         * // - Install the npm module by running:
         * //   ```sh
         * //   $ npm install googleapis
         * //   ```
         *
         * const {google} = require('googleapis');
         * const searchads360 = google.searchads360('v23');
         *
         * async function main() {
         *   const auth = new google.auth.GoogleAuth({
         *     // Scopes can be specified either as an array or as a single, space-delimited string.
         *     scopes: ['https://www.googleapis.com/auth/doubleclicksearch'],
         *   });
         *
         *   // Acquire an auth client, and bind it to all future calls
         *   const authClient = await auth.getClient();
         *   google.options({auth: authClient});
         *
         *   // Do the magic
         *   const res = await searchads360.customers.productLinks.create({
         *     // Required. The ID of the customer for which the product link is created.
         *     customerId: '[^/]+',
         *
         *     // Request body metadata
         *     requestBody: {
         *       // request body parameters
         *       // {
         *       //   "productLink": {}
         *       // }
         *     },
         *   });
         *   console.log(res.data);
         *
         *   // Example response
         *   // {
         *   //   "resourceName": "my_resourceName"
         *   // }
         * }
         *
         * main().catch(e => {
         *   console.error(e);
         *   throw e;
         * });
         *
         * ```
         *
         * @param params - Parameters for request
         * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
         * @param callback - Optional callback that handles the response.
         * @returns A promise if used with async/await, or void if used with a callback.
         */
        create(params: Params$Resource$Customers$Productlinks$Create, options: StreamMethodOptions): Promise<GaxiosResponseWithHTTP2<Readable>>;
        create(params?: Params$Resource$Customers$Productlinks$Create, options?: MethodOptions): Promise<GaxiosResponseWithHTTP2<Schema$GoogleAdsSearchads360V23Services__CreateProductLinkResponse>>;
        create(params: Params$Resource$Customers$Productlinks$Create, options: StreamMethodOptions | BodyResponseCallback<Readable>, callback: BodyResponseCallback<Readable>): void;
        create(params: Params$Resource$Customers$Productlinks$Create, options: MethodOptions | BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__CreateProductLinkResponse>, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__CreateProductLinkResponse>): void;
        create(params: Params$Resource$Customers$Productlinks$Create, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__CreateProductLinkResponse>): void;
        create(callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__CreateProductLinkResponse>): void;
        /**
         * Removes a product link. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [FieldMaskError]() [HeaderError]() [InternalError]() [MutateError]() [QuotaError]() [RequestError]()
         * @example
         * ```js
         * // Before running the sample:
         * // - Enable the API at:
         * //   https://console.developers.google.com/apis/api/searchads360.googleapis.com
         * // - Login into gcloud by running:
         * //   ```sh
         * //   $ gcloud auth application-default login
         * //   ```
         * // - Install the npm module by running:
         * //   ```sh
         * //   $ npm install googleapis
         * //   ```
         *
         * const {google} = require('googleapis');
         * const searchads360 = google.searchads360('v23');
         *
         * async function main() {
         *   const auth = new google.auth.GoogleAuth({
         *     // Scopes can be specified either as an array or as a single, space-delimited string.
         *     scopes: ['https://www.googleapis.com/auth/doubleclicksearch'],
         *   });
         *
         *   // Acquire an auth client, and bind it to all future calls
         *   const authClient = await auth.getClient();
         *   google.options({auth: authClient});
         *
         *   // Do the magic
         *   const res = await searchads360.customers.productLinks.remove({
         *     // Required. The ID of the customer being modified.
         *     customerId: '[^/]+',
         *
         *     // Request body metadata
         *     requestBody: {
         *       // request body parameters
         *       // {
         *       //   "resourceName": "my_resourceName",
         *       //   "validateOnly": false
         *       // }
         *     },
         *   });
         *   console.log(res.data);
         *
         *   // Example response
         *   // {
         *   //   "resourceName": "my_resourceName"
         *   // }
         * }
         *
         * main().catch(e => {
         *   console.error(e);
         *   throw e;
         * });
         *
         * ```
         *
         * @param params - Parameters for request
         * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
         * @param callback - Optional callback that handles the response.
         * @returns A promise if used with async/await, or void if used with a callback.
         */
        remove(params: Params$Resource$Customers$Productlinks$Remove, options: StreamMethodOptions): Promise<GaxiosResponseWithHTTP2<Readable>>;
        remove(params?: Params$Resource$Customers$Productlinks$Remove, options?: MethodOptions): Promise<GaxiosResponseWithHTTP2<Schema$GoogleAdsSearchads360V23Services__RemoveProductLinkResponse>>;
        remove(params: Params$Resource$Customers$Productlinks$Remove, options: StreamMethodOptions | BodyResponseCallback<Readable>, callback: BodyResponseCallback<Readable>): void;
        remove(params: Params$Resource$Customers$Productlinks$Remove, options: MethodOptions | BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__RemoveProductLinkResponse>, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__RemoveProductLinkResponse>): void;
        remove(params: Params$Resource$Customers$Productlinks$Remove, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__RemoveProductLinkResponse>): void;
        remove(callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__RemoveProductLinkResponse>): void;
    }
    export interface Params$Resource$Customers$Productlinks$Create extends StandardParameters {
        /**
         * Required. The ID of the customer for which the product link is created.
         */
        customerId?: string;
        /**
         * Request body metadata
         */
        requestBody?: Schema$GoogleAdsSearchads360V23Services__CreateProductLinkRequest;
    }
    export interface Params$Resource$Customers$Productlinks$Remove extends StandardParameters {
        /**
         * Required. The ID of the customer being modified.
         */
        customerId?: string;
        /**
         * Request body metadata
         */
        requestBody?: Schema$GoogleAdsSearchads360V23Services__RemoveProductLinkRequest;
    }
    export class Resource$Customers$Recommendations {
        context: APIRequestContext;
        constructor(context: APIRequestContext);
        /**
         * Applies given recommendations with corresponding apply parameters. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [DatabaseError]() [FieldError]() [HeaderError]() [InternalError]() [MutateError]() [QuotaError]() [RecommendationError]() [RequestError]() [UrlFieldError]()
         * @example
         * ```js
         * // Before running the sample:
         * // - Enable the API at:
         * //   https://console.developers.google.com/apis/api/searchads360.googleapis.com
         * // - Login into gcloud by running:
         * //   ```sh
         * //   $ gcloud auth application-default login
         * //   ```
         * // - Install the npm module by running:
         * //   ```sh
         * //   $ npm install googleapis
         * //   ```
         *
         * const {google} = require('googleapis');
         * const searchads360 = google.searchads360('v23');
         *
         * async function main() {
         *   const auth = new google.auth.GoogleAuth({
         *     // Scopes can be specified either as an array or as a single, space-delimited string.
         *     scopes: ['https://www.googleapis.com/auth/doubleclicksearch'],
         *   });
         *
         *   // Acquire an auth client, and bind it to all future calls
         *   const authClient = await auth.getClient();
         *   google.options({auth: authClient});
         *
         *   // Do the magic
         *   const res = await searchads360.customers.recommendations.apply({
         *     // Required. The ID of the customer with the recommendation.
         *     customerId: '[^/]+',
         *
         *     // Request body metadata
         *     requestBody: {
         *       // request body parameters
         *       // {
         *       //   "operations": [],
         *       //   "partialFailure": false
         *       // }
         *     },
         *   });
         *   console.log(res.data);
         *
         *   // Example response
         *   // {
         *   //   "partialFailureError": {},
         *   //   "results": []
         *   // }
         * }
         *
         * main().catch(e => {
         *   console.error(e);
         *   throw e;
         * });
         *
         * ```
         *
         * @param params - Parameters for request
         * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
         * @param callback - Optional callback that handles the response.
         * @returns A promise if used with async/await, or void if used with a callback.
         */
        apply(params: Params$Resource$Customers$Recommendations$Apply, options: StreamMethodOptions): Promise<GaxiosResponseWithHTTP2<Readable>>;
        apply(params?: Params$Resource$Customers$Recommendations$Apply, options?: MethodOptions): Promise<GaxiosResponseWithHTTP2<Schema$GoogleAdsSearchads360V23Services__ApplyRecommendationResponse>>;
        apply(params: Params$Resource$Customers$Recommendations$Apply, options: StreamMethodOptions | BodyResponseCallback<Readable>, callback: BodyResponseCallback<Readable>): void;
        apply(params: Params$Resource$Customers$Recommendations$Apply, options: MethodOptions | BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__ApplyRecommendationResponse>, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__ApplyRecommendationResponse>): void;
        apply(params: Params$Resource$Customers$Recommendations$Apply, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__ApplyRecommendationResponse>): void;
        apply(callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__ApplyRecommendationResponse>): void;
        /**
         * Dismisses given recommendations. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [HeaderError]() [InternalError]() [QuotaError]() [RecommendationError]() [RequestError]()
         * @example
         * ```js
         * // Before running the sample:
         * // - Enable the API at:
         * //   https://console.developers.google.com/apis/api/searchads360.googleapis.com
         * // - Login into gcloud by running:
         * //   ```sh
         * //   $ gcloud auth application-default login
         * //   ```
         * // - Install the npm module by running:
         * //   ```sh
         * //   $ npm install googleapis
         * //   ```
         *
         * const {google} = require('googleapis');
         * const searchads360 = google.searchads360('v23');
         *
         * async function main() {
         *   const auth = new google.auth.GoogleAuth({
         *     // Scopes can be specified either as an array or as a single, space-delimited string.
         *     scopes: ['https://www.googleapis.com/auth/doubleclicksearch'],
         *   });
         *
         *   // Acquire an auth client, and bind it to all future calls
         *   const authClient = await auth.getClient();
         *   google.options({auth: authClient});
         *
         *   // Do the magic
         *   const res = await searchads360.customers.recommendations.dismiss({
         *     // Required. The ID of the customer with the recommendation.
         *     customerId: '[^/]+',
         *
         *     // Request body metadata
         *     requestBody: {
         *       // request body parameters
         *       // {
         *       //   "operations": [],
         *       //   "partialFailure": false
         *       // }
         *     },
         *   });
         *   console.log(res.data);
         *
         *   // Example response
         *   // {
         *   //   "partialFailureError": {},
         *   //   "results": []
         *   // }
         * }
         *
         * main().catch(e => {
         *   console.error(e);
         *   throw e;
         * });
         *
         * ```
         *
         * @param params - Parameters for request
         * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
         * @param callback - Optional callback that handles the response.
         * @returns A promise if used with async/await, or void if used with a callback.
         */
        dismiss(params: Params$Resource$Customers$Recommendations$Dismiss, options: StreamMethodOptions): Promise<GaxiosResponseWithHTTP2<Readable>>;
        dismiss(params?: Params$Resource$Customers$Recommendations$Dismiss, options?: MethodOptions): Promise<GaxiosResponseWithHTTP2<Schema$GoogleAdsSearchads360V23Services__DismissRecommendationResponse>>;
        dismiss(params: Params$Resource$Customers$Recommendations$Dismiss, options: StreamMethodOptions | BodyResponseCallback<Readable>, callback: BodyResponseCallback<Readable>): void;
        dismiss(params: Params$Resource$Customers$Recommendations$Dismiss, options: MethodOptions | BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__DismissRecommendationResponse>, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__DismissRecommendationResponse>): void;
        dismiss(params: Params$Resource$Customers$Recommendations$Dismiss, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__DismissRecommendationResponse>): void;
        dismiss(callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__DismissRecommendationResponse>): void;
        /**
         * Generates Recommendations based off the requested recommendation_types. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [HeaderError]() [InternalError]() [QuotaError]() [RecommendationError]() [RequestError]()
         * @example
         * ```js
         * // Before running the sample:
         * // - Enable the API at:
         * //   https://console.developers.google.com/apis/api/searchads360.googleapis.com
         * // - Login into gcloud by running:
         * //   ```sh
         * //   $ gcloud auth application-default login
         * //   ```
         * // - Install the npm module by running:
         * //   ```sh
         * //   $ npm install googleapis
         * //   ```
         *
         * const {google} = require('googleapis');
         * const searchads360 = google.searchads360('v23');
         *
         * async function main() {
         *   const auth = new google.auth.GoogleAuth({
         *     // Scopes can be specified either as an array or as a single, space-delimited string.
         *     scopes: ['https://www.googleapis.com/auth/doubleclicksearch'],
         *   });
         *
         *   // Acquire an auth client, and bind it to all future calls
         *   const authClient = await auth.getClient();
         *   google.options({auth: authClient});
         *
         *   // Do the magic
         *   const res = await searchads360.customers.recommendations.generate({
         *     // Required. The ID of the customer generating recommendations.
         *     customerId: '[^/]+',
         *
         *     // Request body metadata
         *     requestBody: {
         *       // request body parameters
         *       // {
         *       //   "adGroupInfo": [],
         *       //   "advertisingChannelType": "my_advertisingChannelType",
         *       //   "assetGroupInfo": [],
         *       //   "biddingInfo": {},
         *       //   "budgetInfo": {},
         *       //   "campaignCallAssetCount": 0,
         *       //   "campaignImageAssetCount": 0,
         *       //   "campaignSitelinkCount": 0,
         *       //   "conversionTrackingStatus": "my_conversionTrackingStatus",
         *       //   "countryCodes": [],
         *       //   "isNewCustomer": false,
         *       //   "languageCodes": [],
         *       //   "merchantCenterAccountId": "my_merchantCenterAccountId",
         *       //   "negativeLocationsIds": [],
         *       //   "positiveLocationsIds": [],
         *       //   "recommendationTypes": [],
         *       //   "seedInfo": {},
         *       //   "targetContentNetwork": false,
         *       //   "targetPartnerSearchNetwork": false
         *       // }
         *     },
         *   });
         *   console.log(res.data);
         *
         *   // Example response
         *   // {
         *   //   "recommendations": []
         *   // }
         * }
         *
         * main().catch(e => {
         *   console.error(e);
         *   throw e;
         * });
         *
         * ```
         *
         * @param params - Parameters for request
         * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
         * @param callback - Optional callback that handles the response.
         * @returns A promise if used with async/await, or void if used with a callback.
         */
        generate(params: Params$Resource$Customers$Recommendations$Generate, options: StreamMethodOptions): Promise<GaxiosResponseWithHTTP2<Readable>>;
        generate(params?: Params$Resource$Customers$Recommendations$Generate, options?: MethodOptions): Promise<GaxiosResponseWithHTTP2<Schema$GoogleAdsSearchads360V23Services__GenerateRecommendationsResponse>>;
        generate(params: Params$Resource$Customers$Recommendations$Generate, options: StreamMethodOptions | BodyResponseCallback<Readable>, callback: BodyResponseCallback<Readable>): void;
        generate(params: Params$Resource$Customers$Recommendations$Generate, options: MethodOptions | BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__GenerateRecommendationsResponse>, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__GenerateRecommendationsResponse>): void;
        generate(params: Params$Resource$Customers$Recommendations$Generate, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__GenerateRecommendationsResponse>): void;
        generate(callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__GenerateRecommendationsResponse>): void;
    }
    export interface Params$Resource$Customers$Recommendations$Apply extends StandardParameters {
        /**
         * Required. The ID of the customer with the recommendation.
         */
        customerId?: string;
        /**
         * Request body metadata
         */
        requestBody?: Schema$GoogleAdsSearchads360V23Services__ApplyRecommendationRequest;
    }
    export interface Params$Resource$Customers$Recommendations$Dismiss extends StandardParameters {
        /**
         * Required. The ID of the customer with the recommendation.
         */
        customerId?: string;
        /**
         * Request body metadata
         */
        requestBody?: Schema$GoogleAdsSearchads360V23Services__DismissRecommendationRequest;
    }
    export interface Params$Resource$Customers$Recommendations$Generate extends StandardParameters {
        /**
         * Required. The ID of the customer generating recommendations.
         */
        customerId?: string;
        /**
         * Request body metadata
         */
        requestBody?: Schema$GoogleAdsSearchads360V23Services__GenerateRecommendationsRequest;
    }
    export class Resource$Customers$Recommendationsubscriptions {
        context: APIRequestContext;
        constructor(context: APIRequestContext);
        /**
         * Mutates given subscription with corresponding apply parameters. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [DatabaseError]() [FieldError]() [HeaderError]() [InternalError]() [MutateError]() [QuotaError]() [RecommendationError]() [RecommendationSubscriptionError]() [RequestError]() [UrlFieldError]()
         * @example
         * ```js
         * // Before running the sample:
         * // - Enable the API at:
         * //   https://console.developers.google.com/apis/api/searchads360.googleapis.com
         * // - Login into gcloud by running:
         * //   ```sh
         * //   $ gcloud auth application-default login
         * //   ```
         * // - Install the npm module by running:
         * //   ```sh
         * //   $ npm install googleapis
         * //   ```
         *
         * const {google} = require('googleapis');
         * const searchads360 = google.searchads360('v23');
         *
         * async function main() {
         *   const auth = new google.auth.GoogleAuth({
         *     // Scopes can be specified either as an array or as a single, space-delimited string.
         *     scopes: ['https://www.googleapis.com/auth/doubleclicksearch'],
         *   });
         *
         *   // Acquire an auth client, and bind it to all future calls
         *   const authClient = await auth.getClient();
         *   google.options({auth: authClient});
         *
         *   // Do the magic
         *   const res =
         *     await searchads360.customers.recommendationSubscriptions.mutateRecommendationSubscription(
         *       {
         *         // Required. The ID of the subscribing customer.
         *         customerId: '[^/]+',
         *
         *         // Request body metadata
         *         requestBody: {
         *           // request body parameters
         *           // {
         *           //   "operations": [],
         *           //   "partialFailure": false,
         *           //   "responseContentType": "my_responseContentType",
         *           //   "validateOnly": false
         *           // }
         *         },
         *       },
         *     );
         *   console.log(res.data);
         *
         *   // Example response
         *   // {
         *   //   "partialFailureError": {},
         *   //   "results": []
         *   // }
         * }
         *
         * main().catch(e => {
         *   console.error(e);
         *   throw e;
         * });
         *
         * ```
         *
         * @param params - Parameters for request
         * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
         * @param callback - Optional callback that handles the response.
         * @returns A promise if used with async/await, or void if used with a callback.
         */
        mutateRecommendationSubscription(params: Params$Resource$Customers$Recommendationsubscriptions$Mutaterecommendationsubscription, options: StreamMethodOptions): Promise<GaxiosResponseWithHTTP2<Readable>>;
        mutateRecommendationSubscription(params?: Params$Resource$Customers$Recommendationsubscriptions$Mutaterecommendationsubscription, options?: MethodOptions): Promise<GaxiosResponseWithHTTP2<Schema$GoogleAdsSearchads360V23Services__MutateRecommendationSubscriptionResponse>>;
        mutateRecommendationSubscription(params: Params$Resource$Customers$Recommendationsubscriptions$Mutaterecommendationsubscription, options: StreamMethodOptions | BodyResponseCallback<Readable>, callback: BodyResponseCallback<Readable>): void;
        mutateRecommendationSubscription(params: Params$Resource$Customers$Recommendationsubscriptions$Mutaterecommendationsubscription, options: MethodOptions | BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateRecommendationSubscriptionResponse>, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateRecommendationSubscriptionResponse>): void;
        mutateRecommendationSubscription(params: Params$Resource$Customers$Recommendationsubscriptions$Mutaterecommendationsubscription, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateRecommendationSubscriptionResponse>): void;
        mutateRecommendationSubscription(callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateRecommendationSubscriptionResponse>): void;
    }
    export interface Params$Resource$Customers$Recommendationsubscriptions$Mutaterecommendationsubscription extends StandardParameters {
        /**
         * Required. The ID of the subscribing customer.
         */
        customerId?: string;
        /**
         * Request body metadata
         */
        requestBody?: Schema$GoogleAdsSearchads360V23Services__MutateRecommendationSubscriptionRequest;
    }
    export class Resource$Customers$Remarketingactions {
        context: APIRequestContext;
        constructor(context: APIRequestContext);
        /**
         * Creates or updates remarketing actions. Operation statuses are returned. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [ConversionActionError]() [HeaderError]() [InternalError]() [QuotaError]() [RequestError]()
         * @example
         * ```js
         * // Before running the sample:
         * // - Enable the API at:
         * //   https://console.developers.google.com/apis/api/searchads360.googleapis.com
         * // - Login into gcloud by running:
         * //   ```sh
         * //   $ gcloud auth application-default login
         * //   ```
         * // - Install the npm module by running:
         * //   ```sh
         * //   $ npm install googleapis
         * //   ```
         *
         * const {google} = require('googleapis');
         * const searchads360 = google.searchads360('v23');
         *
         * async function main() {
         *   const auth = new google.auth.GoogleAuth({
         *     // Scopes can be specified either as an array or as a single, space-delimited string.
         *     scopes: ['https://www.googleapis.com/auth/doubleclicksearch'],
         *   });
         *
         *   // Acquire an auth client, and bind it to all future calls
         *   const authClient = await auth.getClient();
         *   google.options({auth: authClient});
         *
         *   // Do the magic
         *   const res = await searchads360.customers.remarketingActions.mutate({
         *     // Required. The ID of the customer whose remarketing actions are being modified.
         *     customerId: '[^/]+',
         *
         *     // Request body metadata
         *     requestBody: {
         *       // request body parameters
         *       // {
         *       //   "operations": [],
         *       //   "partialFailure": false,
         *       //   "validateOnly": false
         *       // }
         *     },
         *   });
         *   console.log(res.data);
         *
         *   // Example response
         *   // {
         *   //   "partialFailureError": {},
         *   //   "results": []
         *   // }
         * }
         *
         * main().catch(e => {
         *   console.error(e);
         *   throw e;
         * });
         *
         * ```
         *
         * @param params - Parameters for request
         * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
         * @param callback - Optional callback that handles the response.
         * @returns A promise if used with async/await, or void if used with a callback.
         */
        mutate(params: Params$Resource$Customers$Remarketingactions$Mutate, options: StreamMethodOptions): Promise<GaxiosResponseWithHTTP2<Readable>>;
        mutate(params?: Params$Resource$Customers$Remarketingactions$Mutate, options?: MethodOptions): Promise<GaxiosResponseWithHTTP2<Schema$GoogleAdsSearchads360V23Services__MutateRemarketingActionsResponse>>;
        mutate(params: Params$Resource$Customers$Remarketingactions$Mutate, options: StreamMethodOptions | BodyResponseCallback<Readable>, callback: BodyResponseCallback<Readable>): void;
        mutate(params: Params$Resource$Customers$Remarketingactions$Mutate, options: MethodOptions | BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateRemarketingActionsResponse>, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateRemarketingActionsResponse>): void;
        mutate(params: Params$Resource$Customers$Remarketingactions$Mutate, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateRemarketingActionsResponse>): void;
        mutate(callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateRemarketingActionsResponse>): void;
    }
    export interface Params$Resource$Customers$Remarketingactions$Mutate extends StandardParameters {
        /**
         * Required. The ID of the customer whose remarketing actions are being modified.
         */
        customerId?: string;
        /**
         * Request body metadata
         */
        requestBody?: Schema$GoogleAdsSearchads360V23Services__MutateRemarketingActionsRequest;
    }
    export class Resource$Customers$Searchads360 {
        context: APIRequestContext;
        constructor(context: APIRequestContext);
        /**
         * This method is essentially a wrapper around a series of mutate methods. The only features it offers over calling those methods directly are: - Atomic transactions - Temp resource names (described below) - Somewhat reduced latency over making a series of mutate calls Note: Only resources that support atomic transactions are included, so this method can't replace all calls to individual services. ## Atomic Transaction Benefits Atomicity makes error handling much easier. If you're making a series of changes and one fails, it can leave your account in an inconsistent state. With atomicity, you either reach the chosen state directly, or the request fails and you can retry. ## Temp Resource Names Temp resource names are a special type of resource name used to create a resource and reference that resource in the same request. For example, if a is created with `resource_name` equal to ``, that resource name can be reused in the `` field in the same request. That way, the two resources are created and linked atomically. To create a temp resource name, put a negative number in the part of the name that the server would normally allocate. Note: - Resources must be created with a temp name before the name can be reused. For example, the previous example would fail if the mutate order was reversed. - Temp names are not remembered across requests. - There's no limit to the number of temp names in a request. - Each temp name must use a unique negative number, even if the resource types differ. ## Latency It's important to group mutates by resource type or the request may time out and fail. Latency is roughly equal to a series of calls to individual mutate methods, where each change in resource type is a new call. For example, mutating is like 2 calls, while mutating is like 4 calls. List of thrown errors: [AdCustomizerError]() [AdError]() [AdGroupAdError]() [AdGroupCriterionError]() [AdGroupError]() [AssetError]() [AuthenticationError]() [AuthorizationError]() [BiddingError]() [CampaignBudgetError]() [CampaignCriterionError]() [CampaignError]() [CampaignExperimentError]() [CampaignSharedSetError]() [CollectionSizeError]() [ContextError]() [ConversionActionError]() [CriterionError]() [CustomerFeedError]() [DatabaseError]() [DateError]() [DateRangeError]() [DistinctError]() [ExtensionFeedItemError]() [ExtensionSettingError]() [FeedAttributeReferenceError]() [FeedError]() [FeedItemError]() [FeedItemSetError]() [FieldError]() [FieldMaskError]() [FunctionParsingError]() [HeaderError]() [ImageError]() [InternalError]() [KeywordPlanAdGroupKeywordError]() [KeywordPlanCampaignError]() [KeywordPlanError]() [LabelError]() [ListOperationError]() [MediaUploadError]() [MutateError]() [NewResourceCreationError]() [NullError]() [OperationAccessDeniedError]() [PolicyFindingError]() [PolicyViolationError]() [QuotaError]() [RangeError]() [RequestError]() [ResourceCountLimitExceededError]() [SettingError]() [SharedSetError]() [SizeLimitError]() [StringFormatError]() [StringLengthError]() [UrlFieldError]() [UserListError]() [YoutubeVideoRegistrationError]()
         * @example
         * ```js
         * // Before running the sample:
         * // - Enable the API at:
         * //   https://console.developers.google.com/apis/api/searchads360.googleapis.com
         * // - Login into gcloud by running:
         * //   ```sh
         * //   $ gcloud auth application-default login
         * //   ```
         * // - Install the npm module by running:
         * //   ```sh
         * //   $ npm install googleapis
         * //   ```
         *
         * const {google} = require('googleapis');
         * const searchads360 = google.searchads360('v23');
         *
         * async function main() {
         *   const auth = new google.auth.GoogleAuth({
         *     // Scopes can be specified either as an array or as a single, space-delimited string.
         *     scopes: ['https://www.googleapis.com/auth/doubleclicksearch'],
         *   });
         *
         *   // Acquire an auth client, and bind it to all future calls
         *   const authClient = await auth.getClient();
         *   google.options({auth: authClient});
         *
         *   // Do the magic
         *   const res = await searchads360.customers.searchAds360.mutate({
         *     // Required. The ID of the customer whose resources are being modified.
         *     customerId: '[^/]+',
         *
         *     // Request body metadata
         *     requestBody: {
         *       // request body parameters
         *       // {
         *       //   "mutateOperations": [],
         *       //   "partialFailure": false,
         *       //   "responseContentType": "my_responseContentType",
         *       //   "validateOnly": false
         *       // }
         *     },
         *   });
         *   console.log(res.data);
         *
         *   // Example response
         *   // {
         *   //   "mutateOperationResponses": [],
         *   //   "partialFailureError": {}
         *   // }
         * }
         *
         * main().catch(e => {
         *   console.error(e);
         *   throw e;
         * });
         *
         * ```
         *
         * @param params - Parameters for request
         * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
         * @param callback - Optional callback that handles the response.
         * @returns A promise if used with async/await, or void if used with a callback.
         */
        mutate(params: Params$Resource$Customers$Searchads360$Mutate, options: StreamMethodOptions): Promise<GaxiosResponseWithHTTP2<Readable>>;
        mutate(params?: Params$Resource$Customers$Searchads360$Mutate, options?: MethodOptions): Promise<GaxiosResponseWithHTTP2<Schema$GoogleAdsSearchads360V23Services__MutateSearchAds360Response>>;
        mutate(params: Params$Resource$Customers$Searchads360$Mutate, options: StreamMethodOptions | BodyResponseCallback<Readable>, callback: BodyResponseCallback<Readable>): void;
        mutate(params: Params$Resource$Customers$Searchads360$Mutate, options: MethodOptions | BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateSearchAds360Response>, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateSearchAds360Response>): void;
        mutate(params: Params$Resource$Customers$Searchads360$Mutate, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateSearchAds360Response>): void;
        mutate(callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateSearchAds360Response>): void;
        /**
         * Returns all rows that match the search query. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [ChangeEventError]() [ChangeStatusError]() [ClickViewError]() [HeaderError]() [InternalError]() [QueryError]() [QuotaError]() [RequestError]()
         * @example
         * ```js
         * // Before running the sample:
         * // - Enable the API at:
         * //   https://console.developers.google.com/apis/api/searchads360.googleapis.com
         * // - Login into gcloud by running:
         * //   ```sh
         * //   $ gcloud auth application-default login
         * //   ```
         * // - Install the npm module by running:
         * //   ```sh
         * //   $ npm install googleapis
         * //   ```
         *
         * const {google} = require('googleapis');
         * const searchads360 = google.searchads360('v23');
         *
         * async function main() {
         *   const auth = new google.auth.GoogleAuth({
         *     // Scopes can be specified either as an array or as a single, space-delimited string.
         *     scopes: ['https://www.googleapis.com/auth/doubleclicksearch'],
         *   });
         *
         *   // Acquire an auth client, and bind it to all future calls
         *   const authClient = await auth.getClient();
         *   google.options({auth: authClient});
         *
         *   // Do the magic
         *   const res = await searchads360.customers.searchAds360.search({
         *     // Required. The ID of the customer being queried.
         *     customerId: '[^/]+',
         *
         *     // Request body metadata
         *     requestBody: {
         *       // request body parameters
         *       // {
         *       //   "pageSize": 0,
         *       //   "pageToken": "my_pageToken",
         *       //   "query": "my_query",
         *       //   "searchSettings": {},
         *       //   "validateOnly": false
         *       // }
         *     },
         *   });
         *   console.log(res.data);
         *
         *   // Example response
         *   // {
         *   //   "conversionCustomDimensionHeaders": [],
         *   //   "conversionCustomMetricHeaders": [],
         *   //   "customColumnHeaders": [],
         *   //   "fieldMask": "my_fieldMask",
         *   //   "metricAttributes": [],
         *   //   "nextPageToken": "my_nextPageToken",
         *   //   "queryResourceConsumption": "my_queryResourceConsumption",
         *   //   "rawEventConversionDimensionHeaders": [],
         *   //   "rawEventConversionMetricHeaders": [],
         *   //   "results": [],
         *   //   "summaryRow": {},
         *   //   "totalResultsCount": "my_totalResultsCount"
         *   // }
         * }
         *
         * main().catch(e => {
         *   console.error(e);
         *   throw e;
         * });
         *
         * ```
         *
         * @param params - Parameters for request
         * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
         * @param callback - Optional callback that handles the response.
         * @returns A promise if used with async/await, or void if used with a callback.
         */
        search(params: Params$Resource$Customers$Searchads360$Search, options: StreamMethodOptions): Promise<GaxiosResponseWithHTTP2<Readable>>;
        search(params?: Params$Resource$Customers$Searchads360$Search, options?: MethodOptions): Promise<GaxiosResponseWithHTTP2<Schema$GoogleAdsSearchads360V23Services__SearchSearchAds360Response>>;
        search(params: Params$Resource$Customers$Searchads360$Search, options: StreamMethodOptions | BodyResponseCallback<Readable>, callback: BodyResponseCallback<Readable>): void;
        search(params: Params$Resource$Customers$Searchads360$Search, options: MethodOptions | BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__SearchSearchAds360Response>, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__SearchSearchAds360Response>): void;
        search(params: Params$Resource$Customers$Searchads360$Search, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__SearchSearchAds360Response>): void;
        search(callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__SearchSearchAds360Response>): void;
    }
    export interface Params$Resource$Customers$Searchads360$Mutate extends StandardParameters {
        /**
         * Required. The ID of the customer whose resources are being modified.
         */
        customerId?: string;
        /**
         * Request body metadata
         */
        requestBody?: Schema$GoogleAdsSearchads360V23Services__MutateSearchAds360Request;
    }
    export interface Params$Resource$Customers$Searchads360$Search extends StandardParameters {
        /**
         * Required. The ID of the customer being queried.
         */
        customerId?: string;
        /**
         * Request body metadata
         */
        requestBody?: Schema$GoogleAdsSearchads360V23Services__SearchSearchAds360Request;
    }
    export class Resource$Customers$Searchads360campaigns {
        context: APIRequestContext;
        constructor(context: APIRequestContext);
        /**
         * Updates Search Ads 360 campaigns. Operation statuses are returned. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [HeaderError]() [InternalError]() [MutateError]() [QuotaError]() [RequestError]()
         * @example
         * ```js
         * // Before running the sample:
         * // - Enable the API at:
         * //   https://console.developers.google.com/apis/api/searchads360.googleapis.com
         * // - Login into gcloud by running:
         * //   ```sh
         * //   $ gcloud auth application-default login
         * //   ```
         * // - Install the npm module by running:
         * //   ```sh
         * //   $ npm install googleapis
         * //   ```
         *
         * const {google} = require('googleapis');
         * const searchads360 = google.searchads360('v23');
         *
         * async function main() {
         *   const auth = new google.auth.GoogleAuth({
         *     // Scopes can be specified either as an array or as a single, space-delimited string.
         *     scopes: ['https://www.googleapis.com/auth/doubleclicksearch'],
         *   });
         *
         *   // Acquire an auth client, and bind it to all future calls
         *   const authClient = await auth.getClient();
         *   google.options({auth: authClient});
         *
         *   // Do the magic
         *   const res = await searchads360.customers.searchAds360Campaigns.mutate({
         *     // Required. The ID of the customer whose Search Ads 360 campaigns are being modified.
         *     customerId: '[^/]+',
         *
         *     // Request body metadata
         *     requestBody: {
         *       // request body parameters
         *       // {
         *       //   "operations": [],
         *       //   "partialFailure": false,
         *       //   "responseContentType": "my_responseContentType",
         *       //   "validateOnly": false
         *       // }
         *     },
         *   });
         *   console.log(res.data);
         *
         *   // Example response
         *   // {
         *   //   "results": []
         *   // }
         * }
         *
         * main().catch(e => {
         *   console.error(e);
         *   throw e;
         * });
         *
         * ```
         *
         * @param params - Parameters for request
         * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
         * @param callback - Optional callback that handles the response.
         * @returns A promise if used with async/await, or void if used with a callback.
         */
        mutate(params: Params$Resource$Customers$Searchads360campaigns$Mutate, options: StreamMethodOptions): Promise<GaxiosResponseWithHTTP2<Readable>>;
        mutate(params?: Params$Resource$Customers$Searchads360campaigns$Mutate, options?: MethodOptions): Promise<GaxiosResponseWithHTTP2<Schema$GoogleAdsSearchads360V23Services__MutateSearchAds360CampaignsResponse>>;
        mutate(params: Params$Resource$Customers$Searchads360campaigns$Mutate, options: StreamMethodOptions | BodyResponseCallback<Readable>, callback: BodyResponseCallback<Readable>): void;
        mutate(params: Params$Resource$Customers$Searchads360campaigns$Mutate, options: MethodOptions | BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateSearchAds360CampaignsResponse>, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateSearchAds360CampaignsResponse>): void;
        mutate(params: Params$Resource$Customers$Searchads360campaigns$Mutate, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateSearchAds360CampaignsResponse>): void;
        mutate(callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateSearchAds360CampaignsResponse>): void;
    }
    export interface Params$Resource$Customers$Searchads360campaigns$Mutate extends StandardParameters {
        /**
         * Required. The ID of the customer whose Search Ads 360 campaigns are being modified.
         */
        customerId?: string;
        /**
         * Request body metadata
         */
        requestBody?: Schema$GoogleAdsSearchads360V23Services__MutateSearchAds360CampaignsRequest;
    }
    export class Resource$Customers$Sharedcriteria {
        context: APIRequestContext;
        constructor(context: APIRequestContext);
        /**
         * Creates or removes shared criteria. Operation statuses are returned. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [CriterionError]() [DatabaseError]() [DistinctError]() [FieldError]() [HeaderError]() [IdError]() [InternalError]() [MutateError]() [NotEmptyError]() [NullError]() [OperatorError]() [QuotaError]() [RangeError]() [RequestError]() [ResourceCountLimitExceededError]() [SizeLimitError]() [StringFormatError]() [StringLengthError]()
         * @example
         * ```js
         * // Before running the sample:
         * // - Enable the API at:
         * //   https://console.developers.google.com/apis/api/searchads360.googleapis.com
         * // - Login into gcloud by running:
         * //   ```sh
         * //   $ gcloud auth application-default login
         * //   ```
         * // - Install the npm module by running:
         * //   ```sh
         * //   $ npm install googleapis
         * //   ```
         *
         * const {google} = require('googleapis');
         * const searchads360 = google.searchads360('v23');
         *
         * async function main() {
         *   const auth = new google.auth.GoogleAuth({
         *     // Scopes can be specified either as an array or as a single, space-delimited string.
         *     scopes: ['https://www.googleapis.com/auth/doubleclicksearch'],
         *   });
         *
         *   // Acquire an auth client, and bind it to all future calls
         *   const authClient = await auth.getClient();
         *   google.options({auth: authClient});
         *
         *   // Do the magic
         *   const res = await searchads360.customers.sharedCriteria.mutate({
         *     // Required. The ID of the customer whose shared criteria are being modified.
         *     customerId: '[^/]+',
         *
         *     // Request body metadata
         *     requestBody: {
         *       // request body parameters
         *       // {
         *       //   "operations": [],
         *       //   "partialFailure": false,
         *       //   "responseContentType": "my_responseContentType",
         *       //   "validateOnly": false
         *       // }
         *     },
         *   });
         *   console.log(res.data);
         *
         *   // Example response
         *   // {
         *   //   "partialFailureError": {},
         *   //   "results": []
         *   // }
         * }
         *
         * main().catch(e => {
         *   console.error(e);
         *   throw e;
         * });
         *
         * ```
         *
         * @param params - Parameters for request
         * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
         * @param callback - Optional callback that handles the response.
         * @returns A promise if used with async/await, or void if used with a callback.
         */
        mutate(params: Params$Resource$Customers$Sharedcriteria$Mutate, options: StreamMethodOptions): Promise<GaxiosResponseWithHTTP2<Readable>>;
        mutate(params?: Params$Resource$Customers$Sharedcriteria$Mutate, options?: MethodOptions): Promise<GaxiosResponseWithHTTP2<Schema$GoogleAdsSearchads360V23Services__MutateSharedCriteriaResponse>>;
        mutate(params: Params$Resource$Customers$Sharedcriteria$Mutate, options: StreamMethodOptions | BodyResponseCallback<Readable>, callback: BodyResponseCallback<Readable>): void;
        mutate(params: Params$Resource$Customers$Sharedcriteria$Mutate, options: MethodOptions | BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateSharedCriteriaResponse>, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateSharedCriteriaResponse>): void;
        mutate(params: Params$Resource$Customers$Sharedcriteria$Mutate, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateSharedCriteriaResponse>): void;
        mutate(callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateSharedCriteriaResponse>): void;
    }
    export interface Params$Resource$Customers$Sharedcriteria$Mutate extends StandardParameters {
        /**
         * Required. The ID of the customer whose shared criteria are being modified.
         */
        customerId?: string;
        /**
         * Request body metadata
         */
        requestBody?: Schema$GoogleAdsSearchads360V23Services__MutateSharedCriteriaRequest;
    }
    export class Resource$Customers$Sharedsets {
        context: APIRequestContext;
        constructor(context: APIRequestContext);
        /**
         * Creates, updates, or removes shared sets. Operation statuses are returned. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [DatabaseError]() [DateError]() [DistinctError]() [FieldError]() [FieldMaskError]() [HeaderError]() [IdError]() [InternalError]() [MutateError]() [NewResourceCreationError]() [NotEmptyError]() [NullError]() [OperatorError]() [QuotaError]() [RangeError]() [RequestError]() [ResourceCountLimitExceededError]() [SharedSetError]() [SizeLimitError]() [StringFormatError]() [StringLengthError]()
         * @example
         * ```js
         * // Before running the sample:
         * // - Enable the API at:
         * //   https://console.developers.google.com/apis/api/searchads360.googleapis.com
         * // - Login into gcloud by running:
         * //   ```sh
         * //   $ gcloud auth application-default login
         * //   ```
         * // - Install the npm module by running:
         * //   ```sh
         * //   $ npm install googleapis
         * //   ```
         *
         * const {google} = require('googleapis');
         * const searchads360 = google.searchads360('v23');
         *
         * async function main() {
         *   const auth = new google.auth.GoogleAuth({
         *     // Scopes can be specified either as an array or as a single, space-delimited string.
         *     scopes: ['https://www.googleapis.com/auth/doubleclicksearch'],
         *   });
         *
         *   // Acquire an auth client, and bind it to all future calls
         *   const authClient = await auth.getClient();
         *   google.options({auth: authClient});
         *
         *   // Do the magic
         *   const res = await searchads360.customers.sharedSets.mutate({
         *     // Required. The ID of the customer whose shared sets are being modified.
         *     customerId: '[^/]+',
         *
         *     // Request body metadata
         *     requestBody: {
         *       // request body parameters
         *       // {
         *       //   "operations": [],
         *       //   "partialFailure": false,
         *       //   "responseContentType": "my_responseContentType",
         *       //   "validateOnly": false
         *       // }
         *     },
         *   });
         *   console.log(res.data);
         *
         *   // Example response
         *   // {
         *   //   "partialFailureError": {},
         *   //   "results": []
         *   // }
         * }
         *
         * main().catch(e => {
         *   console.error(e);
         *   throw e;
         * });
         *
         * ```
         *
         * @param params - Parameters for request
         * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
         * @param callback - Optional callback that handles the response.
         * @returns A promise if used with async/await, or void if used with a callback.
         */
        mutate(params: Params$Resource$Customers$Sharedsets$Mutate, options: StreamMethodOptions): Promise<GaxiosResponseWithHTTP2<Readable>>;
        mutate(params?: Params$Resource$Customers$Sharedsets$Mutate, options?: MethodOptions): Promise<GaxiosResponseWithHTTP2<Schema$GoogleAdsSearchads360V23Services__MutateSharedSetsResponse>>;
        mutate(params: Params$Resource$Customers$Sharedsets$Mutate, options: StreamMethodOptions | BodyResponseCallback<Readable>, callback: BodyResponseCallback<Readable>): void;
        mutate(params: Params$Resource$Customers$Sharedsets$Mutate, options: MethodOptions | BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateSharedSetsResponse>, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateSharedSetsResponse>): void;
        mutate(params: Params$Resource$Customers$Sharedsets$Mutate, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateSharedSetsResponse>): void;
        mutate(callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateSharedSetsResponse>): void;
    }
    export interface Params$Resource$Customers$Sharedsets$Mutate extends StandardParameters {
        /**
         * Required. The ID of the customer whose shared sets are being modified.
         */
        customerId?: string;
        /**
         * Request body metadata
         */
        requestBody?: Schema$GoogleAdsSearchads360V23Services__MutateSharedSetsRequest;
    }
    export class Resource$Customers$Smartcampaignsettings {
        context: APIRequestContext;
        constructor(context: APIRequestContext);
        /**
         * Returns the status of the requested Smart campaign.
         * @example
         * ```js
         * // Before running the sample:
         * // - Enable the API at:
         * //   https://console.developers.google.com/apis/api/searchads360.googleapis.com
         * // - Login into gcloud by running:
         * //   ```sh
         * //   $ gcloud auth application-default login
         * //   ```
         * // - Install the npm module by running:
         * //   ```sh
         * //   $ npm install googleapis
         * //   ```
         *
         * const {google} = require('googleapis');
         * const searchads360 = google.searchads360('v23');
         *
         * async function main() {
         *   const auth = new google.auth.GoogleAuth({
         *     // Scopes can be specified either as an array or as a single, space-delimited string.
         *     scopes: ['https://www.googleapis.com/auth/doubleclicksearch'],
         *   });
         *
         *   // Acquire an auth client, and bind it to all future calls
         *   const authClient = await auth.getClient();
         *   google.options({auth: authClient});
         *
         *   // Do the magic
         *   const res =
         *     await searchads360.customers.smartCampaignSettings.getSmartCampaignStatus({
         *       // Required. The resource name of the Smart campaign setting belonging to the Smart campaign to fetch the status of.
         *       resourceName:
         *         'customers/my-customer/smartCampaignSettings/my-smartCampaignSetting',
         *     });
         *   console.log(res.data);
         *
         *   // Example response
         *   // {
         *   //   "eligibleDetails": {},
         *   //   "endedDetails": {},
         *   //   "notEligibleDetails": {},
         *   //   "pausedDetails": {},
         *   //   "removedDetails": {},
         *   //   "smartCampaignStatus": "my_smartCampaignStatus"
         *   // }
         * }
         *
         * main().catch(e => {
         *   console.error(e);
         *   throw e;
         * });
         *
         * ```
         *
         * @param params - Parameters for request
         * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
         * @param callback - Optional callback that handles the response.
         * @returns A promise if used with async/await, or void if used with a callback.
         */
        getSmartCampaignStatus(params: Params$Resource$Customers$Smartcampaignsettings$Getsmartcampaignstatus, options: StreamMethodOptions): Promise<GaxiosResponseWithHTTP2<Readable>>;
        getSmartCampaignStatus(params?: Params$Resource$Customers$Smartcampaignsettings$Getsmartcampaignstatus, options?: MethodOptions): Promise<GaxiosResponseWithHTTP2<Schema$GoogleAdsSearchads360V23Services__GetSmartCampaignStatusResponse>>;
        getSmartCampaignStatus(params: Params$Resource$Customers$Smartcampaignsettings$Getsmartcampaignstatus, options: StreamMethodOptions | BodyResponseCallback<Readable>, callback: BodyResponseCallback<Readable>): void;
        getSmartCampaignStatus(params: Params$Resource$Customers$Smartcampaignsettings$Getsmartcampaignstatus, options: MethodOptions | BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__GetSmartCampaignStatusResponse>, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__GetSmartCampaignStatusResponse>): void;
        getSmartCampaignStatus(params: Params$Resource$Customers$Smartcampaignsettings$Getsmartcampaignstatus, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__GetSmartCampaignStatusResponse>): void;
        getSmartCampaignStatus(callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__GetSmartCampaignStatusResponse>): void;
        /**
         * Updates Smart campaign settings for campaigns.
         * @example
         * ```js
         * // Before running the sample:
         * // - Enable the API at:
         * //   https://console.developers.google.com/apis/api/searchads360.googleapis.com
         * // - Login into gcloud by running:
         * //   ```sh
         * //   $ gcloud auth application-default login
         * //   ```
         * // - Install the npm module by running:
         * //   ```sh
         * //   $ npm install googleapis
         * //   ```
         *
         * const {google} = require('googleapis');
         * const searchads360 = google.searchads360('v23');
         *
         * async function main() {
         *   const auth = new google.auth.GoogleAuth({
         *     // Scopes can be specified either as an array or as a single, space-delimited string.
         *     scopes: ['https://www.googleapis.com/auth/doubleclicksearch'],
         *   });
         *
         *   // Acquire an auth client, and bind it to all future calls
         *   const authClient = await auth.getClient();
         *   google.options({auth: authClient});
         *
         *   // Do the magic
         *   const res = await searchads360.customers.smartCampaignSettings.mutate({
         *     // Required. The ID of the customer whose Smart campaign settings are being modified.
         *     customerId: '[^/]+',
         *
         *     // Request body metadata
         *     requestBody: {
         *       // request body parameters
         *       // {
         *       //   "operations": [],
         *       //   "partialFailure": false,
         *       //   "responseContentType": "my_responseContentType",
         *       //   "validateOnly": false
         *       // }
         *     },
         *   });
         *   console.log(res.data);
         *
         *   // Example response
         *   // {
         *   //   "partialFailureError": {},
         *   //   "results": []
         *   // }
         * }
         *
         * main().catch(e => {
         *   console.error(e);
         *   throw e;
         * });
         *
         * ```
         *
         * @param params - Parameters for request
         * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
         * @param callback - Optional callback that handles the response.
         * @returns A promise if used with async/await, or void if used with a callback.
         */
        mutate(params: Params$Resource$Customers$Smartcampaignsettings$Mutate, options: StreamMethodOptions): Promise<GaxiosResponseWithHTTP2<Readable>>;
        mutate(params?: Params$Resource$Customers$Smartcampaignsettings$Mutate, options?: MethodOptions): Promise<GaxiosResponseWithHTTP2<Schema$GoogleAdsSearchads360V23Services__MutateSmartCampaignSettingsResponse>>;
        mutate(params: Params$Resource$Customers$Smartcampaignsettings$Mutate, options: StreamMethodOptions | BodyResponseCallback<Readable>, callback: BodyResponseCallback<Readable>): void;
        mutate(params: Params$Resource$Customers$Smartcampaignsettings$Mutate, options: MethodOptions | BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateSmartCampaignSettingsResponse>, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateSmartCampaignSettingsResponse>): void;
        mutate(params: Params$Resource$Customers$Smartcampaignsettings$Mutate, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateSmartCampaignSettingsResponse>): void;
        mutate(callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateSmartCampaignSettingsResponse>): void;
    }
    export interface Params$Resource$Customers$Smartcampaignsettings$Getsmartcampaignstatus extends StandardParameters {
        /**
         * Required. The resource name of the Smart campaign setting belonging to the Smart campaign to fetch the status of.
         */
        resourceName?: string;
    }
    export interface Params$Resource$Customers$Smartcampaignsettings$Mutate extends StandardParameters {
        /**
         * Required. The ID of the customer whose Smart campaign settings are being modified.
         */
        customerId?: string;
        /**
         * Request body metadata
         */
        requestBody?: Schema$GoogleAdsSearchads360V23Services__MutateSmartCampaignSettingsRequest;
    }
    export class Resource$Customers$Thirdpartyappanalyticslinks {
        context: APIRequestContext;
        constructor(context: APIRequestContext);
        /**
         * Regenerate ThirdPartyAppAnalyticsLink.shareable_link_id that should be provided to the third party when setting up app analytics. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [HeaderError]() [InternalError]() [QuotaError]() [RequestError]()
         * @example
         * ```js
         * // Before running the sample:
         * // - Enable the API at:
         * //   https://console.developers.google.com/apis/api/searchads360.googleapis.com
         * // - Login into gcloud by running:
         * //   ```sh
         * //   $ gcloud auth application-default login
         * //   ```
         * // - Install the npm module by running:
         * //   ```sh
         * //   $ npm install googleapis
         * //   ```
         *
         * const {google} = require('googleapis');
         * const searchads360 = google.searchads360('v23');
         *
         * async function main() {
         *   const auth = new google.auth.GoogleAuth({
         *     // Scopes can be specified either as an array or as a single, space-delimited string.
         *     scopes: ['https://www.googleapis.com/auth/doubleclicksearch'],
         *   });
         *
         *   // Acquire an auth client, and bind it to all future calls
         *   const authClient = await auth.getClient();
         *   google.options({auth: authClient});
         *
         *   // Do the magic
         *   const res =
         *     await searchads360.customers.thirdPartyAppAnalyticsLinks.regenerateShareableLinkId(
         *       {
         *         // Resource name of the third party app analytics link.
         *         resourceName:
         *           'customers/my-customer/thirdPartyAppAnalyticsLinks/my-thirdPartyAppAnalyticsLink',
         *
         *         // Request body metadata
         *         requestBody: {
         *           // request body parameters
         *           // {}
         *         },
         *       },
         *     );
         *   console.log(res.data);
         *
         *   // Example response
         *   // {}
         * }
         *
         * main().catch(e => {
         *   console.error(e);
         *   throw e;
         * });
         *
         * ```
         *
         * @param params - Parameters for request
         * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
         * @param callback - Optional callback that handles the response.
         * @returns A promise if used with async/await, or void if used with a callback.
         */
        regenerateShareableLinkId(params: Params$Resource$Customers$Thirdpartyappanalyticslinks$Regenerateshareablelinkid, options: StreamMethodOptions): Promise<GaxiosResponseWithHTTP2<Readable>>;
        regenerateShareableLinkId(params?: Params$Resource$Customers$Thirdpartyappanalyticslinks$Regenerateshareablelinkid, options?: MethodOptions): Promise<GaxiosResponseWithHTTP2<Schema$GoogleAdsSearchads360V23Services__RegenerateShareableLinkIdResponse>>;
        regenerateShareableLinkId(params: Params$Resource$Customers$Thirdpartyappanalyticslinks$Regenerateshareablelinkid, options: StreamMethodOptions | BodyResponseCallback<Readable>, callback: BodyResponseCallback<Readable>): void;
        regenerateShareableLinkId(params: Params$Resource$Customers$Thirdpartyappanalyticslinks$Regenerateshareablelinkid, options: MethodOptions | BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__RegenerateShareableLinkIdResponse>, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__RegenerateShareableLinkIdResponse>): void;
        regenerateShareableLinkId(params: Params$Resource$Customers$Thirdpartyappanalyticslinks$Regenerateshareablelinkid, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__RegenerateShareableLinkIdResponse>): void;
        regenerateShareableLinkId(callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__RegenerateShareableLinkIdResponse>): void;
    }
    export interface Params$Resource$Customers$Thirdpartyappanalyticslinks$Regenerateshareablelinkid extends StandardParameters {
        /**
         * Resource name of the third party app analytics link.
         */
        resourceName?: string;
        /**
         * Request body metadata
         */
        requestBody?: Schema$GoogleAdsSearchads360V23Services__RegenerateShareableLinkIdRequest;
    }
    export class Resource$Customers$Userlistcustomertypes {
        context: APIRequestContext;
        constructor(context: APIRequestContext);
        /**
         * Attach or remove user list customer types. Operation statuses are returned. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [UserListCustomerTypeError]() [HeaderError]() [InternalError]() [QuotaError]() [RequestError]()
         * @example
         * ```js
         * // Before running the sample:
         * // - Enable the API at:
         * //   https://console.developers.google.com/apis/api/searchads360.googleapis.com
         * // - Login into gcloud by running:
         * //   ```sh
         * //   $ gcloud auth application-default login
         * //   ```
         * // - Install the npm module by running:
         * //   ```sh
         * //   $ npm install googleapis
         * //   ```
         *
         * const {google} = require('googleapis');
         * const searchads360 = google.searchads360('v23');
         *
         * async function main() {
         *   const auth = new google.auth.GoogleAuth({
         *     // Scopes can be specified either as an array or as a single, space-delimited string.
         *     scopes: ['https://www.googleapis.com/auth/doubleclicksearch'],
         *   });
         *
         *   // Acquire an auth client, and bind it to all future calls
         *   const authClient = await auth.getClient();
         *   google.options({auth: authClient});
         *
         *   // Do the magic
         *   const res = await searchads360.customers.userListCustomerTypes.mutate({
         *     // Required. The ID of the customer whose user list customer types are being modified.
         *     customerId: '[^/]+',
         *
         *     // Request body metadata
         *     requestBody: {
         *       // request body parameters
         *       // {
         *       //   "operations": [],
         *       //   "partialFailure": false,
         *       //   "validateOnly": false
         *       // }
         *     },
         *   });
         *   console.log(res.data);
         *
         *   // Example response
         *   // {
         *   //   "partialFailureError": {},
         *   //   "results": []
         *   // }
         * }
         *
         * main().catch(e => {
         *   console.error(e);
         *   throw e;
         * });
         *
         * ```
         *
         * @param params - Parameters for request
         * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
         * @param callback - Optional callback that handles the response.
         * @returns A promise if used with async/await, or void if used with a callback.
         */
        mutate(params: Params$Resource$Customers$Userlistcustomertypes$Mutate, options: StreamMethodOptions): Promise<GaxiosResponseWithHTTP2<Readable>>;
        mutate(params?: Params$Resource$Customers$Userlistcustomertypes$Mutate, options?: MethodOptions): Promise<GaxiosResponseWithHTTP2<Schema$GoogleAdsSearchads360V23Services__MutateUserListCustomerTypesResponse>>;
        mutate(params: Params$Resource$Customers$Userlistcustomertypes$Mutate, options: StreamMethodOptions | BodyResponseCallback<Readable>, callback: BodyResponseCallback<Readable>): void;
        mutate(params: Params$Resource$Customers$Userlistcustomertypes$Mutate, options: MethodOptions | BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateUserListCustomerTypesResponse>, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateUserListCustomerTypesResponse>): void;
        mutate(params: Params$Resource$Customers$Userlistcustomertypes$Mutate, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateUserListCustomerTypesResponse>): void;
        mutate(callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateUserListCustomerTypesResponse>): void;
    }
    export interface Params$Resource$Customers$Userlistcustomertypes$Mutate extends StandardParameters {
        /**
         * Required. The ID of the customer whose user list customer types are being modified.
         */
        customerId?: string;
        /**
         * Request body metadata
         */
        requestBody?: Schema$GoogleAdsSearchads360V23Services__MutateUserListCustomerTypesRequest;
    }
    export class Resource$Customers$Userlists {
        context: APIRequestContext;
        constructor(context: APIRequestContext);
        /**
         * Creates or updates user lists. Operation statuses are returned. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [CollectionSizeError]() [DatabaseError]() [DistinctError]() [FieldError]() [FieldMaskError]() [HeaderError]() [InternalError]() [MutateError]() [NewResourceCreationError]() [NotAllowlistedError]() [NotEmptyError]() [OperationAccessDeniedError]() [QuotaError]() [RangeError]() [RequestError]() [StringFormatError]() [StringLengthError]() [UserListError]()
         * @example
         * ```js
         * // Before running the sample:
         * // - Enable the API at:
         * //   https://console.developers.google.com/apis/api/searchads360.googleapis.com
         * // - Login into gcloud by running:
         * //   ```sh
         * //   $ gcloud auth application-default login
         * //   ```
         * // - Install the npm module by running:
         * //   ```sh
         * //   $ npm install googleapis
         * //   ```
         *
         * const {google} = require('googleapis');
         * const searchads360 = google.searchads360('v23');
         *
         * async function main() {
         *   const auth = new google.auth.GoogleAuth({
         *     // Scopes can be specified either as an array or as a single, space-delimited string.
         *     scopes: ['https://www.googleapis.com/auth/doubleclicksearch'],
         *   });
         *
         *   // Acquire an auth client, and bind it to all future calls
         *   const authClient = await auth.getClient();
         *   google.options({auth: authClient});
         *
         *   // Do the magic
         *   const res = await searchads360.customers.userLists.mutate({
         *     // Required. The ID of the customer whose user lists are being modified.
         *     customerId: '[^/]+',
         *
         *     // Request body metadata
         *     requestBody: {
         *       // request body parameters
         *       // {
         *       //   "operations": [],
         *       //   "partialFailure": false,
         *       //   "validateOnly": false
         *       // }
         *     },
         *   });
         *   console.log(res.data);
         *
         *   // Example response
         *   // {
         *   //   "partialFailureError": {},
         *   //   "results": []
         *   // }
         * }
         *
         * main().catch(e => {
         *   console.error(e);
         *   throw e;
         * });
         *
         * ```
         *
         * @param params - Parameters for request
         * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
         * @param callback - Optional callback that handles the response.
         * @returns A promise if used with async/await, or void if used with a callback.
         */
        mutate(params: Params$Resource$Customers$Userlists$Mutate, options: StreamMethodOptions): Promise<GaxiosResponseWithHTTP2<Readable>>;
        mutate(params?: Params$Resource$Customers$Userlists$Mutate, options?: MethodOptions): Promise<GaxiosResponseWithHTTP2<Schema$GoogleAdsSearchads360V23Services__MutateUserListsResponse>>;
        mutate(params: Params$Resource$Customers$Userlists$Mutate, options: StreamMethodOptions | BodyResponseCallback<Readable>, callback: BodyResponseCallback<Readable>): void;
        mutate(params: Params$Resource$Customers$Userlists$Mutate, options: MethodOptions | BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateUserListsResponse>, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateUserListsResponse>): void;
        mutate(params: Params$Resource$Customers$Userlists$Mutate, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateUserListsResponse>): void;
        mutate(callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__MutateUserListsResponse>): void;
    }
    export interface Params$Resource$Customers$Userlists$Mutate extends StandardParameters {
        /**
         * Required. The ID of the customer whose user lists are being modified.
         */
        customerId?: string;
        /**
         * Request body metadata
         */
        requestBody?: Schema$GoogleAdsSearchads360V23Services__MutateUserListsRequest;
    }
    export class Resource$Geotargetconstants {
        context: APIRequestContext;
        constructor(context: APIRequestContext);
        /**
         * Returns GeoTargetConstant suggestions by location name or by resource name. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [GeoTargetConstantSuggestionError]() [HeaderError]() [InternalError]() [QuotaError]() [RequestError]()
         * @example
         * ```js
         * // Before running the sample:
         * // - Enable the API at:
         * //   https://console.developers.google.com/apis/api/searchads360.googleapis.com
         * // - Login into gcloud by running:
         * //   ```sh
         * //   $ gcloud auth application-default login
         * //   ```
         * // - Install the npm module by running:
         * //   ```sh
         * //   $ npm install googleapis
         * //   ```
         *
         * const {google} = require('googleapis');
         * const searchads360 = google.searchads360('v23');
         *
         * async function main() {
         *   const auth = new google.auth.GoogleAuth({
         *     // Scopes can be specified either as an array or as a single, space-delimited string.
         *     scopes: ['https://www.googleapis.com/auth/doubleclicksearch'],
         *   });
         *
         *   // Acquire an auth client, and bind it to all future calls
         *   const authClient = await auth.getClient();
         *   google.options({auth: authClient});
         *
         *   // Do the magic
         *   const res = await searchads360.geoTargetConstants.suggest({
         *     // Request body metadata
         *     requestBody: {
         *       // request body parameters
         *       // {
         *       //   "countryCode": "my_countryCode",
         *       //   "geoTargets": {},
         *       //   "locale": "my_locale",
         *       //   "locationNames": {}
         *       // }
         *     },
         *   });
         *   console.log(res.data);
         *
         *   // Example response
         *   // {
         *   //   "geoTargetConstantSuggestions": []
         *   // }
         * }
         *
         * main().catch(e => {
         *   console.error(e);
         *   throw e;
         * });
         *
         * ```
         *
         * @param params - Parameters for request
         * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
         * @param callback - Optional callback that handles the response.
         * @returns A promise if used with async/await, or void if used with a callback.
         */
        suggest(params: Params$Resource$Geotargetconstants$Suggest, options: StreamMethodOptions): Promise<GaxiosResponseWithHTTP2<Readable>>;
        suggest(params?: Params$Resource$Geotargetconstants$Suggest, options?: MethodOptions): Promise<GaxiosResponseWithHTTP2<Schema$GoogleAdsSearchads360V23Services__SuggestGeoTargetConstantsResponse>>;
        suggest(params: Params$Resource$Geotargetconstants$Suggest, options: StreamMethodOptions | BodyResponseCallback<Readable>, callback: BodyResponseCallback<Readable>): void;
        suggest(params: Params$Resource$Geotargetconstants$Suggest, options: MethodOptions | BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__SuggestGeoTargetConstantsResponse>, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__SuggestGeoTargetConstantsResponse>): void;
        suggest(params: Params$Resource$Geotargetconstants$Suggest, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__SuggestGeoTargetConstantsResponse>): void;
        suggest(callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__SuggestGeoTargetConstantsResponse>): void;
    }
    export interface Params$Resource$Geotargetconstants$Suggest extends StandardParameters {
        /**
         * Request body metadata
         */
        requestBody?: Schema$GoogleAdsSearchads360V23Services__SuggestGeoTargetConstantsRequest;
    }
    export class Resource$Incentives {
        context: APIRequestContext;
        constructor(context: APIRequestContext);
        /**
         * Returns incentives for a given user.
         * @example
         * ```js
         * // Before running the sample:
         * // - Enable the API at:
         * //   https://console.developers.google.com/apis/api/searchads360.googleapis.com
         * // - Login into gcloud by running:
         * //   ```sh
         * //   $ gcloud auth application-default login
         * //   ```
         * // - Install the npm module by running:
         * //   ```sh
         * //   $ npm install googleapis
         * //   ```
         *
         * const {google} = require('googleapis');
         * const searchads360 = google.searchads360('v23');
         *
         * async function main() {
         *   const auth = new google.auth.GoogleAuth({
         *     // Scopes can be specified either as an array or as a single, space-delimited string.
         *     scopes: ['https://www.googleapis.com/auth/doubleclicksearch'],
         *   });
         *
         *   // Acquire an auth client, and bind it to all future calls
         *   const authClient = await auth.getClient();
         *   google.options({auth: authClient});
         *
         *   // Do the magic
         *   const res = await searchads360.incentives.fetchIncentive({
         *     // Optional. User's country code. If not provided, the server will default to "US". Possible country codes: https://developers.google.com/google-ads/api/data/codes-formats#country_codes
         *     countryCode: 'placeholder-value',
         *     // Optional. Email of the user that the requested incentive is meant for. Will be used for channel partners who do NOT use OAuth to authenticate on behalf of user.
         *     email: 'placeholder-value',
         *     // Optional. User's language code. If not provided, the server will default to "en". Possible language codes: https://developers.google.com/google-ads/api/data/codes-formats#languages
         *     languageCode: 'placeholder-value',
         *     // Optional. The type of incentive to get. Defaults to ACQUISITION.
         *     type: 'placeholder-value',
         *   });
         *   console.log(res.data);
         *
         *   // Example response
         *   // {
         *   //   "incentiveOffer": {}
         *   // }
         * }
         *
         * main().catch(e => {
         *   console.error(e);
         *   throw e;
         * });
         *
         * ```
         *
         * @param params - Parameters for request
         * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
         * @param callback - Optional callback that handles the response.
         * @returns A promise if used with async/await, or void if used with a callback.
         */
        fetchIncentive(params: Params$Resource$Incentives$Fetchincentive, options: StreamMethodOptions): Promise<GaxiosResponseWithHTTP2<Readable>>;
        fetchIncentive(params?: Params$Resource$Incentives$Fetchincentive, options?: MethodOptions): Promise<GaxiosResponseWithHTTP2<Schema$GoogleAdsSearchads360V23Services__FetchIncentiveResponse>>;
        fetchIncentive(params: Params$Resource$Incentives$Fetchincentive, options: StreamMethodOptions | BodyResponseCallback<Readable>, callback: BodyResponseCallback<Readable>): void;
        fetchIncentive(params: Params$Resource$Incentives$Fetchincentive, options: MethodOptions | BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__FetchIncentiveResponse>, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__FetchIncentiveResponse>): void;
        fetchIncentive(params: Params$Resource$Incentives$Fetchincentive, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__FetchIncentiveResponse>): void;
        fetchIncentive(callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__FetchIncentiveResponse>): void;
    }
    export interface Params$Resource$Incentives$Fetchincentive extends StandardParameters {
        /**
         * Optional. User's country code. If not provided, the server will default to "US". Possible country codes: https://developers.google.com/google-ads/api/data/codes-formats#country_codes
         */
        countryCode?: string;
        /**
         * Optional. Email of the user that the requested incentive is meant for. Will be used for channel partners who do NOT use OAuth to authenticate on behalf of user.
         */
        email?: string;
        /**
         * Optional. User's language code. If not provided, the server will default to "en". Possible language codes: https://developers.google.com/google-ads/api/data/codes-formats#languages
         */
        languageCode?: string;
        /**
         * Optional. The type of incentive to get. Defaults to ACQUISITION.
         */
        type?: string;
    }
    export class Resource$Keywordthemeconstants {
        context: APIRequestContext;
        constructor(context: APIRequestContext);
        /**
         * Returns KeywordThemeConstant suggestions by keyword themes. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [HeaderError]() [InternalError]() [QuotaError]() [RequestError]()
         * @example
         * ```js
         * // Before running the sample:
         * // - Enable the API at:
         * //   https://console.developers.google.com/apis/api/searchads360.googleapis.com
         * // - Login into gcloud by running:
         * //   ```sh
         * //   $ gcloud auth application-default login
         * //   ```
         * // - Install the npm module by running:
         * //   ```sh
         * //   $ npm install googleapis
         * //   ```
         *
         * const {google} = require('googleapis');
         * const searchads360 = google.searchads360('v23');
         *
         * async function main() {
         *   const auth = new google.auth.GoogleAuth({
         *     // Scopes can be specified either as an array or as a single, space-delimited string.
         *     scopes: ['https://www.googleapis.com/auth/doubleclicksearch'],
         *   });
         *
         *   // Acquire an auth client, and bind it to all future calls
         *   const authClient = await auth.getClient();
         *   google.options({auth: authClient});
         *
         *   // Do the magic
         *   const res = await searchads360.keywordThemeConstants.suggest({
         *     // Request body metadata
         *     requestBody: {
         *       // request body parameters
         *       // {
         *       //   "countryCode": "my_countryCode",
         *       //   "languageCode": "my_languageCode",
         *       //   "queryText": "my_queryText"
         *       // }
         *     },
         *   });
         *   console.log(res.data);
         *
         *   // Example response
         *   // {
         *   //   "keywordThemeConstants": []
         *   // }
         * }
         *
         * main().catch(e => {
         *   console.error(e);
         *   throw e;
         * });
         *
         * ```
         *
         * @param params - Parameters for request
         * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
         * @param callback - Optional callback that handles the response.
         * @returns A promise if used with async/await, or void if used with a callback.
         */
        suggest(params: Params$Resource$Keywordthemeconstants$Suggest, options: StreamMethodOptions): Promise<GaxiosResponseWithHTTP2<Readable>>;
        suggest(params?: Params$Resource$Keywordthemeconstants$Suggest, options?: MethodOptions): Promise<GaxiosResponseWithHTTP2<Schema$GoogleAdsSearchads360V23Services__SuggestKeywordThemeConstantsResponse>>;
        suggest(params: Params$Resource$Keywordthemeconstants$Suggest, options: StreamMethodOptions | BodyResponseCallback<Readable>, callback: BodyResponseCallback<Readable>): void;
        suggest(params: Params$Resource$Keywordthemeconstants$Suggest, options: MethodOptions | BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__SuggestKeywordThemeConstantsResponse>, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__SuggestKeywordThemeConstantsResponse>): void;
        suggest(params: Params$Resource$Keywordthemeconstants$Suggest, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__SuggestKeywordThemeConstantsResponse>): void;
        suggest(callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__SuggestKeywordThemeConstantsResponse>): void;
    }
    export interface Params$Resource$Keywordthemeconstants$Suggest extends StandardParameters {
        /**
         * Request body metadata
         */
        requestBody?: Schema$GoogleAdsSearchads360V23Services__SuggestKeywordThemeConstantsRequest;
    }
    export class Resource$Searchads360fields {
        context: APIRequestContext;
        constructor(context: APIRequestContext);
        /**
         * Returns just the requested field. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [HeaderError]() [InternalError]() [QuotaError]() [RequestError]()
         * @example
         * ```js
         * // Before running the sample:
         * // - Enable the API at:
         * //   https://console.developers.google.com/apis/api/searchads360.googleapis.com
         * // - Login into gcloud by running:
         * //   ```sh
         * //   $ gcloud auth application-default login
         * //   ```
         * // - Install the npm module by running:
         * //   ```sh
         * //   $ npm install googleapis
         * //   ```
         *
         * const {google} = require('googleapis');
         * const searchads360 = google.searchads360('v23');
         *
         * async function main() {
         *   const auth = new google.auth.GoogleAuth({
         *     // Scopes can be specified either as an array or as a single, space-delimited string.
         *     scopes: ['https://www.googleapis.com/auth/doubleclicksearch'],
         *   });
         *
         *   // Acquire an auth client, and bind it to all future calls
         *   const authClient = await auth.getClient();
         *   google.options({auth: authClient});
         *
         *   // Do the magic
         *   const res = await searchads360.searchAds360Fields.get({
         *     // Required. The resource name of the field to get.
         *     resourceName: 'searchAds360Fields/my-searchAds360Field',
         *   });
         *   console.log(res.data);
         *
         *   // Example response
         *   // {
         *   //   "attributeResources": [],
         *   //   "category": "my_category",
         *   //   "dataType": "my_dataType",
         *   //   "enumValues": [],
         *   //   "filterable": false,
         *   //   "isRepeated": false,
         *   //   "metrics": [],
         *   //   "name": "my_name",
         *   //   "resourceName": "my_resourceName",
         *   //   "segments": [],
         *   //   "selectable": false,
         *   //   "selectableWith": [],
         *   //   "sortable": false,
         *   //   "typeUrl": "my_typeUrl"
         *   // }
         * }
         *
         * main().catch(e => {
         *   console.error(e);
         *   throw e;
         * });
         *
         * ```
         *
         * @param params - Parameters for request
         * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
         * @param callback - Optional callback that handles the response.
         * @returns A promise if used with async/await, or void if used with a callback.
         */
        get(params: Params$Resource$Searchads360fields$Get, options: StreamMethodOptions): Promise<GaxiosResponseWithHTTP2<Readable>>;
        get(params?: Params$Resource$Searchads360fields$Get, options?: MethodOptions): Promise<GaxiosResponseWithHTTP2<Schema$GoogleAdsSearchads360V23Resources__SearchAds360Field>>;
        get(params: Params$Resource$Searchads360fields$Get, options: StreamMethodOptions | BodyResponseCallback<Readable>, callback: BodyResponseCallback<Readable>): void;
        get(params: Params$Resource$Searchads360fields$Get, options: MethodOptions | BodyResponseCallback<Schema$GoogleAdsSearchads360V23Resources__SearchAds360Field>, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Resources__SearchAds360Field>): void;
        get(params: Params$Resource$Searchads360fields$Get, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Resources__SearchAds360Field>): void;
        get(callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Resources__SearchAds360Field>): void;
        /**
         * Returns all fields that match the search [query](/search-ads/reporting/concepts/field-service#use_a_query_to_get_field_details). List of thrown errors: [AuthenticationError]() [AuthorizationError]() [HeaderError]() [InternalError]() [QueryError]() [QuotaError]() [RequestError]()
         * @example
         * ```js
         * // Before running the sample:
         * // - Enable the API at:
         * //   https://console.developers.google.com/apis/api/searchads360.googleapis.com
         * // - Login into gcloud by running:
         * //   ```sh
         * //   $ gcloud auth application-default login
         * //   ```
         * // - Install the npm module by running:
         * //   ```sh
         * //   $ npm install googleapis
         * //   ```
         *
         * const {google} = require('googleapis');
         * const searchads360 = google.searchads360('v23');
         *
         * async function main() {
         *   const auth = new google.auth.GoogleAuth({
         *     // Scopes can be specified either as an array or as a single, space-delimited string.
         *     scopes: ['https://www.googleapis.com/auth/doubleclicksearch'],
         *   });
         *
         *   // Acquire an auth client, and bind it to all future calls
         *   const authClient = await auth.getClient();
         *   google.options({auth: authClient});
         *
         *   // Do the magic
         *   const res = await searchads360.searchAds360Fields.search({
         *     // Request body metadata
         *     requestBody: {
         *       // request body parameters
         *       // {
         *       //   "pageSize": 0,
         *       //   "pageToken": "my_pageToken",
         *       //   "query": "my_query"
         *       // }
         *     },
         *   });
         *   console.log(res.data);
         *
         *   // Example response
         *   // {
         *   //   "nextPageToken": "my_nextPageToken",
         *   //   "results": [],
         *   //   "totalResultsCount": "my_totalResultsCount"
         *   // }
         * }
         *
         * main().catch(e => {
         *   console.error(e);
         *   throw e;
         * });
         *
         * ```
         *
         * @param params - Parameters for request
         * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
         * @param callback - Optional callback that handles the response.
         * @returns A promise if used with async/await, or void if used with a callback.
         */
        search(params: Params$Resource$Searchads360fields$Search, options: StreamMethodOptions): Promise<GaxiosResponseWithHTTP2<Readable>>;
        search(params?: Params$Resource$Searchads360fields$Search, options?: MethodOptions): Promise<GaxiosResponseWithHTTP2<Schema$GoogleAdsSearchads360V23Services__SearchSearchAds360FieldsResponse>>;
        search(params: Params$Resource$Searchads360fields$Search, options: StreamMethodOptions | BodyResponseCallback<Readable>, callback: BodyResponseCallback<Readable>): void;
        search(params: Params$Resource$Searchads360fields$Search, options: MethodOptions | BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__SearchSearchAds360FieldsResponse>, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__SearchSearchAds360FieldsResponse>): void;
        search(params: Params$Resource$Searchads360fields$Search, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__SearchSearchAds360FieldsResponse>): void;
        search(callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__SearchSearchAds360FieldsResponse>): void;
    }
    export interface Params$Resource$Searchads360fields$Get extends StandardParameters {
        /**
         * Required. The resource name of the field to get.
         */
        resourceName?: string;
    }
    export interface Params$Resource$Searchads360fields$Search extends StandardParameters {
        /**
         * Request body metadata
         */
        requestBody?: Schema$GoogleAdsSearchads360V23Services__SearchSearchAds360FieldsRequest;
    }
    export class Resource$V23 {
        context: APIRequestContext;
        constructor(context: APIRequestContext);
        /**
         * Returns a collection of conversion rate suggestions for supported plannable products. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [HeaderError]() [InternalError]() [QuotaError]() [RequestError]()
         * @example
         * ```js
         * // Before running the sample:
         * // - Enable the API at:
         * //   https://console.developers.google.com/apis/api/searchads360.googleapis.com
         * // - Login into gcloud by running:
         * //   ```sh
         * //   $ gcloud auth application-default login
         * //   ```
         * // - Install the npm module by running:
         * //   ```sh
         * //   $ npm install googleapis
         * //   ```
         *
         * const {google} = require('googleapis');
         * const searchads360 = google.searchads360('v23');
         *
         * async function main() {
         *   const auth = new google.auth.GoogleAuth({
         *     // Scopes can be specified either as an array or as a single, space-delimited string.
         *     scopes: ['https://www.googleapis.com/auth/doubleclicksearch'],
         *   });
         *
         *   // Acquire an auth client, and bind it to all future calls
         *   const authClient = await auth.getClient();
         *   google.options({auth: authClient});
         *
         *   // Do the magic
         *   const res = await searchads360.generateConversionRates({
         *     // Request body metadata
         *     requestBody: {
         *       // request body parameters
         *       // {
         *       //   "customerId": "my_customerId",
         *       //   "customerReachGroup": "my_customerReachGroup",
         *       //   "reachApplicationInfo": {}
         *       // }
         *     },
         *   });
         *   console.log(res.data);
         *
         *   // Example response
         *   // {
         *   //   "conversionRateSuggestions": []
         *   // }
         * }
         *
         * main().catch(e => {
         *   console.error(e);
         *   throw e;
         * });
         *
         * ```
         *
         * @param params - Parameters for request
         * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
         * @param callback - Optional callback that handles the response.
         * @returns A promise if used with async/await, or void if used with a callback.
         */
        generateConversionRates(params: Params$Resource$V23$Generateconversionrates, options: StreamMethodOptions): Promise<GaxiosResponseWithHTTP2<Readable>>;
        generateConversionRates(params?: Params$Resource$V23$Generateconversionrates, options?: MethodOptions): Promise<GaxiosResponseWithHTTP2<Schema$GoogleAdsSearchads360V23Services__GenerateConversionRatesResponse>>;
        generateConversionRates(params: Params$Resource$V23$Generateconversionrates, options: StreamMethodOptions | BodyResponseCallback<Readable>, callback: BodyResponseCallback<Readable>): void;
        generateConversionRates(params: Params$Resource$V23$Generateconversionrates, options: MethodOptions | BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__GenerateConversionRatesResponse>, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__GenerateConversionRatesResponse>): void;
        generateConversionRates(params: Params$Resource$V23$Generateconversionrates, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__GenerateConversionRatesResponse>): void;
        generateConversionRates(callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__GenerateConversionRatesResponse>): void;
        /**
         * Returns a date range that supports benchmarks. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [FieldError]() [HeaderError]() [InternalError]() [QuotaError]() [RequestError]()
         * @example
         * ```js
         * // Before running the sample:
         * // - Enable the API at:
         * //   https://console.developers.google.com/apis/api/searchads360.googleapis.com
         * // - Login into gcloud by running:
         * //   ```sh
         * //   $ gcloud auth application-default login
         * //   ```
         * // - Install the npm module by running:
         * //   ```sh
         * //   $ npm install googleapis
         * //   ```
         *
         * const {google} = require('googleapis');
         * const searchads360 = google.searchads360('v23');
         *
         * async function main() {
         *   const auth = new google.auth.GoogleAuth({
         *     // Scopes can be specified either as an array or as a single, space-delimited string.
         *     scopes: ['https://www.googleapis.com/auth/doubleclicksearch'],
         *   });
         *
         *   // Acquire an auth client, and bind it to all future calls
         *   const authClient = await auth.getClient();
         *   google.options({auth: authClient});
         *
         *   // Do the magic
         *   const res = await searchads360.listBenchmarksAvailableDates({
         *     // Request body metadata
         *     requestBody: {
         *       // request body parameters
         *       // {
         *       //   "applicationInfo": {}
         *       // }
         *     },
         *   });
         *   console.log(res.data);
         *
         *   // Example response
         *   // {
         *   //   "supportedDates": {}
         *   // }
         * }
         *
         * main().catch(e => {
         *   console.error(e);
         *   throw e;
         * });
         *
         * ```
         *
         * @param params - Parameters for request
         * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
         * @param callback - Optional callback that handles the response.
         * @returns A promise if used with async/await, or void if used with a callback.
         */
        listBenchmarksAvailableDates(params: Params$Resource$V23$Listbenchmarksavailabledates, options: StreamMethodOptions): Promise<GaxiosResponseWithHTTP2<Readable>>;
        listBenchmarksAvailableDates(params?: Params$Resource$V23$Listbenchmarksavailabledates, options?: MethodOptions): Promise<GaxiosResponseWithHTTP2<Schema$GoogleAdsSearchads360V23Services__ListBenchmarksAvailableDatesResponse>>;
        listBenchmarksAvailableDates(params: Params$Resource$V23$Listbenchmarksavailabledates, options: StreamMethodOptions | BodyResponseCallback<Readable>, callback: BodyResponseCallback<Readable>): void;
        listBenchmarksAvailableDates(params: Params$Resource$V23$Listbenchmarksavailabledates, options: MethodOptions | BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__ListBenchmarksAvailableDatesResponse>, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__ListBenchmarksAvailableDatesResponse>): void;
        listBenchmarksAvailableDates(params: Params$Resource$V23$Listbenchmarksavailabledates, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__ListBenchmarksAvailableDatesResponse>): void;
        listBenchmarksAvailableDates(callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__ListBenchmarksAvailableDatesResponse>): void;
        /**
         * Returns the list of locations that support benchmarks (for example, countries). List of thrown errors: [AuthenticationError]() [AuthorizationError]() [FieldError]() [HeaderError]() [InternalError]() [QuotaError]() [RequestError]()
         * @example
         * ```js
         * // Before running the sample:
         * // - Enable the API at:
         * //   https://console.developers.google.com/apis/api/searchads360.googleapis.com
         * // - Login into gcloud by running:
         * //   ```sh
         * //   $ gcloud auth application-default login
         * //   ```
         * // - Install the npm module by running:
         * //   ```sh
         * //   $ npm install googleapis
         * //   ```
         *
         * const {google} = require('googleapis');
         * const searchads360 = google.searchads360('v23');
         *
         * async function main() {
         *   const auth = new google.auth.GoogleAuth({
         *     // Scopes can be specified either as an array or as a single, space-delimited string.
         *     scopes: ['https://www.googleapis.com/auth/doubleclicksearch'],
         *   });
         *
         *   // Acquire an auth client, and bind it to all future calls
         *   const authClient = await auth.getClient();
         *   google.options({auth: authClient});
         *
         *   // Do the magic
         *   const res = await searchads360.listBenchmarksLocations({
         *     // Request body metadata
         *     requestBody: {
         *       // request body parameters
         *       // {
         *       //   "applicationInfo": {}
         *       // }
         *     },
         *   });
         *   console.log(res.data);
         *
         *   // Example response
         *   // {
         *   //   "benchmarksLocations": []
         *   // }
         * }
         *
         * main().catch(e => {
         *   console.error(e);
         *   throw e;
         * });
         *
         * ```
         *
         * @param params - Parameters for request
         * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
         * @param callback - Optional callback that handles the response.
         * @returns A promise if used with async/await, or void if used with a callback.
         */
        listBenchmarksLocations(params: Params$Resource$V23$Listbenchmarkslocations, options: StreamMethodOptions): Promise<GaxiosResponseWithHTTP2<Readable>>;
        listBenchmarksLocations(params?: Params$Resource$V23$Listbenchmarkslocations, options?: MethodOptions): Promise<GaxiosResponseWithHTTP2<Schema$GoogleAdsSearchads360V23Services__ListBenchmarksLocationsResponse>>;
        listBenchmarksLocations(params: Params$Resource$V23$Listbenchmarkslocations, options: StreamMethodOptions | BodyResponseCallback<Readable>, callback: BodyResponseCallback<Readable>): void;
        listBenchmarksLocations(params: Params$Resource$V23$Listbenchmarkslocations, options: MethodOptions | BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__ListBenchmarksLocationsResponse>, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__ListBenchmarksLocationsResponse>): void;
        listBenchmarksLocations(params: Params$Resource$V23$Listbenchmarkslocations, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__ListBenchmarksLocationsResponse>): void;
        listBenchmarksLocations(callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__ListBenchmarksLocationsResponse>): void;
        /**
         * Returns the list of products that supports benchmarks. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [FieldError]() [HeaderError]() [InternalError]() [QuotaError]() [RequestError]()
         * @example
         * ```js
         * // Before running the sample:
         * // - Enable the API at:
         * //   https://console.developers.google.com/apis/api/searchads360.googleapis.com
         * // - Login into gcloud by running:
         * //   ```sh
         * //   $ gcloud auth application-default login
         * //   ```
         * // - Install the npm module by running:
         * //   ```sh
         * //   $ npm install googleapis
         * //   ```
         *
         * const {google} = require('googleapis');
         * const searchads360 = google.searchads360('v23');
         *
         * async function main() {
         *   const auth = new google.auth.GoogleAuth({
         *     // Scopes can be specified either as an array or as a single, space-delimited string.
         *     scopes: ['https://www.googleapis.com/auth/doubleclicksearch'],
         *   });
         *
         *   // Acquire an auth client, and bind it to all future calls
         *   const authClient = await auth.getClient();
         *   google.options({auth: authClient});
         *
         *   // Do the magic
         *   const res = await searchads360.listBenchmarksProducts({
         *     // Request body metadata
         *     requestBody: {
         *       // request body parameters
         *       // {
         *       //   "applicationInfo": {}
         *       // }
         *     },
         *   });
         *   console.log(res.data);
         *
         *   // Example response
         *   // {
         *   //   "benchmarksProducts": []
         *   // }
         * }
         *
         * main().catch(e => {
         *   console.error(e);
         *   throw e;
         * });
         *
         * ```
         *
         * @param params - Parameters for request
         * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
         * @param callback - Optional callback that handles the response.
         * @returns A promise if used with async/await, or void if used with a callback.
         */
        listBenchmarksProducts(params: Params$Resource$V23$Listbenchmarksproducts, options: StreamMethodOptions): Promise<GaxiosResponseWithHTTP2<Readable>>;
        listBenchmarksProducts(params?: Params$Resource$V23$Listbenchmarksproducts, options?: MethodOptions): Promise<GaxiosResponseWithHTTP2<Schema$GoogleAdsSearchads360V23Services__ListBenchmarksProductsResponse>>;
        listBenchmarksProducts(params: Params$Resource$V23$Listbenchmarksproducts, options: StreamMethodOptions | BodyResponseCallback<Readable>, callback: BodyResponseCallback<Readable>): void;
        listBenchmarksProducts(params: Params$Resource$V23$Listbenchmarksproducts, options: MethodOptions | BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__ListBenchmarksProductsResponse>, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__ListBenchmarksProductsResponse>): void;
        listBenchmarksProducts(params: Params$Resource$V23$Listbenchmarksproducts, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__ListBenchmarksProductsResponse>): void;
        listBenchmarksProducts(callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__ListBenchmarksProductsResponse>): void;
        /**
         * Returns the list of benchmarks sources (for example, Industry Verticals). List of thrown errors: [AuthenticationError]() [AuthorizationError]() [FieldError]() [HeaderError]() [InternalError]() [QuotaError]() [RequestError]()
         * @example
         * ```js
         * // Before running the sample:
         * // - Enable the API at:
         * //   https://console.developers.google.com/apis/api/searchads360.googleapis.com
         * // - Login into gcloud by running:
         * //   ```sh
         * //   $ gcloud auth application-default login
         * //   ```
         * // - Install the npm module by running:
         * //   ```sh
         * //   $ npm install googleapis
         * //   ```
         *
         * const {google} = require('googleapis');
         * const searchads360 = google.searchads360('v23');
         *
         * async function main() {
         *   const auth = new google.auth.GoogleAuth({
         *     // Scopes can be specified either as an array or as a single, space-delimited string.
         *     scopes: ['https://www.googleapis.com/auth/doubleclicksearch'],
         *   });
         *
         *   // Acquire an auth client, and bind it to all future calls
         *   const authClient = await auth.getClient();
         *   google.options({auth: authClient});
         *
         *   // Do the magic
         *   const res = await searchads360.listBenchmarksSources({
         *     // Request body metadata
         *     requestBody: {
         *       // request body parameters
         *       // {
         *       //   "applicationInfo": {},
         *       //   "benchmarksSources": []
         *       // }
         *     },
         *   });
         *   console.log(res.data);
         *
         *   // Example response
         *   // {
         *   //   "benchmarksSources": []
         *   // }
         * }
         *
         * main().catch(e => {
         *   console.error(e);
         *   throw e;
         * });
         *
         * ```
         *
         * @param params - Parameters for request
         * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
         * @param callback - Optional callback that handles the response.
         * @returns A promise if used with async/await, or void if used with a callback.
         */
        listBenchmarksSources(params: Params$Resource$V23$Listbenchmarkssources, options: StreamMethodOptions): Promise<GaxiosResponseWithHTTP2<Readable>>;
        listBenchmarksSources(params?: Params$Resource$V23$Listbenchmarkssources, options?: MethodOptions): Promise<GaxiosResponseWithHTTP2<Schema$GoogleAdsSearchads360V23Services__ListBenchmarksSourcesResponse>>;
        listBenchmarksSources(params: Params$Resource$V23$Listbenchmarkssources, options: StreamMethodOptions | BodyResponseCallback<Readable>, callback: BodyResponseCallback<Readable>): void;
        listBenchmarksSources(params: Params$Resource$V23$Listbenchmarkssources, options: MethodOptions | BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__ListBenchmarksSourcesResponse>, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__ListBenchmarksSourcesResponse>): void;
        listBenchmarksSources(params: Params$Resource$V23$Listbenchmarkssources, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__ListBenchmarksSourcesResponse>): void;
        listBenchmarksSources(callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__ListBenchmarksSourcesResponse>): void;
        /**
         * Returns the list of plannable locations (for example, countries). List of thrown errors: [AuthenticationError]() [AuthorizationError]() [HeaderError]() [InternalError]() [QuotaError]() [RequestError]()
         * @example
         * ```js
         * // Before running the sample:
         * // - Enable the API at:
         * //   https://console.developers.google.com/apis/api/searchads360.googleapis.com
         * // - Login into gcloud by running:
         * //   ```sh
         * //   $ gcloud auth application-default login
         * //   ```
         * // - Install the npm module by running:
         * //   ```sh
         * //   $ npm install googleapis
         * //   ```
         *
         * const {google} = require('googleapis');
         * const searchads360 = google.searchads360('v23');
         *
         * async function main() {
         *   const auth = new google.auth.GoogleAuth({
         *     // Scopes can be specified either as an array or as a single, space-delimited string.
         *     scopes: ['https://www.googleapis.com/auth/doubleclicksearch'],
         *   });
         *
         *   // Acquire an auth client, and bind it to all future calls
         *   const authClient = await auth.getClient();
         *   google.options({auth: authClient});
         *
         *   // Do the magic
         *   const res = await searchads360.listPlannableLocations({
         *     // Request body metadata
         *     requestBody: {
         *       // request body parameters
         *       // {
         *       //   "reachApplicationInfo": {}
         *       // }
         *     },
         *   });
         *   console.log(res.data);
         *
         *   // Example response
         *   // {
         *   //   "plannableLocations": []
         *   // }
         * }
         *
         * main().catch(e => {
         *   console.error(e);
         *   throw e;
         * });
         *
         * ```
         *
         * @param params - Parameters for request
         * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
         * @param callback - Optional callback that handles the response.
         * @returns A promise if used with async/await, or void if used with a callback.
         */
        listPlannableLocations(params: Params$Resource$V23$Listplannablelocations, options: StreamMethodOptions): Promise<GaxiosResponseWithHTTP2<Readable>>;
        listPlannableLocations(params?: Params$Resource$V23$Listplannablelocations, options?: MethodOptions): Promise<GaxiosResponseWithHTTP2<Schema$GoogleAdsSearchads360V23Services__ListPlannableLocationsResponse>>;
        listPlannableLocations(params: Params$Resource$V23$Listplannablelocations, options: StreamMethodOptions | BodyResponseCallback<Readable>, callback: BodyResponseCallback<Readable>): void;
        listPlannableLocations(params: Params$Resource$V23$Listplannablelocations, options: MethodOptions | BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__ListPlannableLocationsResponse>, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__ListPlannableLocationsResponse>): void;
        listPlannableLocations(params: Params$Resource$V23$Listplannablelocations, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__ListPlannableLocationsResponse>): void;
        listPlannableLocations(callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__ListPlannableLocationsResponse>): void;
        /**
         * Returns the list of per-location plannable YouTube ad formats with allowed targeting. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [HeaderError]() [InternalError]() [QuotaError]() [RequestError]()
         * @example
         * ```js
         * // Before running the sample:
         * // - Enable the API at:
         * //   https://console.developers.google.com/apis/api/searchads360.googleapis.com
         * // - Login into gcloud by running:
         * //   ```sh
         * //   $ gcloud auth application-default login
         * //   ```
         * // - Install the npm module by running:
         * //   ```sh
         * //   $ npm install googleapis
         * //   ```
         *
         * const {google} = require('googleapis');
         * const searchads360 = google.searchads360('v23');
         *
         * async function main() {
         *   const auth = new google.auth.GoogleAuth({
         *     // Scopes can be specified either as an array or as a single, space-delimited string.
         *     scopes: ['https://www.googleapis.com/auth/doubleclicksearch'],
         *   });
         *
         *   // Acquire an auth client, and bind it to all future calls
         *   const authClient = await auth.getClient();
         *   google.options({auth: authClient});
         *
         *   // Do the magic
         *   const res = await searchads360.listPlannableProducts({
         *     // Request body metadata
         *     requestBody: {
         *       // request body parameters
         *       // {
         *       //   "plannableLocationId": "my_plannableLocationId",
         *       //   "reachApplicationInfo": {}
         *       // }
         *     },
         *   });
         *   console.log(res.data);
         *
         *   // Example response
         *   // {
         *   //   "productMetadata": []
         *   // }
         * }
         *
         * main().catch(e => {
         *   console.error(e);
         *   throw e;
         * });
         *
         * ```
         *
         * @param params - Parameters for request
         * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
         * @param callback - Optional callback that handles the response.
         * @returns A promise if used with async/await, or void if used with a callback.
         */
        listPlannableProducts(params: Params$Resource$V23$Listplannableproducts, options: StreamMethodOptions): Promise<GaxiosResponseWithHTTP2<Readable>>;
        listPlannableProducts(params?: Params$Resource$V23$Listplannableproducts, options?: MethodOptions): Promise<GaxiosResponseWithHTTP2<Schema$GoogleAdsSearchads360V23Services__ListPlannableProductsResponse>>;
        listPlannableProducts(params: Params$Resource$V23$Listplannableproducts, options: StreamMethodOptions | BodyResponseCallback<Readable>, callback: BodyResponseCallback<Readable>): void;
        listPlannableProducts(params: Params$Resource$V23$Listplannableproducts, options: MethodOptions | BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__ListPlannableProductsResponse>, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__ListPlannableProductsResponse>): void;
        listPlannableProducts(params: Params$Resource$V23$Listplannableproducts, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__ListPlannableProductsResponse>): void;
        listPlannableProducts(callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__ListPlannableProductsResponse>): void;
        /**
         * Returns the list of plannable user interests. A plannable user interest is one that can be targeted in a reach forecast using ReachPlanService.GenerateReachForecast. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [FieldError]() [HeaderError]() [InternalError]() [ListOperationError]() [QuotaError]() [RequestError]() [StringLengthError]()
         * @example
         * ```js
         * // Before running the sample:
         * // - Enable the API at:
         * //   https://console.developers.google.com/apis/api/searchads360.googleapis.com
         * // - Login into gcloud by running:
         * //   ```sh
         * //   $ gcloud auth application-default login
         * //   ```
         * // - Install the npm module by running:
         * //   ```sh
         * //   $ npm install googleapis
         * //   ```
         *
         * const {google} = require('googleapis');
         * const searchads360 = google.searchads360('v23');
         *
         * async function main() {
         *   const auth = new google.auth.GoogleAuth({
         *     // Scopes can be specified either as an array or as a single, space-delimited string.
         *     scopes: ['https://www.googleapis.com/auth/doubleclicksearch'],
         *   });
         *
         *   // Acquire an auth client, and bind it to all future calls
         *   const authClient = await auth.getClient();
         *   google.options({auth: authClient});
         *
         *   // Do the magic
         *   const res = await searchads360.listPlannableUserInterests({
         *     // Request body metadata
         *     requestBody: {
         *       // request body parameters
         *       // {
         *       //   "customerId": "my_customerId",
         *       //   "nameQuery": "my_nameQuery",
         *       //   "pathQuery": "my_pathQuery",
         *       //   "reachApplicationInfo": {},
         *       //   "userInterestTaxonomyTypes": []
         *       // }
         *     },
         *   });
         *   console.log(res.data);
         *
         *   // Example response
         *   // {
         *   //   "plannableUserInterests": []
         *   // }
         * }
         *
         * main().catch(e => {
         *   console.error(e);
         *   throw e;
         * });
         *
         * ```
         *
         * @param params - Parameters for request
         * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
         * @param callback - Optional callback that handles the response.
         * @returns A promise if used with async/await, or void if used with a callback.
         */
        listPlannableUserInterests(params: Params$Resource$V23$Listplannableuserinterests, options: StreamMethodOptions): Promise<GaxiosResponseWithHTTP2<Readable>>;
        listPlannableUserInterests(params?: Params$Resource$V23$Listplannableuserinterests, options?: MethodOptions): Promise<GaxiosResponseWithHTTP2<Schema$GoogleAdsSearchads360V23Services__ListPlannableUserInterestsResponse>>;
        listPlannableUserInterests(params: Params$Resource$V23$Listplannableuserinterests, options: StreamMethodOptions | BodyResponseCallback<Readable>, callback: BodyResponseCallback<Readable>): void;
        listPlannableUserInterests(params: Params$Resource$V23$Listplannableuserinterests, options: MethodOptions | BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__ListPlannableUserInterestsResponse>, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__ListPlannableUserInterestsResponse>): void;
        listPlannableUserInterests(params: Params$Resource$V23$Listplannableuserinterests, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__ListPlannableUserInterestsResponse>): void;
        listPlannableUserInterests(callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__ListPlannableUserInterestsResponse>): void;
        /**
         * Returns the list of plannable user lists with their plannable status. User lists may not be plannable for a number of reasons, including: - They are less than 10 days old. - They have a membership lifespan that is less than 30 days - They have less than 10,000 or more than 700,000 users. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [FieldError]() [HeaderError]() [InternalError]() [QuotaError]() [RangeError]() [ReachPlanError]() [RequestError]()
         * @example
         * ```js
         * // Before running the sample:
         * // - Enable the API at:
         * //   https://console.developers.google.com/apis/api/searchads360.googleapis.com
         * // - Login into gcloud by running:
         * //   ```sh
         * //   $ gcloud auth application-default login
         * //   ```
         * // - Install the npm module by running:
         * //   ```sh
         * //   $ npm install googleapis
         * //   ```
         *
         * const {google} = require('googleapis');
         * const searchads360 = google.searchads360('v23');
         *
         * async function main() {
         *   const auth = new google.auth.GoogleAuth({
         *     // Scopes can be specified either as an array or as a single, space-delimited string.
         *     scopes: ['https://www.googleapis.com/auth/doubleclicksearch'],
         *   });
         *
         *   // Acquire an auth client, and bind it to all future calls
         *   const authClient = await auth.getClient();
         *   google.options({auth: authClient});
         *
         *   // Do the magic
         *   const res = await searchads360.listPlannableUserLists({
         *     // Request body metadata
         *     requestBody: {
         *       // request body parameters
         *       // {
         *       //   "customerId": "my_customerId",
         *       //   "customerReachGroup": "my_customerReachGroup",
         *       //   "reachApplicationInfo": {}
         *       // }
         *     },
         *   });
         *   console.log(res.data);
         *
         *   // Example response
         *   // {
         *   //   "plannableUserLists": []
         *   // }
         * }
         *
         * main().catch(e => {
         *   console.error(e);
         *   throw e;
         * });
         *
         * ```
         *
         * @param params - Parameters for request
         * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
         * @param callback - Optional callback that handles the response.
         * @returns A promise if used with async/await, or void if used with a callback.
         */
        listPlannableUserLists(params: Params$Resource$V23$Listplannableuserlists, options: StreamMethodOptions): Promise<GaxiosResponseWithHTTP2<Readable>>;
        listPlannableUserLists(params?: Params$Resource$V23$Listplannableuserlists, options?: MethodOptions): Promise<GaxiosResponseWithHTTP2<Schema$GoogleAdsSearchads360V23Services__ListPlannableUserListsResponse>>;
        listPlannableUserLists(params: Params$Resource$V23$Listplannableuserlists, options: StreamMethodOptions | BodyResponseCallback<Readable>, callback: BodyResponseCallback<Readable>): void;
        listPlannableUserLists(params: Params$Resource$V23$Listplannableuserlists, options: MethodOptions | BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__ListPlannableUserListsResponse>, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__ListPlannableUserListsResponse>): void;
        listPlannableUserLists(params: Params$Resource$V23$Listplannableuserlists, callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__ListPlannableUserListsResponse>): void;
        listPlannableUserLists(callback: BodyResponseCallback<Schema$GoogleAdsSearchads360V23Services__ListPlannableUserListsResponse>): void;
    }
    export interface Params$Resource$V23$Generateconversionrates extends StandardParameters {
        /**
         * Request body metadata
         */
        requestBody?: Schema$GoogleAdsSearchads360V23Services__GenerateConversionRatesRequest;
    }
    export interface Params$Resource$V23$Listbenchmarksavailabledates extends StandardParameters {
        /**
         * Request body metadata
         */
        requestBody?: Schema$GoogleAdsSearchads360V23Services__ListBenchmarksAvailableDatesRequest;
    }
    export interface Params$Resource$V23$Listbenchmarkslocations extends StandardParameters {
        /**
         * Request body metadata
         */
        requestBody?: Schema$GoogleAdsSearchads360V23Services__ListBenchmarksLocationsRequest;
    }
    export interface Params$Resource$V23$Listbenchmarksproducts extends StandardParameters {
        /**
         * Request body metadata
         */
        requestBody?: Schema$GoogleAdsSearchads360V23Services__ListBenchmarksProductsRequest;
    }
    export interface Params$Resource$V23$Listbenchmarkssources extends StandardParameters {
        /**
         * Request body metadata
         */
        requestBody?: Schema$GoogleAdsSearchads360V23Services__ListBenchmarksSourcesRequest;
    }
    export interface Params$Resource$V23$Listplannablelocations extends StandardParameters {
        /**
         * Request body metadata
         */
        requestBody?: Schema$GoogleAdsSearchads360V23Services__ListPlannableLocationsRequest;
    }
    export interface Params$Resource$V23$Listplannableproducts extends StandardParameters {
        /**
         * Request body metadata
         */
        requestBody?: Schema$GoogleAdsSearchads360V23Services__ListPlannableProductsRequest;
    }
    export interface Params$Resource$V23$Listplannableuserinterests extends StandardParameters {
        /**
         * Request body metadata
         */
        requestBody?: Schema$GoogleAdsSearchads360V23Services__ListPlannableUserInterestsRequest;
    }
    export interface Params$Resource$V23$Listplannableuserlists extends StandardParameters {
        /**
         * Request body metadata
         */
        requestBody?: Schema$GoogleAdsSearchads360V23Services__ListPlannableUserListsRequest;
    }
    export {};
}
