UNPKG

google-ads-api-client

Version:

A friendly and exhaustive client to the google-ads-api, code generated directly from google's published protobuf schema.

1,366 lines 63.5 kB
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.KeywordPlanIdeaService = exports.UnusableAdGroup = exports.AdGroupKeywordSuggestion = exports.GenerateAdGroupThemesResponse = exports.GenerateAdGroupThemesRequest = exports.GenerateKeywordHistoricalMetricsResult = exports.GenerateKeywordHistoricalMetricsResponse = exports.GenerateKeywordHistoricalMetricsRequest = exports.GenerateKeywordIdeaResult = exports.GenerateKeywordIdeaResponse = exports.UrlSeed = exports.SiteSeed = exports.KeywordSeed = exports.KeywordAndUrlSeed = exports.GenerateKeywordIdeasRequest = void 0;
const runtime_1 = require("@protobuf-ts/runtime");
const runtime_2 = require("@protobuf-ts/runtime");
const runtime_3 = require("@protobuf-ts/runtime");
const runtime_4 = require("@protobuf-ts/runtime");
const runtime_5 = require("@protobuf-ts/runtime");
const runtime_rpc_1 = require("@protobuf-ts/runtime-rpc");
const keyword_plan_common_1 = require("../common/keyword_plan_common");
const keyword_plan_common_2 = require("../common/keyword_plan_common");
const keyword_plan_common_3 = require("../common/keyword_plan_common");
const keyword_plan_common_4 = require("../common/keyword_plan_common");
const keyword_plan_common_5 = require("../common/keyword_plan_common");
const keyword_match_type_1 = require("../enums/keyword_match_type");
const keyword_plan_keyword_annotation_1 = require("../enums/keyword_plan_keyword_annotation");
const keyword_plan_network_1 = require("../enums/keyword_plan_network");
// @generated message type with reflection information, may provide speed optimized methods
class GenerateKeywordIdeasRequest$Type extends runtime_5.MessageType {
    constructor() {
        super('google.ads.googleads.v11.services.GenerateKeywordIdeasRequest', [
            {
                no: 1,
                name: 'customer_id',
                kind: 'scalar',
                T: 9 /*ScalarType.STRING*/,
            },
            {
                no: 14,
                name: 'language',
                kind: 'scalar',
                opt: true,
                T: 9 /*ScalarType.STRING*/,
            },
            {
                no: 15,
                name: 'geo_target_constants',
                kind: 'scalar',
                repeat: 2 /*RepeatType.UNPACKED*/,
                T: 9 /*ScalarType.STRING*/,
            },
            {
                no: 10,
                name: 'include_adult_keywords',
                kind: 'scalar',
                T: 8 /*ScalarType.BOOL*/,
            },
            {
                no: 12,
                name: 'page_token',
                kind: 'scalar',
                T: 9 /*ScalarType.STRING*/,
            },
            { no: 13, name: 'page_size', kind: 'scalar', T: 5 /*ScalarType.INT32*/ },
            {
                no: 9,
                name: 'keyword_plan_network',
                kind: 'enum',
                T: () => [
                    'google.ads.googleads.v11.enums.KeywordPlanNetworkEnum.KeywordPlanNetwork',
                    keyword_plan_network_1.KeywordPlanNetworkEnum_KeywordPlanNetwork,
                ],
            },
            {
                no: 17,
                name: 'keyword_annotation',
                kind: 'enum',
                repeat: 1 /*RepeatType.PACKED*/,
                T: () => [
                    'google.ads.googleads.v11.enums.KeywordPlanKeywordAnnotationEnum.KeywordPlanKeywordAnnotation',
                    keyword_plan_keyword_annotation_1.KeywordPlanKeywordAnnotationEnum_KeywordPlanKeywordAnnotation,
                ],
            },
            {
                no: 16,
                name: 'aggregate_metrics',
                kind: 'message',
                T: () => keyword_plan_common_5.KeywordPlanAggregateMetrics,
            },
            {
                no: 18,
                name: 'historical_metrics_options',
                kind: 'message',
                T: () => keyword_plan_common_4.HistoricalMetricsOptions,
            },
            {
                no: 2,
                name: 'keyword_and_url_seed',
                kind: 'message',
                oneof: 'seed',
                T: () => exports.KeywordAndUrlSeed,
            },
            {
                no: 3,
                name: 'keyword_seed',
                kind: 'message',
                oneof: 'seed',
                T: () => exports.KeywordSeed,
            },
            {
                no: 5,
                name: 'url_seed',
                kind: 'message',
                oneof: 'seed',
                T: () => exports.UrlSeed,
            },
            {
                no: 11,
                name: 'site_seed',
                kind: 'message',
                oneof: 'seed',
                T: () => exports.SiteSeed,
            },
        ]);
    }
    create(value) {
        const message = {
            customerId: '',
            geoTargetConstants: [],
            includeAdultKeywords: false,
            pageToken: '',
            pageSize: 0,
            keywordPlanNetwork: 0,
            keywordAnnotation: [],
            seed: { oneofKind: undefined },
        };
        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, {
            enumerable: false,
            value: this,
        });
        if (value !== undefined)
            (0, runtime_3.reflectionMergePartial)(this, message, value);
        return message;
    }
    internalBinaryRead(reader, length, options, target) {
        let message = target ?? this.create(), end = reader.pos + length;
        while (reader.pos < end) {
            let [fieldNo, wireType] = reader.tag();
            switch (fieldNo) {
                case /* string customer_id */ 1:
                    message.customerId = reader.string();
                    break;
                case /* optional string language */ 14:
                    message.language = reader.string();
                    break;
                case /* repeated string geo_target_constants */ 15:
                    message.geoTargetConstants.push(reader.string());
                    break;
                case /* bool include_adult_keywords */ 10:
                    message.includeAdultKeywords = reader.bool();
                    break;
                case /* string page_token */ 12:
                    message.pageToken = reader.string();
                    break;
                case /* int32 page_size */ 13:
                    message.pageSize = reader.int32();
                    break;
                case /* google.ads.googleads.v11.enums.KeywordPlanNetworkEnum.KeywordPlanNetwork keyword_plan_network */ 9:
                    message.keywordPlanNetwork = reader.int32();
                    break;
                case /* repeated google.ads.googleads.v11.enums.KeywordPlanKeywordAnnotationEnum.KeywordPlanKeywordAnnotation keyword_annotation */ 17:
                    if (wireType === runtime_2.WireType.LengthDelimited)
                        for (let e = reader.int32() + reader.pos; reader.pos < e;)
                            message.keywordAnnotation.push(reader.int32());
                    else
                        message.keywordAnnotation.push(reader.int32());
                    break;
                case /* google.ads.googleads.v11.common.KeywordPlanAggregateMetrics aggregate_metrics */ 16:
                    message.aggregateMetrics =
                        keyword_plan_common_5.KeywordPlanAggregateMetrics.internalBinaryRead(reader, reader.uint32(), options, message.aggregateMetrics);
                    break;
                case /* google.ads.googleads.v11.common.HistoricalMetricsOptions historical_metrics_options */ 18:
                    message.historicalMetricsOptions =
                        keyword_plan_common_4.HistoricalMetricsOptions.internalBinaryRead(reader, reader.uint32(), options, message.historicalMetricsOptions);
                    break;
                case /* google.ads.googleads.v11.services.KeywordAndUrlSeed keyword_and_url_seed */ 2:
                    message.seed = {
                        oneofKind: 'keywordAndUrlSeed',
                        keywordAndUrlSeed: exports.KeywordAndUrlSeed.internalBinaryRead(reader, reader.uint32(), options, message.seed.keywordAndUrlSeed),
                    };
                    break;
                case /* google.ads.googleads.v11.services.KeywordSeed keyword_seed */ 3:
                    message.seed = {
                        oneofKind: 'keywordSeed',
                        keywordSeed: exports.KeywordSeed.internalBinaryRead(reader, reader.uint32(), options, message.seed.keywordSeed),
                    };
                    break;
                case /* google.ads.googleads.v11.services.UrlSeed url_seed */ 5:
                    message.seed = {
                        oneofKind: 'urlSeed',
                        urlSeed: exports.UrlSeed.internalBinaryRead(reader, reader.uint32(), options, message.seed.urlSeed),
                    };
                    break;
                case /* google.ads.googleads.v11.services.SiteSeed site_seed */ 11:
                    message.seed = {
                        oneofKind: 'siteSeed',
                        siteSeed: exports.SiteSeed.internalBinaryRead(reader, reader.uint32(), options, message.seed.siteSeed),
                    };
                    break;
                default:
                    let u = options.readUnknownField;
                    if (u === 'throw')
                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
                    let d = reader.skip(wireType);
                    if (u !== false)
                        (u === true ? runtime_1.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
            }
        }
        return message;
    }
    internalBinaryWrite(message, writer, options) {
        /* string customer_id = 1; */
        if (message.customerId !== '')
            writer.tag(1, runtime_2.WireType.LengthDelimited).string(message.customerId);
        /* optional string language = 14; */
        if (message.language !== undefined)
            writer.tag(14, runtime_2.WireType.LengthDelimited).string(message.language);
        /* repeated string geo_target_constants = 15; */
        for (let i = 0; i < message.geoTargetConstants.length; i++)
            writer
                .tag(15, runtime_2.WireType.LengthDelimited)
                .string(message.geoTargetConstants[i]);
        /* bool include_adult_keywords = 10; */
        if (message.includeAdultKeywords !== false)
            writer.tag(10, runtime_2.WireType.Varint).bool(message.includeAdultKeywords);
        /* string page_token = 12; */
        if (message.pageToken !== '')
            writer.tag(12, runtime_2.WireType.LengthDelimited).string(message.pageToken);
        /* int32 page_size = 13; */
        if (message.pageSize !== 0)
            writer.tag(13, runtime_2.WireType.Varint).int32(message.pageSize);
        /* google.ads.googleads.v11.enums.KeywordPlanNetworkEnum.KeywordPlanNetwork keyword_plan_network = 9; */
        if (message.keywordPlanNetwork !== 0)
            writer.tag(9, runtime_2.WireType.Varint).int32(message.keywordPlanNetwork);
        /* repeated google.ads.googleads.v11.enums.KeywordPlanKeywordAnnotationEnum.KeywordPlanKeywordAnnotation keyword_annotation = 17; */
        if (message.keywordAnnotation.length) {
            writer.tag(17, runtime_2.WireType.LengthDelimited).fork();
            for (let i = 0; i < message.keywordAnnotation.length; i++)
                writer.int32(message.keywordAnnotation[i]);
            writer.join();
        }
        /* google.ads.googleads.v11.common.KeywordPlanAggregateMetrics aggregate_metrics = 16; */
        if (message.aggregateMetrics)
            keyword_plan_common_5.KeywordPlanAggregateMetrics.internalBinaryWrite(message.aggregateMetrics, writer.tag(16, runtime_2.WireType.LengthDelimited).fork(), options).join();
        /* google.ads.googleads.v11.common.HistoricalMetricsOptions historical_metrics_options = 18; */
        if (message.historicalMetricsOptions)
            keyword_plan_common_4.HistoricalMetricsOptions.internalBinaryWrite(message.historicalMetricsOptions, writer.tag(18, runtime_2.WireType.LengthDelimited).fork(), options).join();
        /* google.ads.googleads.v11.services.KeywordAndUrlSeed keyword_and_url_seed = 2; */
        if (message.seed.oneofKind === 'keywordAndUrlSeed')
            exports.KeywordAndUrlSeed.internalBinaryWrite(message.seed.keywordAndUrlSeed, writer.tag(2, runtime_2.WireType.LengthDelimited).fork(), options).join();
        /* google.ads.googleads.v11.services.KeywordSeed keyword_seed = 3; */
        if (message.seed.oneofKind === 'keywordSeed')
            exports.KeywordSeed.internalBinaryWrite(message.seed.keywordSeed, writer.tag(3, runtime_2.WireType.LengthDelimited).fork(), options).join();
        /* google.ads.googleads.v11.services.UrlSeed url_seed = 5; */
        if (message.seed.oneofKind === 'urlSeed')
            exports.UrlSeed.internalBinaryWrite(message.seed.urlSeed, writer.tag(5, runtime_2.WireType.LengthDelimited).fork(), options).join();
        /* google.ads.googleads.v11.services.SiteSeed site_seed = 11; */
        if (message.seed.oneofKind === 'siteSeed')
            exports.SiteSeed.internalBinaryWrite(message.seed.siteSeed, writer.tag(11, runtime_2.WireType.LengthDelimited).fork(), options).join();
        let u = options.writeUnknownFields;
        if (u !== false)
            (u == true ? runtime_1.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
        return writer;
    }
}
/**
 * @generated MessageType for protobuf message google.ads.googleads.v11.services.GenerateKeywordIdeasRequest
 */
exports.GenerateKeywordIdeasRequest = new GenerateKeywordIdeasRequest$Type();
// @generated message type with reflection information, may provide speed optimized methods
class KeywordAndUrlSeed$Type extends runtime_5.MessageType {
    constructor() {
        super('google.ads.googleads.v11.services.KeywordAndUrlSeed', [
            {
                no: 3,
                name: 'url',
                kind: 'scalar',
                opt: true,
                T: 9 /*ScalarType.STRING*/,
            },
            {
                no: 4,
                name: 'keywords',
                kind: 'scalar',
                repeat: 2 /*RepeatType.UNPACKED*/,
                T: 9 /*ScalarType.STRING*/,
            },
        ]);
    }
    create(value) {
        const message = { keywords: [] };
        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, {
            enumerable: false,
            value: this,
        });
        if (value !== undefined)
            (0, runtime_3.reflectionMergePartial)(this, message, value);
        return message;
    }
    internalBinaryRead(reader, length, options, target) {
        let message = target ?? this.create(), end = reader.pos + length;
        while (reader.pos < end) {
            let [fieldNo, wireType] = reader.tag();
            switch (fieldNo) {
                case /* optional string url */ 3:
                    message.url = reader.string();
                    break;
                case /* repeated string keywords */ 4:
                    message.keywords.push(reader.string());
                    break;
                default:
                    let u = options.readUnknownField;
                    if (u === 'throw')
                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
                    let d = reader.skip(wireType);
                    if (u !== false)
                        (u === true ? runtime_1.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
            }
        }
        return message;
    }
    internalBinaryWrite(message, writer, options) {
        /* optional string url = 3; */
        if (message.url !== undefined)
            writer.tag(3, runtime_2.WireType.LengthDelimited).string(message.url);
        /* repeated string keywords = 4; */
        for (let i = 0; i < message.keywords.length; i++)
            writer.tag(4, runtime_2.WireType.LengthDelimited).string(message.keywords[i]);
        let u = options.writeUnknownFields;
        if (u !== false)
            (u == true ? runtime_1.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
        return writer;
    }
}
/**
 * @generated MessageType for protobuf message google.ads.googleads.v11.services.KeywordAndUrlSeed
 */
exports.KeywordAndUrlSeed = new KeywordAndUrlSeed$Type();
// @generated message type with reflection information, may provide speed optimized methods
class KeywordSeed$Type extends runtime_5.MessageType {
    constructor() {
        super('google.ads.googleads.v11.services.KeywordSeed', [
            {
                no: 2,
                name: 'keywords',
                kind: 'scalar',
                repeat: 2 /*RepeatType.UNPACKED*/,
                T: 9 /*ScalarType.STRING*/,
            },
        ]);
    }
    create(value) {
        const message = { keywords: [] };
        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, {
            enumerable: false,
            value: this,
        });
        if (value !== undefined)
            (0, runtime_3.reflectionMergePartial)(this, message, value);
        return message;
    }
    internalBinaryRead(reader, length, options, target) {
        let message = target ?? this.create(), end = reader.pos + length;
        while (reader.pos < end) {
            let [fieldNo, wireType] = reader.tag();
            switch (fieldNo) {
                case /* repeated string keywords */ 2:
                    message.keywords.push(reader.string());
                    break;
                default:
                    let u = options.readUnknownField;
                    if (u === 'throw')
                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
                    let d = reader.skip(wireType);
                    if (u !== false)
                        (u === true ? runtime_1.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
            }
        }
        return message;
    }
    internalBinaryWrite(message, writer, options) {
        /* repeated string keywords = 2; */
        for (let i = 0; i < message.keywords.length; i++)
            writer.tag(2, runtime_2.WireType.LengthDelimited).string(message.keywords[i]);
        let u = options.writeUnknownFields;
        if (u !== false)
            (u == true ? runtime_1.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
        return writer;
    }
}
/**
 * @generated MessageType for protobuf message google.ads.googleads.v11.services.KeywordSeed
 */
exports.KeywordSeed = new KeywordSeed$Type();
// @generated message type with reflection information, may provide speed optimized methods
class SiteSeed$Type extends runtime_5.MessageType {
    constructor() {
        super('google.ads.googleads.v11.services.SiteSeed', [
            {
                no: 2,
                name: 'site',
                kind: 'scalar',
                opt: true,
                T: 9 /*ScalarType.STRING*/,
            },
        ]);
    }
    create(value) {
        const message = {};
        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, {
            enumerable: false,
            value: this,
        });
        if (value !== undefined)
            (0, runtime_3.reflectionMergePartial)(this, message, value);
        return message;
    }
    internalBinaryRead(reader, length, options, target) {
        let message = target ?? this.create(), end = reader.pos + length;
        while (reader.pos < end) {
            let [fieldNo, wireType] = reader.tag();
            switch (fieldNo) {
                case /* optional string site */ 2:
                    message.site = reader.string();
                    break;
                default:
                    let u = options.readUnknownField;
                    if (u === 'throw')
                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
                    let d = reader.skip(wireType);
                    if (u !== false)
                        (u === true ? runtime_1.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
            }
        }
        return message;
    }
    internalBinaryWrite(message, writer, options) {
        /* optional string site = 2; */
        if (message.site !== undefined)
            writer.tag(2, runtime_2.WireType.LengthDelimited).string(message.site);
        let u = options.writeUnknownFields;
        if (u !== false)
            (u == true ? runtime_1.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
        return writer;
    }
}
/**
 * @generated MessageType for protobuf message google.ads.googleads.v11.services.SiteSeed
 */
exports.SiteSeed = new SiteSeed$Type();
// @generated message type with reflection information, may provide speed optimized methods
class UrlSeed$Type extends runtime_5.MessageType {
    constructor() {
        super('google.ads.googleads.v11.services.UrlSeed', [
            {
                no: 2,
                name: 'url',
                kind: 'scalar',
                opt: true,
                T: 9 /*ScalarType.STRING*/,
            },
        ]);
    }
    create(value) {
        const message = {};
        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, {
            enumerable: false,
            value: this,
        });
        if (value !== undefined)
            (0, runtime_3.reflectionMergePartial)(this, message, value);
        return message;
    }
    internalBinaryRead(reader, length, options, target) {
        let message = target ?? this.create(), end = reader.pos + length;
        while (reader.pos < end) {
            let [fieldNo, wireType] = reader.tag();
            switch (fieldNo) {
                case /* optional string url */ 2:
                    message.url = reader.string();
                    break;
                default:
                    let u = options.readUnknownField;
                    if (u === 'throw')
                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
                    let d = reader.skip(wireType);
                    if (u !== false)
                        (u === true ? runtime_1.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
            }
        }
        return message;
    }
    internalBinaryWrite(message, writer, options) {
        /* optional string url = 2; */
        if (message.url !== undefined)
            writer.tag(2, runtime_2.WireType.LengthDelimited).string(message.url);
        let u = options.writeUnknownFields;
        if (u !== false)
            (u == true ? runtime_1.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
        return writer;
    }
}
/**
 * @generated MessageType for protobuf message google.ads.googleads.v11.services.UrlSeed
 */
exports.UrlSeed = new UrlSeed$Type();
// @generated message type with reflection information, may provide speed optimized methods
class GenerateKeywordIdeaResponse$Type extends runtime_5.MessageType {
    constructor() {
        super('google.ads.googleads.v11.services.GenerateKeywordIdeaResponse', [
            {
                no: 1,
                name: 'results',
                kind: 'message',
                repeat: 1 /*RepeatType.PACKED*/,
                T: () => exports.GenerateKeywordIdeaResult,
            },
            {
                no: 4,
                name: 'aggregate_metric_results',
                kind: 'message',
                T: () => keyword_plan_common_3.KeywordPlanAggregateMetricResults,
            },
            {
                no: 2,
                name: 'next_page_token',
                kind: 'scalar',
                T: 9 /*ScalarType.STRING*/,
            },
            {
                no: 3,
                name: 'total_size',
                kind: 'scalar',
                T: 3 /*ScalarType.INT64*/,
                L: 0 /*LongType.BIGINT*/,
            },
        ]);
    }
    create(value) {
        const message = { results: [], nextPageToken: '', totalSize: 0n };
        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, {
            enumerable: false,
            value: this,
        });
        if (value !== undefined)
            (0, runtime_3.reflectionMergePartial)(this, message, value);
        return message;
    }
    internalBinaryRead(reader, length, options, target) {
        let message = target ?? this.create(), end = reader.pos + length;
        while (reader.pos < end) {
            let [fieldNo, wireType] = reader.tag();
            switch (fieldNo) {
                case /* repeated google.ads.googleads.v11.services.GenerateKeywordIdeaResult results */ 1:
                    message.results.push(exports.GenerateKeywordIdeaResult.internalBinaryRead(reader, reader.uint32(), options));
                    break;
                case /* google.ads.googleads.v11.common.KeywordPlanAggregateMetricResults aggregate_metric_results */ 4:
                    message.aggregateMetricResults =
                        keyword_plan_common_3.KeywordPlanAggregateMetricResults.internalBinaryRead(reader, reader.uint32(), options, message.aggregateMetricResults);
                    break;
                case /* string next_page_token */ 2:
                    message.nextPageToken = reader.string();
                    break;
                case /* int64 total_size */ 3:
                    message.totalSize = reader.int64().toBigInt();
                    break;
                default:
                    let u = options.readUnknownField;
                    if (u === 'throw')
                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
                    let d = reader.skip(wireType);
                    if (u !== false)
                        (u === true ? runtime_1.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
            }
        }
        return message;
    }
    internalBinaryWrite(message, writer, options) {
        /* repeated google.ads.googleads.v11.services.GenerateKeywordIdeaResult results = 1; */
        for (let i = 0; i < message.results.length; i++)
            exports.GenerateKeywordIdeaResult.internalBinaryWrite(message.results[i], writer.tag(1, runtime_2.WireType.LengthDelimited).fork(), options).join();
        /* google.ads.googleads.v11.common.KeywordPlanAggregateMetricResults aggregate_metric_results = 4; */
        if (message.aggregateMetricResults)
            keyword_plan_common_3.KeywordPlanAggregateMetricResults.internalBinaryWrite(message.aggregateMetricResults, writer.tag(4, runtime_2.WireType.LengthDelimited).fork(), options).join();
        /* string next_page_token = 2; */
        if (message.nextPageToken !== '')
            writer.tag(2, runtime_2.WireType.LengthDelimited).string(message.nextPageToken);
        /* int64 total_size = 3; */
        if (message.totalSize !== 0n)
            writer.tag(3, runtime_2.WireType.Varint).int64(message.totalSize);
        let u = options.writeUnknownFields;
        if (u !== false)
            (u == true ? runtime_1.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
        return writer;
    }
}
/**
 * @generated MessageType for protobuf message google.ads.googleads.v11.services.GenerateKeywordIdeaResponse
 */
exports.GenerateKeywordIdeaResponse = new GenerateKeywordIdeaResponse$Type();
// @generated message type with reflection information, may provide speed optimized methods
class GenerateKeywordIdeaResult$Type extends runtime_5.MessageType {
    constructor() {
        super('google.ads.googleads.v11.services.GenerateKeywordIdeaResult', [
            {
                no: 5,
                name: 'text',
                kind: 'scalar',
                opt: true,
                T: 9 /*ScalarType.STRING*/,
            },
            {
                no: 3,
                name: 'keyword_idea_metrics',
                kind: 'message',
                T: () => keyword_plan_common_2.KeywordPlanHistoricalMetrics,
            },
            {
                no: 6,
                name: 'keyword_annotations',
                kind: 'message',
                T: () => keyword_plan_common_1.KeywordAnnotations,
            },
            {
                no: 7,
                name: 'close_variants',
                kind: 'scalar',
                repeat: 2 /*RepeatType.UNPACKED*/,
                T: 9 /*ScalarType.STRING*/,
            },
        ]);
    }
    create(value) {
        const message = { closeVariants: [] };
        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, {
            enumerable: false,
            value: this,
        });
        if (value !== undefined)
            (0, runtime_3.reflectionMergePartial)(this, message, value);
        return message;
    }
    internalBinaryRead(reader, length, options, target) {
        let message = target ?? this.create(), end = reader.pos + length;
        while (reader.pos < end) {
            let [fieldNo, wireType] = reader.tag();
            switch (fieldNo) {
                case /* optional string text */ 5:
                    message.text = reader.string();
                    break;
                case /* google.ads.googleads.v11.common.KeywordPlanHistoricalMetrics keyword_idea_metrics */ 3:
                    message.keywordIdeaMetrics =
                        keyword_plan_common_2.KeywordPlanHistoricalMetrics.internalBinaryRead(reader, reader.uint32(), options, message.keywordIdeaMetrics);
                    break;
                case /* google.ads.googleads.v11.common.KeywordAnnotations keyword_annotations */ 6:
                    message.keywordAnnotations = keyword_plan_common_1.KeywordAnnotations.internalBinaryRead(reader, reader.uint32(), options, message.keywordAnnotations);
                    break;
                case /* repeated string close_variants */ 7:
                    message.closeVariants.push(reader.string());
                    break;
                default:
                    let u = options.readUnknownField;
                    if (u === 'throw')
                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
                    let d = reader.skip(wireType);
                    if (u !== false)
                        (u === true ? runtime_1.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
            }
        }
        return message;
    }
    internalBinaryWrite(message, writer, options) {
        /* optional string text = 5; */
        if (message.text !== undefined)
            writer.tag(5, runtime_2.WireType.LengthDelimited).string(message.text);
        /* google.ads.googleads.v11.common.KeywordPlanHistoricalMetrics keyword_idea_metrics = 3; */
        if (message.keywordIdeaMetrics)
            keyword_plan_common_2.KeywordPlanHistoricalMetrics.internalBinaryWrite(message.keywordIdeaMetrics, writer.tag(3, runtime_2.WireType.LengthDelimited).fork(), options).join();
        /* google.ads.googleads.v11.common.KeywordAnnotations keyword_annotations = 6; */
        if (message.keywordAnnotations)
            keyword_plan_common_1.KeywordAnnotations.internalBinaryWrite(message.keywordAnnotations, writer.tag(6, runtime_2.WireType.LengthDelimited).fork(), options).join();
        /* repeated string close_variants = 7; */
        for (let i = 0; i < message.closeVariants.length; i++)
            writer.tag(7, runtime_2.WireType.LengthDelimited).string(message.closeVariants[i]);
        let u = options.writeUnknownFields;
        if (u !== false)
            (u == true ? runtime_1.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
        return writer;
    }
}
/**
 * @generated MessageType for protobuf message google.ads.googleads.v11.services.GenerateKeywordIdeaResult
 */
exports.GenerateKeywordIdeaResult = new GenerateKeywordIdeaResult$Type();
// @generated message type with reflection information, may provide speed optimized methods
class GenerateKeywordHistoricalMetricsRequest$Type extends runtime_5.MessageType {
    constructor() {
        super('google.ads.googleads.v11.services.GenerateKeywordHistoricalMetricsRequest', [
            {
                no: 1,
                name: 'customer_id',
                kind: 'scalar',
                T: 9 /*ScalarType.STRING*/,
            },
            {
                no: 2,
                name: 'keywords',
                kind: 'scalar',
                repeat: 2 /*RepeatType.UNPACKED*/,
                T: 9 /*ScalarType.STRING*/,
            },
            {
                no: 4,
                name: 'language',
                kind: 'scalar',
                opt: true,
                T: 9 /*ScalarType.STRING*/,
            },
            {
                no: 5,
                name: 'include_adult_keywords',
                kind: 'scalar',
                T: 8 /*ScalarType.BOOL*/,
            },
            {
                no: 6,
                name: 'geo_target_constants',
                kind: 'scalar',
                repeat: 2 /*RepeatType.UNPACKED*/,
                T: 9 /*ScalarType.STRING*/,
            },
            {
                no: 7,
                name: 'keyword_plan_network',
                kind: 'enum',
                T: () => [
                    'google.ads.googleads.v11.enums.KeywordPlanNetworkEnum.KeywordPlanNetwork',
                    keyword_plan_network_1.KeywordPlanNetworkEnum_KeywordPlanNetwork,
                ],
            },
            {
                no: 8,
                name: 'aggregate_metrics',
                kind: 'message',
                T: () => keyword_plan_common_5.KeywordPlanAggregateMetrics,
            },
            {
                no: 3,
                name: 'historical_metrics_options',
                kind: 'message',
                T: () => keyword_plan_common_4.HistoricalMetricsOptions,
            },
        ]);
    }
    create(value) {
        const message = {
            customerId: '',
            keywords: [],
            includeAdultKeywords: false,
            geoTargetConstants: [],
            keywordPlanNetwork: 0,
        };
        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, {
            enumerable: false,
            value: this,
        });
        if (value !== undefined)
            (0, runtime_3.reflectionMergePartial)(this, message, value);
        return message;
    }
    internalBinaryRead(reader, length, options, target) {
        let message = target ?? this.create(), end = reader.pos + length;
        while (reader.pos < end) {
            let [fieldNo, wireType] = reader.tag();
            switch (fieldNo) {
                case /* string customer_id */ 1:
                    message.customerId = reader.string();
                    break;
                case /* repeated string keywords */ 2:
                    message.keywords.push(reader.string());
                    break;
                case /* optional string language */ 4:
                    message.language = reader.string();
                    break;
                case /* bool include_adult_keywords */ 5:
                    message.includeAdultKeywords = reader.bool();
                    break;
                case /* repeated string geo_target_constants */ 6:
                    message.geoTargetConstants.push(reader.string());
                    break;
                case /* google.ads.googleads.v11.enums.KeywordPlanNetworkEnum.KeywordPlanNetwork keyword_plan_network */ 7:
                    message.keywordPlanNetwork = reader.int32();
                    break;
                case /* google.ads.googleads.v11.common.KeywordPlanAggregateMetrics aggregate_metrics */ 8:
                    message.aggregateMetrics =
                        keyword_plan_common_5.KeywordPlanAggregateMetrics.internalBinaryRead(reader, reader.uint32(), options, message.aggregateMetrics);
                    break;
                case /* google.ads.googleads.v11.common.HistoricalMetricsOptions historical_metrics_options */ 3:
                    message.historicalMetricsOptions =
                        keyword_plan_common_4.HistoricalMetricsOptions.internalBinaryRead(reader, reader.uint32(), options, message.historicalMetricsOptions);
                    break;
                default:
                    let u = options.readUnknownField;
                    if (u === 'throw')
                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
                    let d = reader.skip(wireType);
                    if (u !== false)
                        (u === true ? runtime_1.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
            }
        }
        return message;
    }
    internalBinaryWrite(message, writer, options) {
        /* string customer_id = 1; */
        if (message.customerId !== '')
            writer.tag(1, runtime_2.WireType.LengthDelimited).string(message.customerId);
        /* repeated string keywords = 2; */
        for (let i = 0; i < message.keywords.length; i++)
            writer.tag(2, runtime_2.WireType.LengthDelimited).string(message.keywords[i]);
        /* optional string language = 4; */
        if (message.language !== undefined)
            writer.tag(4, runtime_2.WireType.LengthDelimited).string(message.language);
        /* bool include_adult_keywords = 5; */
        if (message.includeAdultKeywords !== false)
            writer.tag(5, runtime_2.WireType.Varint).bool(message.includeAdultKeywords);
        /* repeated string geo_target_constants = 6; */
        for (let i = 0; i < message.geoTargetConstants.length; i++)
            writer
                .tag(6, runtime_2.WireType.LengthDelimited)
                .string(message.geoTargetConstants[i]);
        /* google.ads.googleads.v11.enums.KeywordPlanNetworkEnum.KeywordPlanNetwork keyword_plan_network = 7; */
        if (message.keywordPlanNetwork !== 0)
            writer.tag(7, runtime_2.WireType.Varint).int32(message.keywordPlanNetwork);
        /* google.ads.googleads.v11.common.KeywordPlanAggregateMetrics aggregate_metrics = 8; */
        if (message.aggregateMetrics)
            keyword_plan_common_5.KeywordPlanAggregateMetrics.internalBinaryWrite(message.aggregateMetrics, writer.tag(8, runtime_2.WireType.LengthDelimited).fork(), options).join();
        /* google.ads.googleads.v11.common.HistoricalMetricsOptions historical_metrics_options = 3; */
        if (message.historicalMetricsOptions)
            keyword_plan_common_4.HistoricalMetricsOptions.internalBinaryWrite(message.historicalMetricsOptions, writer.tag(3, runtime_2.WireType.LengthDelimited).fork(), options).join();
        let u = options.writeUnknownFields;
        if (u !== false)
            (u == true ? runtime_1.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
        return writer;
    }
}
/**
 * @generated MessageType for protobuf message google.ads.googleads.v11.services.GenerateKeywordHistoricalMetricsRequest
 */
exports.GenerateKeywordHistoricalMetricsRequest = new GenerateKeywordHistoricalMetricsRequest$Type();
// @generated message type with reflection information, may provide speed optimized methods
class GenerateKeywordHistoricalMetricsResponse$Type extends runtime_5.MessageType {
    constructor() {
        super('google.ads.googleads.v11.services.GenerateKeywordHistoricalMetricsResponse', [
            {
                no: 1,
                name: 'results',
                kind: 'message',
                repeat: 1 /*RepeatType.PACKED*/,
                T: () => exports.GenerateKeywordHistoricalMetricsResult,
            },
            {
                no: 2,
                name: 'aggregate_metric_results',
                kind: 'message',
                T: () => keyword_plan_common_3.KeywordPlanAggregateMetricResults,
            },
        ]);
    }
    create(value) {
        const message = { results: [] };
        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, {
            enumerable: false,
            value: this,
        });
        if (value !== undefined)
            (0, runtime_3.reflectionMergePartial)(this, message, value);
        return message;
    }
    internalBinaryRead(reader, length, options, target) {
        let message = target ?? this.create(), end = reader.pos + length;
        while (reader.pos < end) {
            let [fieldNo, wireType] = reader.tag();
            switch (fieldNo) {
                case /* repeated google.ads.googleads.v11.services.GenerateKeywordHistoricalMetricsResult results */ 1:
                    message.results.push(exports.GenerateKeywordHistoricalMetricsResult.internalBinaryRead(reader, reader.uint32(), options));
                    break;
                case /* google.ads.googleads.v11.common.KeywordPlanAggregateMetricResults aggregate_metric_results */ 2:
                    message.aggregateMetricResults =
                        keyword_plan_common_3.KeywordPlanAggregateMetricResults.internalBinaryRead(reader, reader.uint32(), options, message.aggregateMetricResults);
                    break;
                default:
                    let u = options.readUnknownField;
                    if (u === 'throw')
                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
                    let d = reader.skip(wireType);
                    if (u !== false)
                        (u === true ? runtime_1.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
            }
        }
        return message;
    }
    internalBinaryWrite(message, writer, options) {
        /* repeated google.ads.googleads.v11.services.GenerateKeywordHistoricalMetricsResult results = 1; */
        for (let i = 0; i < message.results.length; i++)
            exports.GenerateKeywordHistoricalMetricsResult.internalBinaryWrite(message.results[i], writer.tag(1, runtime_2.WireType.LengthDelimited).fork(), options).join();
        /* google.ads.googleads.v11.common.KeywordPlanAggregateMetricResults aggregate_metric_results = 2; */
        if (message.aggregateMetricResults)
            keyword_plan_common_3.KeywordPlanAggregateMetricResults.internalBinaryWrite(message.aggregateMetricResults, writer.tag(2, runtime_2.WireType.LengthDelimited).fork(), options).join();
        let u = options.writeUnknownFields;
        if (u !== false)
            (u == true ? runtime_1.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
        return writer;
    }
}
/**
 * @generated MessageType for protobuf message google.ads.googleads.v11.services.GenerateKeywordHistoricalMetricsResponse
 */
exports.GenerateKeywordHistoricalMetricsResponse = new GenerateKeywordHistoricalMetricsResponse$Type();
// @generated message type with reflection information, may provide speed optimized methods
class GenerateKeywordHistoricalMetricsResult$Type extends runtime_5.MessageType {
    constructor() {
        super('google.ads.googleads.v11.services.GenerateKeywordHistoricalMetricsResult', [
            {
                no: 1,
                name: 'text',
                kind: 'scalar',
                opt: true,
                T: 9 /*ScalarType.STRING*/,
            },
            {
                no: 3,
                name: 'close_variants',
                kind: 'scalar',
                repeat: 2 /*RepeatType.UNPACKED*/,
                T: 9 /*ScalarType.STRING*/,
            },
            {
                no: 2,
                name: 'keyword_metrics',
                kind: 'message',
                T: () => keyword_plan_common_2.KeywordPlanHistoricalMetrics,
            },
        ]);
    }
    create(value) {
        const message = { closeVariants: [] };
        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, {
            enumerable: false,
            value: this,
        });
        if (value !== undefined)
            (0, runtime_3.reflectionMergePartial)(this, message, value);
        return message;
    }
    internalBinaryRead(reader, length, options, target) {
        let message = target ?? this.create(), end = reader.pos + length;
        while (reader.pos < end) {
            let [fieldNo, wireType] = reader.tag();
            switch (fieldNo) {
                case /* optional string text */ 1:
                    message.text = reader.string();
                    break;
                case /* repeated string close_variants */ 3:
                    message.closeVariants.push(reader.string());
                    break;
                case /* google.ads.googleads.v11.common.KeywordPlanHistoricalMetrics keyword_metrics */ 2:
                    message.keywordMetrics =
                        keyword_plan_common_2.KeywordPlanHistoricalMetrics.internalBinaryRead(reader, reader.uint32(), options, message.keywordMetrics);
                    break;
                default:
                    let u = options.readUnknownField;
                    if (u === 'throw')
                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
                    let d = reader.skip(wireType);
                    if (u !== false)
                        (u === true ? runtime_1.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
            }
        }
        return message;
    }
    internalBinaryWrite(message, writer, options) {
        /* optional string text = 1; */
        if (message.text !== undefined)
            writer.tag(1, runtime_2.WireType.LengthDelimited).string(message.text);
        /* repeated string close_variants = 3; */
        for (let i = 0; i < message.closeVariants.length; i++)
            writer.tag(3, runtime_2.WireType.LengthDelimited).string(message.closeVariants[i]);
        /* google.ads.googleads.v11.common.KeywordPlanHistoricalMetrics keyword_metrics = 2; */
        if (message.keywordMetrics)
            keyword_plan_common_2.KeywordPlanHistoricalMetrics.internalBinaryWrite(message.keywordMetrics, writer.tag(2, runtime_2.WireType.LengthDelimited).fork(), options).join();
        let u = options.writeUnknownFields;
        if (u !== false)
            (u == true ? runtime_1.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
        return writer;
    }
}
/**
 * @generated MessageType for protobuf message google.ads.googleads.v11.services.GenerateKeywordHistoricalMetricsResult
 */
exports.GenerateKeywordHistoricalMetricsResult = new GenerateKeywordHistoricalMetricsResult$Type();
// @generated message type with reflection information, may provide speed optimized methods
class GenerateAdGroupThemesRequest$Type extends runtime_5.MessageType {
    constructor() {
        super('google.ads.googleads.v11.services.GenerateAdGroupThemesRequest', [
            {
                no: 1,
                name: 'customer_id',
                kind: 'scalar',
                T: 9 /*ScalarType.STRING*/,
                options: { 'google.api.field_behavior': ['REQUIRED'] },
            },
            {
                no: 2,
                name: 'keywords',
                kind: 'scalar',
                repeat: 2 /*RepeatType.UNPACKED*/,
                T: 9 /*ScalarType.STRING*/,
                options: { 'google.api.field_behavior': ['REQUIRED'] },
            },
            {
                no: 3,
                name: 'ad_groups',
                kind: 'scalar',
                repeat: 2 /*RepeatType.UNPACKED*/,
                T: 9 /*ScalarType.STRING*/,
                options: { 'google.api.field_behavior': ['REQUIRED'] },
            },
        ]);
    }
    create(value) {
        const message = { customerId: '', keywords: [], adGroups: [] };
        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, {
            enumerable: false,
            value: this,
        });
        if (value !== undefined)
            (0, runtime_3.reflectionMergePartial)(this, message, value);
        return message;
    }
    internalBinaryRead(reader, length, options, target) {
        let message = target ?? this.create(), end = reader.pos + length;
        while (reader.pos < end) {
            let [fieldNo, wireType] = reader.tag();
            switch (fieldNo) {
                case /* string customer_id */ 1:
                    message.customerId = reader.string();
                    break;
                case /* repeated string keywords */ 2:
                    message.keywords.push(reader.string());
                    break;
                case /* repeated string ad_groups */ 3:
                    message.adGroups.push(reader.string());
                    break;
                default:
                    let u = options.readUnknownField;
                    if (u === 'throw')
                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
                    let d = reader.skip(wireType);
                    if (u !== false)
                        (u === true ? runtime_1.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
            }
        }
        return message;
    }
    internalBinaryWrite(message, writer, options) {
        /* string customer_id = 1; */
        if (message.customerId !== '')
            writer.tag(1, runtime_2.WireType.LengthDelimited).string(message.customerId);
        /* repeated string keywords = 2; */
        for (let i = 0; i < message.keywords.length; i++)
            writer.tag(2, runtime_2.WireType.LengthDelimited).string(message.keywords[i]);
        /* repeated string ad_groups = 3; */
        for (let i = 0; i < message.adGroups.length; i++)
            writer.tag(3, runtime_2.WireType.LengthDelimited).string(message.adGroups[i]);
        let u = options.writeUnknownFields;
        if (u !== false)
            (u == true ? runtime_1.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
        return writer;
    }
}
/**
 * @generated MessageType for protobuf message google.ads.googleads.v11.services.GenerateAdGroupThemesRequest
 */
exports.GenerateAdGroupThemesRequest = new GenerateAdGroupThemesRequest$Type();
// @generated message type with reflection information, may provide speed optimized methods
class GenerateAdGroupThemesResponse$Type extends runtime_5.MessageType {
    constructor() {
        super('google.ads.googleads.v11.services.GenerateAdGroupThemesResponse', [
            {
                no: 1,
                name: 'ad_group_keyword_suggestions',
                kind: 'message',
                repeat: 1 /*RepeatType.PACKED*/,
                T: () => exports.AdGroupKeywordSuggestion,
            },
            {
                no: 2,
                name: 'unusable_ad_groups',
                kind: 'message',
                repeat: 1 /*RepeatType.PACKED*/,
                T: () => exports.UnusableAdGroup,
            },
        ]);
    }
    create(value) {
        const message = { adGroupKeywordSuggestions: [], unusableAdGroups: [] };
        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, {
            enumerable: false,
            value: this,
        });
        if (value !== undefined)
            (0, runtime_3.reflectionMergePartial)(this, message, value);
        return message;
    }
    internalBinaryRead(reader, length, options, target) {
        let message = target ?? this.create(), end = reader.pos + length;
        while (reader.pos < end) {
            let [fieldNo, wireType] = reader.tag();
            switch (fieldNo) {
                case /* repeated google.ads.googleads.v11.services.AdGroupKeywordSuggestion ad_group_keyword_suggestions */ 1:
                    message.adGroupKeywordSuggestions.push(exports.AdGroupKeywordSuggestion.internalBinaryRead(reader, reader.uint32(), options));
                    break;
                case /* repeated google.ads.googleads.v11.services.UnusableAdGroup unusable_ad_groups */ 2:
                    message.unusableAdGroups.push(exports.UnusableAdGroup.internalBinaryRead(reader, reader.uint32(), options));
                    break;
                default:
                    let u = options.readUnknownField;
                    if (u === 'throw')
                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
                    let d = reader.skip(wireType);
                    if (u !== false)
                        (u === true ? runtime_1.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
            }
        }
        return message;
    }
    internalBinaryWrite(message, writer, options) {
        /* repeated google.ads.googleads.v11.services.AdGroupKeywordSuggestion ad_group_keyword_suggestions = 1; */
        for (let i = 0; i < message.adGroupKeywordSuggestions.length; i++)
            exports.AdGroupKeywordSuggestion.internalBinaryWrite(message.adGroupKeywordSuggestions[i], writer.tag(1, runtime_2.WireType.LengthDelimited).fork(), options).join();
        /* repeated google.ads.googleads.v11.services.UnusableAdGroup unusable_ad_groups = 2; */
        for (let i = 0; i < message.unusableAdGroups.length; i++)
            exports.UnusableAdGroup.internalBinaryWrite(message.unusableAdGroups[i], writer.tag(2, runtime_2.WireType.LengthDelimited).fork(), options).join();
        let u = options.writeUnknownFields;
        if (u !== false)
            (u == true ? runtime_1.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
        return writer;
    }
}
/**
 * @generated MessageType for protobuf message google.ads.googleads.v11.services.GenerateAdGroupThemesResponse
 */
exports.GenerateAdGroupThemesResponse = new GenerateAdGroupThemesResponse$Type();
// @generated message type with reflection information, may provide speed optimized methods
class AdGroupKeywordSuggestion$Type extends runtime_5.MessageType {
    constructor() {
        super('google.ads.googleads.v11.services.AdGroupKeywordSuggestion', [
            {
                no: 1,
                name: 'keyword_text',
                kind: 'scalar',
                T: 9 /*ScalarType.STRING*/,
            },
            {
                no: 2,
                name: 'suggested_keyword_text',
                kind: 'scalar',
                T: 9 /*ScalarType.STRING*/,
            },
            {
                no: 3,
                name: 'suggested_match_type',
                kind: 'enum',
                T: () => [
                    'google.ads.googleads.v11.enums.KeywordMatchTypeEnum.KeywordMatchType',
                    keyword_match_type_1.KeywordMatchTypeEnum_KeywordMatchType,
                ],
            },
            {
                no: 4,
                name: 'suggested_ad_group',
                kind: 'scalar',
                T: 9 /*ScalarType.STRING*/,
            },
            {
                no: 5,
                name: 'suggested_campaign',
                kind: 'scalar',
                T: 9 /*ScalarType.STRING*/,
            },
        ]);
    }
    create(value) {
        const message = {
            keywordText: '',
            suggestedKeywordText: '',
            suggestedMatchType: 0,
            suggestedAdGroup: '',
            suggestedCampaign: '',
        };
        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, {
            enumerable: false,
            value: this,
        });
        if (value !== undefined)
            (0, runtime_3.reflectionMergePartial)(this, message, value);
        return message;
    }
    internalBinaryRead(reader, length, options, target) {
        let message = target ?? this.create(), end = reader.pos + length;
        while (reader.pos < end) {
            let [fieldNo, wireType] = reader.tag();
            switch (fieldNo) {
                case /* string keyword_text */ 1:
                    message.keywordText = reader.string();
                    break;
                case /* string suggested_keyword_text */ 2:
                    message.suggestedKeywordText = reader.string();
                    break;
                case /* google.ads.googleads.v11.enums.KeywordMatchTypeEnum.KeywordMatchType suggested_match_type */ 3:
                    message.suggestedMatchType = reader.int32();
                    break;
                case /* string suggested_ad_group */ 4:
                    message.suggestedAdGroup = reader.string();
                    break;
                case /* string suggested_campaign */ 5:
                    message.suggestedCampaign = reader.string();
                    break;
                default:
                    let u = options.readUnknownField;
                    if (u === 'throw')
                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
                    let d = reader.skip(wireType);
                    if (u !== false)
                        (u === true ? runtime_1.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
            }
        }
        return message;
    }
    internalBinaryWrite(message, writer, options) {
        /* string keyword_text = 1; */
        if (message.keywordText !== '')
            writer.tag(1, runtime_2.WireType.LengthDelimited).string(message.keywordText);
        /* string suggested_keyword_text = 2; */
        if (message.suggestedKeywordText !== '')
            writer
                .tag(2, runtime_2.WireType.LengthDelimited)
                .string(message.suggestedKeywordText);
        /* google.ads.googleads.v11.enums.KeywordMatchTypeEnum.KeywordMatchType suggested_match_type = 3; */
        if (message.suggestedMatchType !== 0)
            writer.tag(3, runtime_2.WireType.Varint).int32(message.suggestedMatchType);
        /* string suggested_ad_group = 4; */
        if (message.suggestedAdGroup !== '')
            writer.tag(4, runtime_2.WireType.LengthDelimited).string(message.suggestedAdGroup);
        /* string suggested_campaign = 5; */
        if (message.suggestedCampaign !== '')
            writer.tag(5, runtime_2.WireType.LengthDelimited).string(message.suggestedCampaign);
        let u = options.writeUnknownFields;
        if (u !== false)
            (u == true ? runtime_1.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
        return writer;
    }
}
/**
 * @generated MessageType for protobuf message google.ads.googleads.v11.services.AdGroupKeywordSuggestion
 */
exports.AdGroupKeywordSuggestion = new AdGroupKeywordSuggestion$Type();
// @generated message type with reflection information, may provide speed optimized methods
class UnusableAdGroup$Type extends runtime_5.MessageType {
    constructor() {
        super('google.ads.googleads.v11.services.UnusableAdGroup', [
            { no: 1, name: 'ad_group', kind: 'scalar', T: 9 /*ScalarType.STRING*/ },
            { no: 2, name: 'campaign', kind: 'scalar', T: 9 /*ScalarType.STRING*/ },
        ]);
    }
    create(value) {
        const message = { adGroup: '', campaign: '' };
        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, {
            enumerable: false,
            value: this,
        });
        if (value !== undefined)
            (0, runtime_3.reflectionMergePartial)(this, message, value);
        return message;
    }
    internalBinaryRead(reader, length, options, target) {
        let message = target ?? this.create(), end = reader.pos + length;
        while (reader.pos < end) {
            let [fieldNo, wireType] = reader.tag();
            switch (fieldNo) {
                case /* string ad_group */ 1:
                    message.adGroup = reader.string();
                    break;
                case /* string campaign */ 2:
                    message.campaign = reader.string();
                    break;
                default:
                    let u = options.readUnknownField;
                    if (u === 'throw')
                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
                    let d = reader.skip(wireType);
                    if (u !== false)
                        (u === true ? runtime_1.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
            }
        }
        return message;
    }
    internalBinaryWrite(message, writer, options) {
        /* string ad_group = 1; */
        if (message.adGroup !== '')
            writer.tag(1, runtime_2.WireType.LengthDelimited).string(message.adGroup);
        /* string campaign = 2; */
        if (message.campaign !== '')
            writer.tag(2, runtime_2.WireType.LengthDelimited).string(message.campaign);
        let u = options.writeUnknownFields;
        if (u !== false)
            (u == true ? runtime_1.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
        return writer;
    }
}
/**
 * @generated MessageType for protobuf message google.ads.googleads.v11.services.UnusableAdGroup
 */
exports.UnusableAdGroup = new UnusableAdGroup$Type();
/**
 * @generated ServiceType for protobuf service google.ads.googleads.v11.services.KeywordPlanIdeaService
 */
exports.KeywordPlanIdeaService = new runtime_rpc_1.ServiceType('google.ads.googleads.v11.services.KeywordPlanIdeaService', [
    {
        name: 'GenerateKeywordIdeas',
        options: {
            'google.api.http': {
                post: '/v11/customers/{customer_id=*}:generateKeywordIdeas',
                body: '*',
            },
        },
        I: exports.GenerateKeywordIdeasRequest,
        O: exports.GenerateKeywordIdeaResponse,
    },
    {
        name: 'GenerateKeywordHistoricalMetrics',
        options: {
            'google.api.http': {
                post: '/v11/customers/{customer_id=*}:generateKeywordHistoricalMetrics',
                body: '*',
            },
        },
        I: exports.GenerateKeywordHistoricalMetricsRequest,
        O: exports.GenerateKeywordHistoricalMetricsResponse,
    },
    {
        name: 'GenerateAdGroupThemes',
        options: {
            'google.api.http': {
                post: '/v11/customers/{customer_id=*}:generateAdGroupThemes',
                body: '*',
            },
        },
        I: exports.GenerateAdGroupThemesRequest,
        O: exports.GenerateAdGroupThemesResponse,
    },
], {
    'google.api.default_host': 'googleads.googleapis.com',
    'google.api.oauth_scopes': 'https://www.googleapis.com/auth/adwords',
});
//# sourceMappingURL=keyword_plan_idea_service.js.map