// Copyright 2026 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//     http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

import type {protobuf as $protobuf} from "google-gax";
import Long = require("long");
/** Namespace google. */
export namespace google {

    /** Namespace ads. */
    namespace ads {

        /** Namespace admanager. */
        namespace admanager {

            /** Namespace v1. */
            namespace v1 {

                /** Properties of an AdBreak. */
                interface IAdBreak {

                    /** AdBreak name */
                    name?: (string|null);

                    /** AdBreak adBreakId */
                    adBreakId?: (string|null);

                    /** AdBreak assetKey */
                    assetKey?: (string|null);

                    /** AdBreak customAssetKey */
                    customAssetKey?: (string|null);

                    /** AdBreak expectedStartTime */
                    expectedStartTime?: (google.protobuf.ITimestamp|null);

                    /** AdBreak duration */
                    duration?: (google.protobuf.IDuration|null);

                    /** AdBreak breakState */
                    breakState?: (google.ads.admanager.v1.AdBreakStateEnum.AdBreakState|keyof typeof google.ads.admanager.v1.AdBreakStateEnum.AdBreakState|null);

                    /** AdBreak breakSequence */
                    breakSequence?: (number|Long|string|null);

                    /** AdBreak podTemplateName */
                    podTemplateName?: (string|null);

                    /** AdBreak customParams */
                    customParams?: (string|null);

                    /** AdBreak scte_35CueOut */
                    scte_35CueOut?: (string|null);
                }

                /** Represents an AdBreak. */
                class AdBreak implements IAdBreak {

                    /**
                     * Constructs a new AdBreak.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IAdBreak);

                    /** AdBreak name. */
                    public name: string;

                    /** AdBreak adBreakId. */
                    public adBreakId?: (string|null);

                    /** AdBreak assetKey. */
                    public assetKey?: (string|null);

                    /** AdBreak customAssetKey. */
                    public customAssetKey?: (string|null);

                    /** AdBreak expectedStartTime. */
                    public expectedStartTime?: (google.protobuf.ITimestamp|null);

                    /** AdBreak duration. */
                    public duration?: (google.protobuf.IDuration|null);

                    /** AdBreak breakState. */
                    public breakState?: (google.ads.admanager.v1.AdBreakStateEnum.AdBreakState|keyof typeof google.ads.admanager.v1.AdBreakStateEnum.AdBreakState|null);

                    /** AdBreak breakSequence. */
                    public breakSequence?: (number|Long|string|null);

                    /** AdBreak podTemplateName. */
                    public podTemplateName?: (string|null);

                    /** AdBreak customParams. */
                    public customParams?: (string|null);

                    /** AdBreak scte_35CueOut. */
                    public scte_35CueOut?: (string|null);

                    /**
                     * Creates a new AdBreak instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns AdBreak instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IAdBreak): google.ads.admanager.v1.AdBreak;

                    /**
                     * Encodes the specified AdBreak message. Does not implicitly {@link google.ads.admanager.v1.AdBreak.verify|verify} messages.
                     * @param message AdBreak message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IAdBreak, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified AdBreak message, length delimited. Does not implicitly {@link google.ads.admanager.v1.AdBreak.verify|verify} messages.
                     * @param message AdBreak message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IAdBreak, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes an AdBreak message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns AdBreak
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.AdBreak;

                    /**
                     * Decodes an AdBreak message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns AdBreak
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.AdBreak;

                    /**
                     * Verifies an AdBreak message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates an AdBreak message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns AdBreak
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.AdBreak;

                    /**
                     * Creates a plain object from an AdBreak message. Also converts values to other types if specified.
                     * @param message AdBreak
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.AdBreak, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this AdBreak to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for AdBreak
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of an AdBreakStateEnum. */
                interface IAdBreakStateEnum {
                }

                /** Represents an AdBreakStateEnum. */
                class AdBreakStateEnum implements IAdBreakStateEnum {

                    /**
                     * Constructs a new AdBreakStateEnum.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IAdBreakStateEnum);

                    /**
                     * Creates a new AdBreakStateEnum instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns AdBreakStateEnum instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IAdBreakStateEnum): google.ads.admanager.v1.AdBreakStateEnum;

                    /**
                     * Encodes the specified AdBreakStateEnum message. Does not implicitly {@link google.ads.admanager.v1.AdBreakStateEnum.verify|verify} messages.
                     * @param message AdBreakStateEnum message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IAdBreakStateEnum, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified AdBreakStateEnum message, length delimited. Does not implicitly {@link google.ads.admanager.v1.AdBreakStateEnum.verify|verify} messages.
                     * @param message AdBreakStateEnum message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IAdBreakStateEnum, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes an AdBreakStateEnum message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns AdBreakStateEnum
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.AdBreakStateEnum;

                    /**
                     * Decodes an AdBreakStateEnum message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns AdBreakStateEnum
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.AdBreakStateEnum;

                    /**
                     * Verifies an AdBreakStateEnum message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates an AdBreakStateEnum message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns AdBreakStateEnum
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.AdBreakStateEnum;

                    /**
                     * Creates a plain object from an AdBreakStateEnum message. Also converts values to other types if specified.
                     * @param message AdBreakStateEnum
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.AdBreakStateEnum, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this AdBreakStateEnum to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for AdBreakStateEnum
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                namespace AdBreakStateEnum {

                    /** AdBreakState enum. */
                    enum AdBreakState {
                        AD_BREAK_STATE_UNSPECIFIED = 0,
                        DECISIONED = 1,
                        COMPLETE = 2,
                        SCHEDULED = 3
                    }
                }

                /** Represents an AdBreakService */
                class AdBreakService extends $protobuf.rpc.Service {

                    /**
                     * Constructs a new AdBreakService service.
                     * @param rpcImpl RPC implementation
                     * @param [requestDelimited=false] Whether requests are length-delimited
                     * @param [responseDelimited=false] Whether responses are length-delimited
                     */
                    constructor(rpcImpl: $protobuf.RPCImpl, requestDelimited?: boolean, responseDelimited?: boolean);

                    /**
                     * Creates new AdBreakService service using the specified rpc implementation.
                     * @param rpcImpl RPC implementation
                     * @param [requestDelimited=false] Whether requests are length-delimited
                     * @param [responseDelimited=false] Whether responses are length-delimited
                     * @returns RPC service. Useful where requests and/or responses are streamed.
                     */
                    public static create(rpcImpl: $protobuf.RPCImpl, requestDelimited?: boolean, responseDelimited?: boolean): AdBreakService;

                    /**
                     * Calls GetAdBreak.
                     * @param request GetAdBreakRequest message or plain object
                     * @param callback Node-style callback called with the error, if any, and AdBreak
                     */
                    public getAdBreak(request: google.ads.admanager.v1.IGetAdBreakRequest, callback: google.ads.admanager.v1.AdBreakService.GetAdBreakCallback): void;

                    /**
                     * Calls GetAdBreak.
                     * @param request GetAdBreakRequest message or plain object
                     * @returns Promise
                     */
                    public getAdBreak(request: google.ads.admanager.v1.IGetAdBreakRequest): Promise<google.ads.admanager.v1.AdBreak>;

                    /**
                     * Calls ListAdBreaks.
                     * @param request ListAdBreaksRequest message or plain object
                     * @param callback Node-style callback called with the error, if any, and ListAdBreaksResponse
                     */
                    public listAdBreaks(request: google.ads.admanager.v1.IListAdBreaksRequest, callback: google.ads.admanager.v1.AdBreakService.ListAdBreaksCallback): void;

                    /**
                     * Calls ListAdBreaks.
                     * @param request ListAdBreaksRequest message or plain object
                     * @returns Promise
                     */
                    public listAdBreaks(request: google.ads.admanager.v1.IListAdBreaksRequest): Promise<google.ads.admanager.v1.ListAdBreaksResponse>;

                    /**
                     * Calls CreateAdBreak.
                     * @param request CreateAdBreakRequest message or plain object
                     * @param callback Node-style callback called with the error, if any, and AdBreak
                     */
                    public createAdBreak(request: google.ads.admanager.v1.ICreateAdBreakRequest, callback: google.ads.admanager.v1.AdBreakService.CreateAdBreakCallback): void;

                    /**
                     * Calls CreateAdBreak.
                     * @param request CreateAdBreakRequest message or plain object
                     * @returns Promise
                     */
                    public createAdBreak(request: google.ads.admanager.v1.ICreateAdBreakRequest): Promise<google.ads.admanager.v1.AdBreak>;

                    /**
                     * Calls UpdateAdBreak.
                     * @param request UpdateAdBreakRequest message or plain object
                     * @param callback Node-style callback called with the error, if any, and AdBreak
                     */
                    public updateAdBreak(request: google.ads.admanager.v1.IUpdateAdBreakRequest, callback: google.ads.admanager.v1.AdBreakService.UpdateAdBreakCallback): void;

                    /**
                     * Calls UpdateAdBreak.
                     * @param request UpdateAdBreakRequest message or plain object
                     * @returns Promise
                     */
                    public updateAdBreak(request: google.ads.admanager.v1.IUpdateAdBreakRequest): Promise<google.ads.admanager.v1.AdBreak>;

                    /**
                     * Calls DeleteAdBreak.
                     * @param request DeleteAdBreakRequest message or plain object
                     * @param callback Node-style callback called with the error, if any, and Empty
                     */
                    public deleteAdBreak(request: google.ads.admanager.v1.IDeleteAdBreakRequest, callback: google.ads.admanager.v1.AdBreakService.DeleteAdBreakCallback): void;

                    /**
                     * Calls DeleteAdBreak.
                     * @param request DeleteAdBreakRequest message or plain object
                     * @returns Promise
                     */
                    public deleteAdBreak(request: google.ads.admanager.v1.IDeleteAdBreakRequest): Promise<google.protobuf.Empty>;
                }

                namespace AdBreakService {

                    /**
                     * Callback as used by {@link google.ads.admanager.v1.AdBreakService|getAdBreak}.
                     * @param error Error, if any
                     * @param [response] AdBreak
                     */
                    type GetAdBreakCallback = (error: (Error|null), response?: google.ads.admanager.v1.AdBreak) => void;

                    /**
                     * Callback as used by {@link google.ads.admanager.v1.AdBreakService|listAdBreaks}.
                     * @param error Error, if any
                     * @param [response] ListAdBreaksResponse
                     */
                    type ListAdBreaksCallback = (error: (Error|null), response?: google.ads.admanager.v1.ListAdBreaksResponse) => void;

                    /**
                     * Callback as used by {@link google.ads.admanager.v1.AdBreakService|createAdBreak}.
                     * @param error Error, if any
                     * @param [response] AdBreak
                     */
                    type CreateAdBreakCallback = (error: (Error|null), response?: google.ads.admanager.v1.AdBreak) => void;

                    /**
                     * Callback as used by {@link google.ads.admanager.v1.AdBreakService|updateAdBreak}.
                     * @param error Error, if any
                     * @param [response] AdBreak
                     */
                    type UpdateAdBreakCallback = (error: (Error|null), response?: google.ads.admanager.v1.AdBreak) => void;

                    /**
                     * Callback as used by {@link google.ads.admanager.v1.AdBreakService|deleteAdBreak}.
                     * @param error Error, if any
                     * @param [response] Empty
                     */
                    type DeleteAdBreakCallback = (error: (Error|null), response?: google.protobuf.Empty) => void;
                }

                /** Properties of a GetAdBreakRequest. */
                interface IGetAdBreakRequest {

                    /** GetAdBreakRequest name */
                    name?: (string|null);
                }

                /** Represents a GetAdBreakRequest. */
                class GetAdBreakRequest implements IGetAdBreakRequest {

                    /**
                     * Constructs a new GetAdBreakRequest.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IGetAdBreakRequest);

                    /** GetAdBreakRequest name. */
                    public name: string;

                    /**
                     * Creates a new GetAdBreakRequest instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns GetAdBreakRequest instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IGetAdBreakRequest): google.ads.admanager.v1.GetAdBreakRequest;

                    /**
                     * Encodes the specified GetAdBreakRequest message. Does not implicitly {@link google.ads.admanager.v1.GetAdBreakRequest.verify|verify} messages.
                     * @param message GetAdBreakRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IGetAdBreakRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified GetAdBreakRequest message, length delimited. Does not implicitly {@link google.ads.admanager.v1.GetAdBreakRequest.verify|verify} messages.
                     * @param message GetAdBreakRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IGetAdBreakRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a GetAdBreakRequest message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns GetAdBreakRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.GetAdBreakRequest;

                    /**
                     * Decodes a GetAdBreakRequest message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns GetAdBreakRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.GetAdBreakRequest;

                    /**
                     * Verifies a GetAdBreakRequest message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a GetAdBreakRequest message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns GetAdBreakRequest
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.GetAdBreakRequest;

                    /**
                     * Creates a plain object from a GetAdBreakRequest message. Also converts values to other types if specified.
                     * @param message GetAdBreakRequest
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.GetAdBreakRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this GetAdBreakRequest to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for GetAdBreakRequest
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a ListAdBreaksRequest. */
                interface IListAdBreaksRequest {

                    /** ListAdBreaksRequest parent */
                    parent?: (string|null);

                    /** ListAdBreaksRequest pageSize */
                    pageSize?: (number|null);

                    /** ListAdBreaksRequest pageToken */
                    pageToken?: (string|null);

                    /** ListAdBreaksRequest filter */
                    filter?: (string|null);

                    /** ListAdBreaksRequest orderBy */
                    orderBy?: (string|null);

                    /** ListAdBreaksRequest skip */
                    skip?: (number|null);
                }

                /** Represents a ListAdBreaksRequest. */
                class ListAdBreaksRequest implements IListAdBreaksRequest {

                    /**
                     * Constructs a new ListAdBreaksRequest.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IListAdBreaksRequest);

                    /** ListAdBreaksRequest parent. */
                    public parent: string;

                    /** ListAdBreaksRequest pageSize. */
                    public pageSize: number;

                    /** ListAdBreaksRequest pageToken. */
                    public pageToken: string;

                    /** ListAdBreaksRequest filter. */
                    public filter: string;

                    /** ListAdBreaksRequest orderBy. */
                    public orderBy: string;

                    /** ListAdBreaksRequest skip. */
                    public skip: number;

                    /**
                     * Creates a new ListAdBreaksRequest instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns ListAdBreaksRequest instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IListAdBreaksRequest): google.ads.admanager.v1.ListAdBreaksRequest;

                    /**
                     * Encodes the specified ListAdBreaksRequest message. Does not implicitly {@link google.ads.admanager.v1.ListAdBreaksRequest.verify|verify} messages.
                     * @param message ListAdBreaksRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IListAdBreaksRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified ListAdBreaksRequest message, length delimited. Does not implicitly {@link google.ads.admanager.v1.ListAdBreaksRequest.verify|verify} messages.
                     * @param message ListAdBreaksRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IListAdBreaksRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a ListAdBreaksRequest message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns ListAdBreaksRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.ListAdBreaksRequest;

                    /**
                     * Decodes a ListAdBreaksRequest message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns ListAdBreaksRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.ListAdBreaksRequest;

                    /**
                     * Verifies a ListAdBreaksRequest message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a ListAdBreaksRequest message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns ListAdBreaksRequest
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.ListAdBreaksRequest;

                    /**
                     * Creates a plain object from a ListAdBreaksRequest message. Also converts values to other types if specified.
                     * @param message ListAdBreaksRequest
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.ListAdBreaksRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this ListAdBreaksRequest to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for ListAdBreaksRequest
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a ListAdBreaksResponse. */
                interface IListAdBreaksResponse {

                    /** ListAdBreaksResponse adBreaks */
                    adBreaks?: (google.ads.admanager.v1.IAdBreak[]|null);

                    /** ListAdBreaksResponse nextPageToken */
                    nextPageToken?: (string|null);

                    /** ListAdBreaksResponse totalSize */
                    totalSize?: (number|null);
                }

                /** Represents a ListAdBreaksResponse. */
                class ListAdBreaksResponse implements IListAdBreaksResponse {

                    /**
                     * Constructs a new ListAdBreaksResponse.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IListAdBreaksResponse);

                    /** ListAdBreaksResponse adBreaks. */
                    public adBreaks: google.ads.admanager.v1.IAdBreak[];

                    /** ListAdBreaksResponse nextPageToken. */
                    public nextPageToken: string;

                    /** ListAdBreaksResponse totalSize. */
                    public totalSize: number;

                    /**
                     * Creates a new ListAdBreaksResponse instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns ListAdBreaksResponse instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IListAdBreaksResponse): google.ads.admanager.v1.ListAdBreaksResponse;

                    /**
                     * Encodes the specified ListAdBreaksResponse message. Does not implicitly {@link google.ads.admanager.v1.ListAdBreaksResponse.verify|verify} messages.
                     * @param message ListAdBreaksResponse message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IListAdBreaksResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified ListAdBreaksResponse message, length delimited. Does not implicitly {@link google.ads.admanager.v1.ListAdBreaksResponse.verify|verify} messages.
                     * @param message ListAdBreaksResponse message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IListAdBreaksResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a ListAdBreaksResponse message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns ListAdBreaksResponse
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.ListAdBreaksResponse;

                    /**
                     * Decodes a ListAdBreaksResponse message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns ListAdBreaksResponse
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.ListAdBreaksResponse;

                    /**
                     * Verifies a ListAdBreaksResponse message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a ListAdBreaksResponse message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns ListAdBreaksResponse
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.ListAdBreaksResponse;

                    /**
                     * Creates a plain object from a ListAdBreaksResponse message. Also converts values to other types if specified.
                     * @param message ListAdBreaksResponse
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.ListAdBreaksResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this ListAdBreaksResponse to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for ListAdBreaksResponse
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a CreateAdBreakRequest. */
                interface ICreateAdBreakRequest {

                    /** CreateAdBreakRequest parent */
                    parent?: (string|null);

                    /** CreateAdBreakRequest adBreak */
                    adBreak?: (google.ads.admanager.v1.IAdBreak|null);
                }

                /** Represents a CreateAdBreakRequest. */
                class CreateAdBreakRequest implements ICreateAdBreakRequest {

                    /**
                     * Constructs a new CreateAdBreakRequest.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.ICreateAdBreakRequest);

                    /** CreateAdBreakRequest parent. */
                    public parent: string;

                    /** CreateAdBreakRequest adBreak. */
                    public adBreak?: (google.ads.admanager.v1.IAdBreak|null);

                    /**
                     * Creates a new CreateAdBreakRequest instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns CreateAdBreakRequest instance
                     */
                    public static create(properties?: google.ads.admanager.v1.ICreateAdBreakRequest): google.ads.admanager.v1.CreateAdBreakRequest;

                    /**
                     * Encodes the specified CreateAdBreakRequest message. Does not implicitly {@link google.ads.admanager.v1.CreateAdBreakRequest.verify|verify} messages.
                     * @param message CreateAdBreakRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.ICreateAdBreakRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified CreateAdBreakRequest message, length delimited. Does not implicitly {@link google.ads.admanager.v1.CreateAdBreakRequest.verify|verify} messages.
                     * @param message CreateAdBreakRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.ICreateAdBreakRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a CreateAdBreakRequest message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns CreateAdBreakRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.CreateAdBreakRequest;

                    /**
                     * Decodes a CreateAdBreakRequest message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns CreateAdBreakRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.CreateAdBreakRequest;

                    /**
                     * Verifies a CreateAdBreakRequest message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a CreateAdBreakRequest message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns CreateAdBreakRequest
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.CreateAdBreakRequest;

                    /**
                     * Creates a plain object from a CreateAdBreakRequest message. Also converts values to other types if specified.
                     * @param message CreateAdBreakRequest
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.CreateAdBreakRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this CreateAdBreakRequest to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for CreateAdBreakRequest
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of an UpdateAdBreakRequest. */
                interface IUpdateAdBreakRequest {

                    /** UpdateAdBreakRequest adBreak */
                    adBreak?: (google.ads.admanager.v1.IAdBreak|null);

                    /** UpdateAdBreakRequest updateMask */
                    updateMask?: (google.protobuf.IFieldMask|null);
                }

                /** Represents an UpdateAdBreakRequest. */
                class UpdateAdBreakRequest implements IUpdateAdBreakRequest {

                    /**
                     * Constructs a new UpdateAdBreakRequest.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IUpdateAdBreakRequest);

                    /** UpdateAdBreakRequest adBreak. */
                    public adBreak?: (google.ads.admanager.v1.IAdBreak|null);

                    /** UpdateAdBreakRequest updateMask. */
                    public updateMask?: (google.protobuf.IFieldMask|null);

                    /**
                     * Creates a new UpdateAdBreakRequest instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns UpdateAdBreakRequest instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IUpdateAdBreakRequest): google.ads.admanager.v1.UpdateAdBreakRequest;

                    /**
                     * Encodes the specified UpdateAdBreakRequest message. Does not implicitly {@link google.ads.admanager.v1.UpdateAdBreakRequest.verify|verify} messages.
                     * @param message UpdateAdBreakRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IUpdateAdBreakRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified UpdateAdBreakRequest message, length delimited. Does not implicitly {@link google.ads.admanager.v1.UpdateAdBreakRequest.verify|verify} messages.
                     * @param message UpdateAdBreakRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IUpdateAdBreakRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes an UpdateAdBreakRequest message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns UpdateAdBreakRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.UpdateAdBreakRequest;

                    /**
                     * Decodes an UpdateAdBreakRequest message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns UpdateAdBreakRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.UpdateAdBreakRequest;

                    /**
                     * Verifies an UpdateAdBreakRequest message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates an UpdateAdBreakRequest message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns UpdateAdBreakRequest
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.UpdateAdBreakRequest;

                    /**
                     * Creates a plain object from an UpdateAdBreakRequest message. Also converts values to other types if specified.
                     * @param message UpdateAdBreakRequest
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.UpdateAdBreakRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this UpdateAdBreakRequest to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for UpdateAdBreakRequest
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a DeleteAdBreakRequest. */
                interface IDeleteAdBreakRequest {

                    /** DeleteAdBreakRequest name */
                    name?: (string|null);
                }

                /** Represents a DeleteAdBreakRequest. */
                class DeleteAdBreakRequest implements IDeleteAdBreakRequest {

                    /**
                     * Constructs a new DeleteAdBreakRequest.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IDeleteAdBreakRequest);

                    /** DeleteAdBreakRequest name. */
                    public name: string;

                    /**
                     * Creates a new DeleteAdBreakRequest instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns DeleteAdBreakRequest instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IDeleteAdBreakRequest): google.ads.admanager.v1.DeleteAdBreakRequest;

                    /**
                     * Encodes the specified DeleteAdBreakRequest message. Does not implicitly {@link google.ads.admanager.v1.DeleteAdBreakRequest.verify|verify} messages.
                     * @param message DeleteAdBreakRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IDeleteAdBreakRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified DeleteAdBreakRequest message, length delimited. Does not implicitly {@link google.ads.admanager.v1.DeleteAdBreakRequest.verify|verify} messages.
                     * @param message DeleteAdBreakRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IDeleteAdBreakRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a DeleteAdBreakRequest message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns DeleteAdBreakRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.DeleteAdBreakRequest;

                    /**
                     * Decodes a DeleteAdBreakRequest message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns DeleteAdBreakRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.DeleteAdBreakRequest;

                    /**
                     * Verifies a DeleteAdBreakRequest message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a DeleteAdBreakRequest message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns DeleteAdBreakRequest
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.DeleteAdBreakRequest;

                    /**
                     * Creates a plain object from a DeleteAdBreakRequest message. Also converts values to other types if specified.
                     * @param message DeleteAdBreakRequest
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.DeleteAdBreakRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this DeleteAdBreakRequest to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for DeleteAdBreakRequest
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of an AdReviewCenterAdStatusEnum. */
                interface IAdReviewCenterAdStatusEnum {
                }

                /** Represents an AdReviewCenterAdStatusEnum. */
                class AdReviewCenterAdStatusEnum implements IAdReviewCenterAdStatusEnum {

                    /**
                     * Constructs a new AdReviewCenterAdStatusEnum.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IAdReviewCenterAdStatusEnum);

                    /**
                     * Creates a new AdReviewCenterAdStatusEnum instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns AdReviewCenterAdStatusEnum instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IAdReviewCenterAdStatusEnum): google.ads.admanager.v1.AdReviewCenterAdStatusEnum;

                    /**
                     * Encodes the specified AdReviewCenterAdStatusEnum message. Does not implicitly {@link google.ads.admanager.v1.AdReviewCenterAdStatusEnum.verify|verify} messages.
                     * @param message AdReviewCenterAdStatusEnum message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IAdReviewCenterAdStatusEnum, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified AdReviewCenterAdStatusEnum message, length delimited. Does not implicitly {@link google.ads.admanager.v1.AdReviewCenterAdStatusEnum.verify|verify} messages.
                     * @param message AdReviewCenterAdStatusEnum message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IAdReviewCenterAdStatusEnum, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes an AdReviewCenterAdStatusEnum message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns AdReviewCenterAdStatusEnum
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.AdReviewCenterAdStatusEnum;

                    /**
                     * Decodes an AdReviewCenterAdStatusEnum message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns AdReviewCenterAdStatusEnum
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.AdReviewCenterAdStatusEnum;

                    /**
                     * Verifies an AdReviewCenterAdStatusEnum message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates an AdReviewCenterAdStatusEnum message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns AdReviewCenterAdStatusEnum
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.AdReviewCenterAdStatusEnum;

                    /**
                     * Creates a plain object from an AdReviewCenterAdStatusEnum message. Also converts values to other types if specified.
                     * @param message AdReviewCenterAdStatusEnum
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.AdReviewCenterAdStatusEnum, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this AdReviewCenterAdStatusEnum to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for AdReviewCenterAdStatusEnum
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                namespace AdReviewCenterAdStatusEnum {

                    /** AdReviewCenterAdStatus enum. */
                    enum AdReviewCenterAdStatus {
                        AD_REVIEW_CENTER_AD_STATUS_UNSPECIFIED = 0,
                        ALLOWED = 1,
                        BLOCKED = 2,
                        UNREVIEWED = 3
                    }
                }

                /** Properties of an AdReviewCenterAd. */
                interface IAdReviewCenterAd {

                    /** AdReviewCenterAd name */
                    name?: (string|null);

                    /** AdReviewCenterAd adReviewCenterAdId */
                    adReviewCenterAdId?: (string|null);

                    /** AdReviewCenterAd productType */
                    productType?: (google.ads.admanager.v1.ExchangeSyndicationProductEnum.ExchangeSyndicationProduct|keyof typeof google.ads.admanager.v1.ExchangeSyndicationProductEnum.ExchangeSyndicationProduct|null);

                    /** AdReviewCenterAd status */
                    status?: (google.ads.admanager.v1.AdReviewCenterAdStatusEnum.AdReviewCenterAdStatus|keyof typeof google.ads.admanager.v1.AdReviewCenterAdStatusEnum.AdReviewCenterAdStatus|null);

                    /** AdReviewCenterAd previewUrl */
                    previewUrl?: (string|null);
                }

                /** Represents an AdReviewCenterAd. */
                class AdReviewCenterAd implements IAdReviewCenterAd {

                    /**
                     * Constructs a new AdReviewCenterAd.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IAdReviewCenterAd);

                    /** AdReviewCenterAd name. */
                    public name: string;

                    /** AdReviewCenterAd adReviewCenterAdId. */
                    public adReviewCenterAdId: string;

                    /** AdReviewCenterAd productType. */
                    public productType: (google.ads.admanager.v1.ExchangeSyndicationProductEnum.ExchangeSyndicationProduct|keyof typeof google.ads.admanager.v1.ExchangeSyndicationProductEnum.ExchangeSyndicationProduct);

                    /** AdReviewCenterAd status. */
                    public status: (google.ads.admanager.v1.AdReviewCenterAdStatusEnum.AdReviewCenterAdStatus|keyof typeof google.ads.admanager.v1.AdReviewCenterAdStatusEnum.AdReviewCenterAdStatus);

                    /** AdReviewCenterAd previewUrl. */
                    public previewUrl?: (string|null);

                    /**
                     * Creates a new AdReviewCenterAd instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns AdReviewCenterAd instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IAdReviewCenterAd): google.ads.admanager.v1.AdReviewCenterAd;

                    /**
                     * Encodes the specified AdReviewCenterAd message. Does not implicitly {@link google.ads.admanager.v1.AdReviewCenterAd.verify|verify} messages.
                     * @param message AdReviewCenterAd message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IAdReviewCenterAd, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified AdReviewCenterAd message, length delimited. Does not implicitly {@link google.ads.admanager.v1.AdReviewCenterAd.verify|verify} messages.
                     * @param message AdReviewCenterAd message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IAdReviewCenterAd, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes an AdReviewCenterAd message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns AdReviewCenterAd
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.AdReviewCenterAd;

                    /**
                     * Decodes an AdReviewCenterAd message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns AdReviewCenterAd
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.AdReviewCenterAd;

                    /**
                     * Verifies an AdReviewCenterAd message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates an AdReviewCenterAd message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns AdReviewCenterAd
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.AdReviewCenterAd;

                    /**
                     * Creates a plain object from an AdReviewCenterAd message. Also converts values to other types if specified.
                     * @param message AdReviewCenterAd
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.AdReviewCenterAd, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this AdReviewCenterAd to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for AdReviewCenterAd
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of an ExchangeSyndicationProductEnum. */
                interface IExchangeSyndicationProductEnum {
                }

                /** Represents an ExchangeSyndicationProductEnum. */
                class ExchangeSyndicationProductEnum implements IExchangeSyndicationProductEnum {

                    /**
                     * Constructs a new ExchangeSyndicationProductEnum.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IExchangeSyndicationProductEnum);

                    /**
                     * Creates a new ExchangeSyndicationProductEnum instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns ExchangeSyndicationProductEnum instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IExchangeSyndicationProductEnum): google.ads.admanager.v1.ExchangeSyndicationProductEnum;

                    /**
                     * Encodes the specified ExchangeSyndicationProductEnum message. Does not implicitly {@link google.ads.admanager.v1.ExchangeSyndicationProductEnum.verify|verify} messages.
                     * @param message ExchangeSyndicationProductEnum message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IExchangeSyndicationProductEnum, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified ExchangeSyndicationProductEnum message, length delimited. Does not implicitly {@link google.ads.admanager.v1.ExchangeSyndicationProductEnum.verify|verify} messages.
                     * @param message ExchangeSyndicationProductEnum message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IExchangeSyndicationProductEnum, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes an ExchangeSyndicationProductEnum message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns ExchangeSyndicationProductEnum
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.ExchangeSyndicationProductEnum;

                    /**
                     * Decodes an ExchangeSyndicationProductEnum message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns ExchangeSyndicationProductEnum
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.ExchangeSyndicationProductEnum;

                    /**
                     * Verifies an ExchangeSyndicationProductEnum message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates an ExchangeSyndicationProductEnum message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns ExchangeSyndicationProductEnum
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.ExchangeSyndicationProductEnum;

                    /**
                     * Creates a plain object from an ExchangeSyndicationProductEnum message. Also converts values to other types if specified.
                     * @param message ExchangeSyndicationProductEnum
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.ExchangeSyndicationProductEnum, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this ExchangeSyndicationProductEnum to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for ExchangeSyndicationProductEnum
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                namespace ExchangeSyndicationProductEnum {

                    /** ExchangeSyndicationProduct enum. */
                    enum ExchangeSyndicationProduct {
                        EXCHANGE_SYNDICATION_PRODUCT_UNSPECIFIED = 0,
                        DISPLAY = 1,
                        MOBILE_APP = 2,
                        VIDEO_AND_AUDIO = 3,
                        GAMES = 4
                    }
                }

                /** Represents an AdReviewCenterAdService */
                class AdReviewCenterAdService extends $protobuf.rpc.Service {

                    /**
                     * Constructs a new AdReviewCenterAdService service.
                     * @param rpcImpl RPC implementation
                     * @param [requestDelimited=false] Whether requests are length-delimited
                     * @param [responseDelimited=false] Whether responses are length-delimited
                     */
                    constructor(rpcImpl: $protobuf.RPCImpl, requestDelimited?: boolean, responseDelimited?: boolean);

                    /**
                     * Creates new AdReviewCenterAdService service using the specified rpc implementation.
                     * @param rpcImpl RPC implementation
                     * @param [requestDelimited=false] Whether requests are length-delimited
                     * @param [responseDelimited=false] Whether responses are length-delimited
                     * @returns RPC service. Useful where requests and/or responses are streamed.
                     */
                    public static create(rpcImpl: $protobuf.RPCImpl, requestDelimited?: boolean, responseDelimited?: boolean): AdReviewCenterAdService;

                    /**
                     * Calls SearchAdReviewCenterAds.
                     * @param request SearchAdReviewCenterAdsRequest message or plain object
                     * @param callback Node-style callback called with the error, if any, and SearchAdReviewCenterAdsResponse
                     */
                    public searchAdReviewCenterAds(request: google.ads.admanager.v1.ISearchAdReviewCenterAdsRequest, callback: google.ads.admanager.v1.AdReviewCenterAdService.SearchAdReviewCenterAdsCallback): void;

                    /**
                     * Calls SearchAdReviewCenterAds.
                     * @param request SearchAdReviewCenterAdsRequest message or plain object
                     * @returns Promise
                     */
                    public searchAdReviewCenterAds(request: google.ads.admanager.v1.ISearchAdReviewCenterAdsRequest): Promise<google.ads.admanager.v1.SearchAdReviewCenterAdsResponse>;

                    /**
                     * Calls BatchAllowAdReviewCenterAds.
                     * @param request BatchAllowAdReviewCenterAdsRequest message or plain object
                     * @param callback Node-style callback called with the error, if any, and Operation
                     */
                    public batchAllowAdReviewCenterAds(request: google.ads.admanager.v1.IBatchAllowAdReviewCenterAdsRequest, callback: google.ads.admanager.v1.AdReviewCenterAdService.BatchAllowAdReviewCenterAdsCallback): void;

                    /**
                     * Calls BatchAllowAdReviewCenterAds.
                     * @param request BatchAllowAdReviewCenterAdsRequest message or plain object
                     * @returns Promise
                     */
                    public batchAllowAdReviewCenterAds(request: google.ads.admanager.v1.IBatchAllowAdReviewCenterAdsRequest): Promise<google.longrunning.Operation>;

                    /**
                     * Calls BatchBlockAdReviewCenterAds.
                     * @param request BatchBlockAdReviewCenterAdsRequest message or plain object
                     * @param callback Node-style callback called with the error, if any, and Operation
                     */
                    public batchBlockAdReviewCenterAds(request: google.ads.admanager.v1.IBatchBlockAdReviewCenterAdsRequest, callback: google.ads.admanager.v1.AdReviewCenterAdService.BatchBlockAdReviewCenterAdsCallback): void;

                    /**
                     * Calls BatchBlockAdReviewCenterAds.
                     * @param request BatchBlockAdReviewCenterAdsRequest message or plain object
                     * @returns Promise
                     */
                    public batchBlockAdReviewCenterAds(request: google.ads.admanager.v1.IBatchBlockAdReviewCenterAdsRequest): Promise<google.longrunning.Operation>;
                }

                namespace AdReviewCenterAdService {

                    /**
                     * Callback as used by {@link google.ads.admanager.v1.AdReviewCenterAdService|searchAdReviewCenterAds}.
                     * @param error Error, if any
                     * @param [response] SearchAdReviewCenterAdsResponse
                     */
                    type SearchAdReviewCenterAdsCallback = (error: (Error|null), response?: google.ads.admanager.v1.SearchAdReviewCenterAdsResponse) => void;

                    /**
                     * Callback as used by {@link google.ads.admanager.v1.AdReviewCenterAdService|batchAllowAdReviewCenterAds}.
                     * @param error Error, if any
                     * @param [response] Operation
                     */
                    type BatchAllowAdReviewCenterAdsCallback = (error: (Error|null), response?: google.longrunning.Operation) => void;

                    /**
                     * Callback as used by {@link google.ads.admanager.v1.AdReviewCenterAdService|batchBlockAdReviewCenterAds}.
                     * @param error Error, if any
                     * @param [response] Operation
                     */
                    type BatchBlockAdReviewCenterAdsCallback = (error: (Error|null), response?: google.longrunning.Operation) => void;
                }

                /** Properties of a SearchAdReviewCenterAdsRequest. */
                interface ISearchAdReviewCenterAdsRequest {

                    /** SearchAdReviewCenterAdsRequest parent */
                    parent?: (string|null);

                    /** SearchAdReviewCenterAdsRequest pageSize */
                    pageSize?: (number|null);

                    /** SearchAdReviewCenterAdsRequest pageToken */
                    pageToken?: (string|null);

                    /** SearchAdReviewCenterAdsRequest status */
                    status?: (google.ads.admanager.v1.AdReviewCenterAdStatusEnum.AdReviewCenterAdStatus|keyof typeof google.ads.admanager.v1.AdReviewCenterAdStatusEnum.AdReviewCenterAdStatus|null);

                    /** SearchAdReviewCenterAdsRequest adReviewCenterAdId */
                    adReviewCenterAdId?: (string[]|null);

                    /** SearchAdReviewCenterAdsRequest dateTimeRange */
                    dateTimeRange?: (google.type.IInterval|null);

                    /** SearchAdReviewCenterAdsRequest searchText */
                    searchText?: (string[]|null);

                    /** SearchAdReviewCenterAdsRequest buyerAccountId */
                    buyerAccountId?: ((number|Long|string)[]|null);
                }

                /** Represents a SearchAdReviewCenterAdsRequest. */
                class SearchAdReviewCenterAdsRequest implements ISearchAdReviewCenterAdsRequest {

                    /**
                     * Constructs a new SearchAdReviewCenterAdsRequest.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.ISearchAdReviewCenterAdsRequest);

                    /** SearchAdReviewCenterAdsRequest parent. */
                    public parent: string;

                    /** SearchAdReviewCenterAdsRequest pageSize. */
                    public pageSize: number;

                    /** SearchAdReviewCenterAdsRequest pageToken. */
                    public pageToken: string;

                    /** SearchAdReviewCenterAdsRequest status. */
                    public status: (google.ads.admanager.v1.AdReviewCenterAdStatusEnum.AdReviewCenterAdStatus|keyof typeof google.ads.admanager.v1.AdReviewCenterAdStatusEnum.AdReviewCenterAdStatus);

                    /** SearchAdReviewCenterAdsRequest adReviewCenterAdId. */
                    public adReviewCenterAdId: string[];

                    /** SearchAdReviewCenterAdsRequest dateTimeRange. */
                    public dateTimeRange?: (google.type.IInterval|null);

                    /** SearchAdReviewCenterAdsRequest searchText. */
                    public searchText: string[];

                    /** SearchAdReviewCenterAdsRequest buyerAccountId. */
                    public buyerAccountId: (number|Long|string)[];

                    /**
                     * Creates a new SearchAdReviewCenterAdsRequest instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns SearchAdReviewCenterAdsRequest instance
                     */
                    public static create(properties?: google.ads.admanager.v1.ISearchAdReviewCenterAdsRequest): google.ads.admanager.v1.SearchAdReviewCenterAdsRequest;

                    /**
                     * Encodes the specified SearchAdReviewCenterAdsRequest message. Does not implicitly {@link google.ads.admanager.v1.SearchAdReviewCenterAdsRequest.verify|verify} messages.
                     * @param message SearchAdReviewCenterAdsRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.ISearchAdReviewCenterAdsRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified SearchAdReviewCenterAdsRequest message, length delimited. Does not implicitly {@link google.ads.admanager.v1.SearchAdReviewCenterAdsRequest.verify|verify} messages.
                     * @param message SearchAdReviewCenterAdsRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.ISearchAdReviewCenterAdsRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a SearchAdReviewCenterAdsRequest message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns SearchAdReviewCenterAdsRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.SearchAdReviewCenterAdsRequest;

                    /**
                     * Decodes a SearchAdReviewCenterAdsRequest message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns SearchAdReviewCenterAdsRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.SearchAdReviewCenterAdsRequest;

                    /**
                     * Verifies a SearchAdReviewCenterAdsRequest message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a SearchAdReviewCenterAdsRequest message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns SearchAdReviewCenterAdsRequest
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.SearchAdReviewCenterAdsRequest;

                    /**
                     * Creates a plain object from a SearchAdReviewCenterAdsRequest message. Also converts values to other types if specified.
                     * @param message SearchAdReviewCenterAdsRequest
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.SearchAdReviewCenterAdsRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this SearchAdReviewCenterAdsRequest to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for SearchAdReviewCenterAdsRequest
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a SearchAdReviewCenterAdsResponse. */
                interface ISearchAdReviewCenterAdsResponse {

                    /** SearchAdReviewCenterAdsResponse adReviewCenterAds */
                    adReviewCenterAds?: (google.ads.admanager.v1.IAdReviewCenterAd[]|null);

                    /** SearchAdReviewCenterAdsResponse nextPageToken */
                    nextPageToken?: (string|null);
                }

                /** Represents a SearchAdReviewCenterAdsResponse. */
                class SearchAdReviewCenterAdsResponse implements ISearchAdReviewCenterAdsResponse {

                    /**
                     * Constructs a new SearchAdReviewCenterAdsResponse.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.ISearchAdReviewCenterAdsResponse);

                    /** SearchAdReviewCenterAdsResponse adReviewCenterAds. */
                    public adReviewCenterAds: google.ads.admanager.v1.IAdReviewCenterAd[];

                    /** SearchAdReviewCenterAdsResponse nextPageToken. */
                    public nextPageToken: string;

                    /**
                     * Creates a new SearchAdReviewCenterAdsResponse instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns SearchAdReviewCenterAdsResponse instance
                     */
                    public static create(properties?: google.ads.admanager.v1.ISearchAdReviewCenterAdsResponse): google.ads.admanager.v1.SearchAdReviewCenterAdsResponse;

                    /**
                     * Encodes the specified SearchAdReviewCenterAdsResponse message. Does not implicitly {@link google.ads.admanager.v1.SearchAdReviewCenterAdsResponse.verify|verify} messages.
                     * @param message SearchAdReviewCenterAdsResponse message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.ISearchAdReviewCenterAdsResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified SearchAdReviewCenterAdsResponse message, length delimited. Does not implicitly {@link google.ads.admanager.v1.SearchAdReviewCenterAdsResponse.verify|verify} messages.
                     * @param message SearchAdReviewCenterAdsResponse message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.ISearchAdReviewCenterAdsResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a SearchAdReviewCenterAdsResponse message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns SearchAdReviewCenterAdsResponse
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.SearchAdReviewCenterAdsResponse;

                    /**
                     * Decodes a SearchAdReviewCenterAdsResponse message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns SearchAdReviewCenterAdsResponse
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.SearchAdReviewCenterAdsResponse;

                    /**
                     * Verifies a SearchAdReviewCenterAdsResponse message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a SearchAdReviewCenterAdsResponse message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns SearchAdReviewCenterAdsResponse
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.SearchAdReviewCenterAdsResponse;

                    /**
                     * Creates a plain object from a SearchAdReviewCenterAdsResponse message. Also converts values to other types if specified.
                     * @param message SearchAdReviewCenterAdsResponse
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.SearchAdReviewCenterAdsResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this SearchAdReviewCenterAdsResponse to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for SearchAdReviewCenterAdsResponse
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a BatchAllowAdReviewCenterAdsRequest. */
                interface IBatchAllowAdReviewCenterAdsRequest {

                    /** BatchAllowAdReviewCenterAdsRequest parent */
                    parent?: (string|null);

                    /** BatchAllowAdReviewCenterAdsRequest names */
                    names?: (string[]|null);
                }

                /** Represents a BatchAllowAdReviewCenterAdsRequest. */
                class BatchAllowAdReviewCenterAdsRequest implements IBatchAllowAdReviewCenterAdsRequest {

                    /**
                     * Constructs a new BatchAllowAdReviewCenterAdsRequest.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IBatchAllowAdReviewCenterAdsRequest);

                    /** BatchAllowAdReviewCenterAdsRequest parent. */
                    public parent: string;

                    /** BatchAllowAdReviewCenterAdsRequest names. */
                    public names: string[];

                    /**
                     * Creates a new BatchAllowAdReviewCenterAdsRequest instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns BatchAllowAdReviewCenterAdsRequest instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IBatchAllowAdReviewCenterAdsRequest): google.ads.admanager.v1.BatchAllowAdReviewCenterAdsRequest;

                    /**
                     * Encodes the specified BatchAllowAdReviewCenterAdsRequest message. Does not implicitly {@link google.ads.admanager.v1.BatchAllowAdReviewCenterAdsRequest.verify|verify} messages.
                     * @param message BatchAllowAdReviewCenterAdsRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IBatchAllowAdReviewCenterAdsRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified BatchAllowAdReviewCenterAdsRequest message, length delimited. Does not implicitly {@link google.ads.admanager.v1.BatchAllowAdReviewCenterAdsRequest.verify|verify} messages.
                     * @param message BatchAllowAdReviewCenterAdsRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IBatchAllowAdReviewCenterAdsRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a BatchAllowAdReviewCenterAdsRequest message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns BatchAllowAdReviewCenterAdsRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.BatchAllowAdReviewCenterAdsRequest;

                    /**
                     * Decodes a BatchAllowAdReviewCenterAdsRequest message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns BatchAllowAdReviewCenterAdsRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.BatchAllowAdReviewCenterAdsRequest;

                    /**
                     * Verifies a BatchAllowAdReviewCenterAdsRequest message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a BatchAllowAdReviewCenterAdsRequest message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns BatchAllowAdReviewCenterAdsRequest
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.BatchAllowAdReviewCenterAdsRequest;

                    /**
                     * Creates a plain object from a BatchAllowAdReviewCenterAdsRequest message. Also converts values to other types if specified.
                     * @param message BatchAllowAdReviewCenterAdsRequest
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.BatchAllowAdReviewCenterAdsRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this BatchAllowAdReviewCenterAdsRequest to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for BatchAllowAdReviewCenterAdsRequest
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a BatchAllowAdReviewCenterAdsResponse. */
                interface IBatchAllowAdReviewCenterAdsResponse {
                }

                /** Represents a BatchAllowAdReviewCenterAdsResponse. */
                class BatchAllowAdReviewCenterAdsResponse implements IBatchAllowAdReviewCenterAdsResponse {

                    /**
                     * Constructs a new BatchAllowAdReviewCenterAdsResponse.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IBatchAllowAdReviewCenterAdsResponse);

                    /**
                     * Creates a new BatchAllowAdReviewCenterAdsResponse instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns BatchAllowAdReviewCenterAdsResponse instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IBatchAllowAdReviewCenterAdsResponse): google.ads.admanager.v1.BatchAllowAdReviewCenterAdsResponse;

                    /**
                     * Encodes the specified BatchAllowAdReviewCenterAdsResponse message. Does not implicitly {@link google.ads.admanager.v1.BatchAllowAdReviewCenterAdsResponse.verify|verify} messages.
                     * @param message BatchAllowAdReviewCenterAdsResponse message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IBatchAllowAdReviewCenterAdsResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified BatchAllowAdReviewCenterAdsResponse message, length delimited. Does not implicitly {@link google.ads.admanager.v1.BatchAllowAdReviewCenterAdsResponse.verify|verify} messages.
                     * @param message BatchAllowAdReviewCenterAdsResponse message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IBatchAllowAdReviewCenterAdsResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a BatchAllowAdReviewCenterAdsResponse message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns BatchAllowAdReviewCenterAdsResponse
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.BatchAllowAdReviewCenterAdsResponse;

                    /**
                     * Decodes a BatchAllowAdReviewCenterAdsResponse message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns BatchAllowAdReviewCenterAdsResponse
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.BatchAllowAdReviewCenterAdsResponse;

                    /**
                     * Verifies a BatchAllowAdReviewCenterAdsResponse message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a BatchAllowAdReviewCenterAdsResponse message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns BatchAllowAdReviewCenterAdsResponse
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.BatchAllowAdReviewCenterAdsResponse;

                    /**
                     * Creates a plain object from a BatchAllowAdReviewCenterAdsResponse message. Also converts values to other types if specified.
                     * @param message BatchAllowAdReviewCenterAdsResponse
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.BatchAllowAdReviewCenterAdsResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this BatchAllowAdReviewCenterAdsResponse to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for BatchAllowAdReviewCenterAdsResponse
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a BatchBlockAdReviewCenterAdsRequest. */
                interface IBatchBlockAdReviewCenterAdsRequest {

                    /** BatchBlockAdReviewCenterAdsRequest parent */
                    parent?: (string|null);

                    /** BatchBlockAdReviewCenterAdsRequest names */
                    names?: (string[]|null);
                }

                /** Represents a BatchBlockAdReviewCenterAdsRequest. */
                class BatchBlockAdReviewCenterAdsRequest implements IBatchBlockAdReviewCenterAdsRequest {

                    /**
                     * Constructs a new BatchBlockAdReviewCenterAdsRequest.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IBatchBlockAdReviewCenterAdsRequest);

                    /** BatchBlockAdReviewCenterAdsRequest parent. */
                    public parent: string;

                    /** BatchBlockAdReviewCenterAdsRequest names. */
                    public names: string[];

                    /**
                     * Creates a new BatchBlockAdReviewCenterAdsRequest instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns BatchBlockAdReviewCenterAdsRequest instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IBatchBlockAdReviewCenterAdsRequest): google.ads.admanager.v1.BatchBlockAdReviewCenterAdsRequest;

                    /**
                     * Encodes the specified BatchBlockAdReviewCenterAdsRequest message. Does not implicitly {@link google.ads.admanager.v1.BatchBlockAdReviewCenterAdsRequest.verify|verify} messages.
                     * @param message BatchBlockAdReviewCenterAdsRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IBatchBlockAdReviewCenterAdsRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified BatchBlockAdReviewCenterAdsRequest message, length delimited. Does not implicitly {@link google.ads.admanager.v1.BatchBlockAdReviewCenterAdsRequest.verify|verify} messages.
                     * @param message BatchBlockAdReviewCenterAdsRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IBatchBlockAdReviewCenterAdsRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a BatchBlockAdReviewCenterAdsRequest message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns BatchBlockAdReviewCenterAdsRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.BatchBlockAdReviewCenterAdsRequest;

                    /**
                     * Decodes a BatchBlockAdReviewCenterAdsRequest message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns BatchBlockAdReviewCenterAdsRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.BatchBlockAdReviewCenterAdsRequest;

                    /**
                     * Verifies a BatchBlockAdReviewCenterAdsRequest message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a BatchBlockAdReviewCenterAdsRequest message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns BatchBlockAdReviewCenterAdsRequest
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.BatchBlockAdReviewCenterAdsRequest;

                    /**
                     * Creates a plain object from a BatchBlockAdReviewCenterAdsRequest message. Also converts values to other types if specified.
                     * @param message BatchBlockAdReviewCenterAdsRequest
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.BatchBlockAdReviewCenterAdsRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this BatchBlockAdReviewCenterAdsRequest to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for BatchBlockAdReviewCenterAdsRequest
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a BatchBlockAdReviewCenterAdsResponse. */
                interface IBatchBlockAdReviewCenterAdsResponse {
                }

                /** Represents a BatchBlockAdReviewCenterAdsResponse. */
                class BatchBlockAdReviewCenterAdsResponse implements IBatchBlockAdReviewCenterAdsResponse {

                    /**
                     * Constructs a new BatchBlockAdReviewCenterAdsResponse.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IBatchBlockAdReviewCenterAdsResponse);

                    /**
                     * Creates a new BatchBlockAdReviewCenterAdsResponse instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns BatchBlockAdReviewCenterAdsResponse instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IBatchBlockAdReviewCenterAdsResponse): google.ads.admanager.v1.BatchBlockAdReviewCenterAdsResponse;

                    /**
                     * Encodes the specified BatchBlockAdReviewCenterAdsResponse message. Does not implicitly {@link google.ads.admanager.v1.BatchBlockAdReviewCenterAdsResponse.verify|verify} messages.
                     * @param message BatchBlockAdReviewCenterAdsResponse message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IBatchBlockAdReviewCenterAdsResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified BatchBlockAdReviewCenterAdsResponse message, length delimited. Does not implicitly {@link google.ads.admanager.v1.BatchBlockAdReviewCenterAdsResponse.verify|verify} messages.
                     * @param message BatchBlockAdReviewCenterAdsResponse message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IBatchBlockAdReviewCenterAdsResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a BatchBlockAdReviewCenterAdsResponse message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns BatchBlockAdReviewCenterAdsResponse
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.BatchBlockAdReviewCenterAdsResponse;

                    /**
                     * Decodes a BatchBlockAdReviewCenterAdsResponse message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns BatchBlockAdReviewCenterAdsResponse
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.BatchBlockAdReviewCenterAdsResponse;

                    /**
                     * Verifies a BatchBlockAdReviewCenterAdsResponse message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a BatchBlockAdReviewCenterAdsResponse message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns BatchBlockAdReviewCenterAdsResponse
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.BatchBlockAdReviewCenterAdsResponse;

                    /**
                     * Creates a plain object from a BatchBlockAdReviewCenterAdsResponse message. Also converts values to other types if specified.
                     * @param message BatchBlockAdReviewCenterAdsResponse
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.BatchBlockAdReviewCenterAdsResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this BatchBlockAdReviewCenterAdsResponse to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for BatchBlockAdReviewCenterAdsResponse
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a BatchAdReviewCenterAdsOperationMetadata. */
                interface IBatchAdReviewCenterAdsOperationMetadata {

                    /** BatchAdReviewCenterAdsOperationMetadata failedRequests */
                    failedRequests?: ({ [k: string]: google.rpc.IStatus }|null);
                }

                /** Represents a BatchAdReviewCenterAdsOperationMetadata. */
                class BatchAdReviewCenterAdsOperationMetadata implements IBatchAdReviewCenterAdsOperationMetadata {

                    /**
                     * Constructs a new BatchAdReviewCenterAdsOperationMetadata.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IBatchAdReviewCenterAdsOperationMetadata);

                    /** BatchAdReviewCenterAdsOperationMetadata failedRequests. */
                    public failedRequests: { [k: string]: google.rpc.IStatus };

                    /**
                     * Creates a new BatchAdReviewCenterAdsOperationMetadata instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns BatchAdReviewCenterAdsOperationMetadata instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IBatchAdReviewCenterAdsOperationMetadata): google.ads.admanager.v1.BatchAdReviewCenterAdsOperationMetadata;

                    /**
                     * Encodes the specified BatchAdReviewCenterAdsOperationMetadata message. Does not implicitly {@link google.ads.admanager.v1.BatchAdReviewCenterAdsOperationMetadata.verify|verify} messages.
                     * @param message BatchAdReviewCenterAdsOperationMetadata message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IBatchAdReviewCenterAdsOperationMetadata, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified BatchAdReviewCenterAdsOperationMetadata message, length delimited. Does not implicitly {@link google.ads.admanager.v1.BatchAdReviewCenterAdsOperationMetadata.verify|verify} messages.
                     * @param message BatchAdReviewCenterAdsOperationMetadata message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IBatchAdReviewCenterAdsOperationMetadata, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a BatchAdReviewCenterAdsOperationMetadata message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns BatchAdReviewCenterAdsOperationMetadata
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.BatchAdReviewCenterAdsOperationMetadata;

                    /**
                     * Decodes a BatchAdReviewCenterAdsOperationMetadata message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns BatchAdReviewCenterAdsOperationMetadata
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.BatchAdReviewCenterAdsOperationMetadata;

                    /**
                     * Verifies a BatchAdReviewCenterAdsOperationMetadata message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a BatchAdReviewCenterAdsOperationMetadata message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns BatchAdReviewCenterAdsOperationMetadata
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.BatchAdReviewCenterAdsOperationMetadata;

                    /**
                     * Creates a plain object from a BatchAdReviewCenterAdsOperationMetadata message. Also converts values to other types if specified.
                     * @param message BatchAdReviewCenterAdsOperationMetadata
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.BatchAdReviewCenterAdsOperationMetadata, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this BatchAdReviewCenterAdsOperationMetadata to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for BatchAdReviewCenterAdsOperationMetadata
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of an AdUnitStatusEnum. */
                interface IAdUnitStatusEnum {
                }

                /** Represents an AdUnitStatusEnum. */
                class AdUnitStatusEnum implements IAdUnitStatusEnum {

                    /**
                     * Constructs a new AdUnitStatusEnum.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IAdUnitStatusEnum);

                    /**
                     * Creates a new AdUnitStatusEnum instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns AdUnitStatusEnum instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IAdUnitStatusEnum): google.ads.admanager.v1.AdUnitStatusEnum;

                    /**
                     * Encodes the specified AdUnitStatusEnum message. Does not implicitly {@link google.ads.admanager.v1.AdUnitStatusEnum.verify|verify} messages.
                     * @param message AdUnitStatusEnum message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IAdUnitStatusEnum, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified AdUnitStatusEnum message, length delimited. Does not implicitly {@link google.ads.admanager.v1.AdUnitStatusEnum.verify|verify} messages.
                     * @param message AdUnitStatusEnum message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IAdUnitStatusEnum, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes an AdUnitStatusEnum message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns AdUnitStatusEnum
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.AdUnitStatusEnum;

                    /**
                     * Decodes an AdUnitStatusEnum message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns AdUnitStatusEnum
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.AdUnitStatusEnum;

                    /**
                     * Verifies an AdUnitStatusEnum message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates an AdUnitStatusEnum message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns AdUnitStatusEnum
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.AdUnitStatusEnum;

                    /**
                     * Creates a plain object from an AdUnitStatusEnum message. Also converts values to other types if specified.
                     * @param message AdUnitStatusEnum
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.AdUnitStatusEnum, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this AdUnitStatusEnum to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for AdUnitStatusEnum
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                namespace AdUnitStatusEnum {

                    /** AdUnitStatus enum. */
                    enum AdUnitStatus {
                        AD_UNIT_STATUS_UNSPECIFIED = 0,
                        ACTIVE = 1,
                        INACTIVE = 2,
                        ARCHIVED = 3
                    }
                }

                /** Properties of a SmartSizeModeEnum. */
                interface ISmartSizeModeEnum {
                }

                /** Represents a SmartSizeModeEnum. */
                class SmartSizeModeEnum implements ISmartSizeModeEnum {

                    /**
                     * Constructs a new SmartSizeModeEnum.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.ISmartSizeModeEnum);

                    /**
                     * Creates a new SmartSizeModeEnum instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns SmartSizeModeEnum instance
                     */
                    public static create(properties?: google.ads.admanager.v1.ISmartSizeModeEnum): google.ads.admanager.v1.SmartSizeModeEnum;

                    /**
                     * Encodes the specified SmartSizeModeEnum message. Does not implicitly {@link google.ads.admanager.v1.SmartSizeModeEnum.verify|verify} messages.
                     * @param message SmartSizeModeEnum message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.ISmartSizeModeEnum, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified SmartSizeModeEnum message, length delimited. Does not implicitly {@link google.ads.admanager.v1.SmartSizeModeEnum.verify|verify} messages.
                     * @param message SmartSizeModeEnum message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.ISmartSizeModeEnum, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a SmartSizeModeEnum message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns SmartSizeModeEnum
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.SmartSizeModeEnum;

                    /**
                     * Decodes a SmartSizeModeEnum message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns SmartSizeModeEnum
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.SmartSizeModeEnum;

                    /**
                     * Verifies a SmartSizeModeEnum message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a SmartSizeModeEnum message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns SmartSizeModeEnum
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.SmartSizeModeEnum;

                    /**
                     * Creates a plain object from a SmartSizeModeEnum message. Also converts values to other types if specified.
                     * @param message SmartSizeModeEnum
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.SmartSizeModeEnum, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this SmartSizeModeEnum to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for SmartSizeModeEnum
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                namespace SmartSizeModeEnum {

                    /** SmartSizeMode enum. */
                    enum SmartSizeMode {
                        SMART_SIZE_MODE_UNSPECIFIED = 0,
                        NONE = 1,
                        SMART_BANNER = 2,
                        DYNAMIC_SIZE = 3
                    }
                }

                /** Properties of a TargetWindowEnum. */
                interface ITargetWindowEnum {
                }

                /** Represents a TargetWindowEnum. */
                class TargetWindowEnum implements ITargetWindowEnum {

                    /**
                     * Constructs a new TargetWindowEnum.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.ITargetWindowEnum);

                    /**
                     * Creates a new TargetWindowEnum instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns TargetWindowEnum instance
                     */
                    public static create(properties?: google.ads.admanager.v1.ITargetWindowEnum): google.ads.admanager.v1.TargetWindowEnum;

                    /**
                     * Encodes the specified TargetWindowEnum message. Does not implicitly {@link google.ads.admanager.v1.TargetWindowEnum.verify|verify} messages.
                     * @param message TargetWindowEnum message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.ITargetWindowEnum, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified TargetWindowEnum message, length delimited. Does not implicitly {@link google.ads.admanager.v1.TargetWindowEnum.verify|verify} messages.
                     * @param message TargetWindowEnum message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.ITargetWindowEnum, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a TargetWindowEnum message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns TargetWindowEnum
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.TargetWindowEnum;

                    /**
                     * Decodes a TargetWindowEnum message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns TargetWindowEnum
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.TargetWindowEnum;

                    /**
                     * Verifies a TargetWindowEnum message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a TargetWindowEnum message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns TargetWindowEnum
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.TargetWindowEnum;

                    /**
                     * Creates a plain object from a TargetWindowEnum message. Also converts values to other types if specified.
                     * @param message TargetWindowEnum
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.TargetWindowEnum, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this TargetWindowEnum to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for TargetWindowEnum
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                namespace TargetWindowEnum {

                    /** TargetWindow enum. */
                    enum TargetWindow {
                        TARGET_WINDOW_UNSPECIFIED = 0,
                        TOP = 1,
                        BLANK = 2
                    }
                }

                /** Properties of an AdUnit. */
                interface IAdUnit {

                    /** AdUnit name */
                    name?: (string|null);

                    /** AdUnit adUnitId */
                    adUnitId?: (number|Long|string|null);

                    /** AdUnit parentAdUnit */
                    parentAdUnit?: (string|null);

                    /** AdUnit parentPath */
                    parentPath?: (google.ads.admanager.v1.IAdUnitParent[]|null);

                    /** AdUnit displayName */
                    displayName?: (string|null);

                    /** AdUnit adUnitCode */
                    adUnitCode?: (string|null);

                    /** AdUnit status */
                    status?: (google.ads.admanager.v1.AdUnitStatusEnum.AdUnitStatus|keyof typeof google.ads.admanager.v1.AdUnitStatusEnum.AdUnitStatus|null);

                    /** AdUnit appliedTargetWindow */
                    appliedTargetWindow?: (google.ads.admanager.v1.TargetWindowEnum.TargetWindow|keyof typeof google.ads.admanager.v1.TargetWindowEnum.TargetWindow|null);

                    /** AdUnit effectiveTargetWindow */
                    effectiveTargetWindow?: (google.ads.admanager.v1.TargetWindowEnum.TargetWindow|keyof typeof google.ads.admanager.v1.TargetWindowEnum.TargetWindow|null);

                    /** AdUnit appliedTeams */
                    appliedTeams?: (string[]|null);

                    /** AdUnit teams */
                    teams?: (string[]|null);

                    /** AdUnit description */
                    description?: (string|null);

                    /** AdUnit explicitlyTargeted */
                    explicitlyTargeted?: (boolean|null);

                    /** AdUnit hasChildren */
                    hasChildren?: (boolean|null);

                    /** AdUnit updateTime */
                    updateTime?: (google.protobuf.ITimestamp|null);

                    /** AdUnit adUnitSizes */
                    adUnitSizes?: (google.ads.admanager.v1.IAdUnitSize[]|null);

                    /** AdUnit externalSetTopBoxChannelId */
                    externalSetTopBoxChannelId?: (string|null);

                    /** AdUnit refreshDelay */
                    refreshDelay?: (google.protobuf.IDuration|null);

                    /** AdUnit appliedLabels */
                    appliedLabels?: (google.ads.admanager.v1.IAppliedLabel[]|null);

                    /** AdUnit effectiveAppliedLabels */
                    effectiveAppliedLabels?: (google.ads.admanager.v1.IAppliedLabel[]|null);

                    /** AdUnit appliedLabelFrequencyCaps */
                    appliedLabelFrequencyCaps?: (google.ads.admanager.v1.ILabelFrequencyCap[]|null);

                    /** AdUnit effectiveLabelFrequencyCaps */
                    effectiveLabelFrequencyCaps?: (google.ads.admanager.v1.ILabelFrequencyCap[]|null);

                    /** AdUnit smartSizeMode */
                    smartSizeMode?: (google.ads.admanager.v1.SmartSizeModeEnum.SmartSizeMode|keyof typeof google.ads.admanager.v1.SmartSizeModeEnum.SmartSizeMode|null);

                    /** AdUnit appliedAdsenseEnabled */
                    appliedAdsenseEnabled?: (boolean|null);

                    /** AdUnit effectiveAdsenseEnabled */
                    effectiveAdsenseEnabled?: (boolean|null);
                }

                /** Represents an AdUnit. */
                class AdUnit implements IAdUnit {

                    /**
                     * Constructs a new AdUnit.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IAdUnit);

                    /** AdUnit name. */
                    public name: string;

                    /** AdUnit adUnitId. */
                    public adUnitId: (number|Long|string);

                    /** AdUnit parentAdUnit. */
                    public parentAdUnit?: (string|null);

                    /** AdUnit parentPath. */
                    public parentPath: google.ads.admanager.v1.IAdUnitParent[];

                    /** AdUnit displayName. */
                    public displayName?: (string|null);

                    /** AdUnit adUnitCode. */
                    public adUnitCode?: (string|null);

                    /** AdUnit status. */
                    public status?: (google.ads.admanager.v1.AdUnitStatusEnum.AdUnitStatus|keyof typeof google.ads.admanager.v1.AdUnitStatusEnum.AdUnitStatus|null);

                    /** AdUnit appliedTargetWindow. */
                    public appliedTargetWindow?: (google.ads.admanager.v1.TargetWindowEnum.TargetWindow|keyof typeof google.ads.admanager.v1.TargetWindowEnum.TargetWindow|null);

                    /** AdUnit effectiveTargetWindow. */
                    public effectiveTargetWindow?: (google.ads.admanager.v1.TargetWindowEnum.TargetWindow|keyof typeof google.ads.admanager.v1.TargetWindowEnum.TargetWindow|null);

                    /** AdUnit appliedTeams. */
                    public appliedTeams: string[];

                    /** AdUnit teams. */
                    public teams: string[];

                    /** AdUnit description. */
                    public description?: (string|null);

                    /** AdUnit explicitlyTargeted. */
                    public explicitlyTargeted?: (boolean|null);

                    /** AdUnit hasChildren. */
                    public hasChildren?: (boolean|null);

                    /** AdUnit updateTime. */
                    public updateTime?: (google.protobuf.ITimestamp|null);

                    /** AdUnit adUnitSizes. */
                    public adUnitSizes: google.ads.admanager.v1.IAdUnitSize[];

                    /** AdUnit externalSetTopBoxChannelId. */
                    public externalSetTopBoxChannelId?: (string|null);

                    /** AdUnit refreshDelay. */
                    public refreshDelay?: (google.protobuf.IDuration|null);

                    /** AdUnit appliedLabels. */
                    public appliedLabels: google.ads.admanager.v1.IAppliedLabel[];

                    /** AdUnit effectiveAppliedLabels. */
                    public effectiveAppliedLabels: google.ads.admanager.v1.IAppliedLabel[];

                    /** AdUnit appliedLabelFrequencyCaps. */
                    public appliedLabelFrequencyCaps: google.ads.admanager.v1.ILabelFrequencyCap[];

                    /** AdUnit effectiveLabelFrequencyCaps. */
                    public effectiveLabelFrequencyCaps: google.ads.admanager.v1.ILabelFrequencyCap[];

                    /** AdUnit smartSizeMode. */
                    public smartSizeMode?: (google.ads.admanager.v1.SmartSizeModeEnum.SmartSizeMode|keyof typeof google.ads.admanager.v1.SmartSizeModeEnum.SmartSizeMode|null);

                    /** AdUnit appliedAdsenseEnabled. */
                    public appliedAdsenseEnabled?: (boolean|null);

                    /** AdUnit effectiveAdsenseEnabled. */
                    public effectiveAdsenseEnabled?: (boolean|null);

                    /**
                     * Creates a new AdUnit instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns AdUnit instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IAdUnit): google.ads.admanager.v1.AdUnit;

                    /**
                     * Encodes the specified AdUnit message. Does not implicitly {@link google.ads.admanager.v1.AdUnit.verify|verify} messages.
                     * @param message AdUnit message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IAdUnit, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified AdUnit message, length delimited. Does not implicitly {@link google.ads.admanager.v1.AdUnit.verify|verify} messages.
                     * @param message AdUnit message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IAdUnit, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes an AdUnit message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns AdUnit
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.AdUnit;

                    /**
                     * Decodes an AdUnit message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns AdUnit
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.AdUnit;

                    /**
                     * Verifies an AdUnit message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates an AdUnit message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns AdUnit
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.AdUnit;

                    /**
                     * Creates a plain object from an AdUnit message. Also converts values to other types if specified.
                     * @param message AdUnit
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.AdUnit, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this AdUnit to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for AdUnit
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of an AdUnitSize. */
                interface IAdUnitSize {

                    /** AdUnitSize size */
                    size?: (google.ads.admanager.v1.ISize|null);

                    /** AdUnitSize environmentType */
                    environmentType?: (google.ads.admanager.v1.EnvironmentTypeEnum.EnvironmentType|keyof typeof google.ads.admanager.v1.EnvironmentTypeEnum.EnvironmentType|null);

                    /** AdUnitSize companions */
                    companions?: (google.ads.admanager.v1.ISize[]|null);
                }

                /** Represents an AdUnitSize. */
                class AdUnitSize implements IAdUnitSize {

                    /**
                     * Constructs a new AdUnitSize.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IAdUnitSize);

                    /** AdUnitSize size. */
                    public size?: (google.ads.admanager.v1.ISize|null);

                    /** AdUnitSize environmentType. */
                    public environmentType?: (google.ads.admanager.v1.EnvironmentTypeEnum.EnvironmentType|keyof typeof google.ads.admanager.v1.EnvironmentTypeEnum.EnvironmentType|null);

                    /** AdUnitSize companions. */
                    public companions: google.ads.admanager.v1.ISize[];

                    /**
                     * Creates a new AdUnitSize instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns AdUnitSize instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IAdUnitSize): google.ads.admanager.v1.AdUnitSize;

                    /**
                     * Encodes the specified AdUnitSize message. Does not implicitly {@link google.ads.admanager.v1.AdUnitSize.verify|verify} messages.
                     * @param message AdUnitSize message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IAdUnitSize, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified AdUnitSize message, length delimited. Does not implicitly {@link google.ads.admanager.v1.AdUnitSize.verify|verify} messages.
                     * @param message AdUnitSize message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IAdUnitSize, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes an AdUnitSize message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns AdUnitSize
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.AdUnitSize;

                    /**
                     * Decodes an AdUnitSize message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns AdUnitSize
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.AdUnitSize;

                    /**
                     * Verifies an AdUnitSize message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates an AdUnitSize message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns AdUnitSize
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.AdUnitSize;

                    /**
                     * Creates a plain object from an AdUnitSize message. Also converts values to other types if specified.
                     * @param message AdUnitSize
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.AdUnitSize, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this AdUnitSize to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for AdUnitSize
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of an AdUnitParent. */
                interface IAdUnitParent {

                    /** AdUnitParent parentAdUnit */
                    parentAdUnit?: (string|null);

                    /** AdUnitParent displayName */
                    displayName?: (string|null);

                    /** AdUnitParent adUnitCode */
                    adUnitCode?: (string|null);
                }

                /** Represents an AdUnitParent. */
                class AdUnitParent implements IAdUnitParent {

                    /**
                     * Constructs a new AdUnitParent.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IAdUnitParent);

                    /** AdUnitParent parentAdUnit. */
                    public parentAdUnit?: (string|null);

                    /** AdUnitParent displayName. */
                    public displayName?: (string|null);

                    /** AdUnitParent adUnitCode. */
                    public adUnitCode?: (string|null);

                    /**
                     * Creates a new AdUnitParent instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns AdUnitParent instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IAdUnitParent): google.ads.admanager.v1.AdUnitParent;

                    /**
                     * Encodes the specified AdUnitParent message. Does not implicitly {@link google.ads.admanager.v1.AdUnitParent.verify|verify} messages.
                     * @param message AdUnitParent message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IAdUnitParent, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified AdUnitParent message, length delimited. Does not implicitly {@link google.ads.admanager.v1.AdUnitParent.verify|verify} messages.
                     * @param message AdUnitParent message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IAdUnitParent, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes an AdUnitParent message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns AdUnitParent
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.AdUnitParent;

                    /**
                     * Decodes an AdUnitParent message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns AdUnitParent
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.AdUnitParent;

                    /**
                     * Verifies an AdUnitParent message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates an AdUnitParent message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns AdUnitParent
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.AdUnitParent;

                    /**
                     * Creates a plain object from an AdUnitParent message. Also converts values to other types if specified.
                     * @param message AdUnitParent
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.AdUnitParent, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this AdUnitParent to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for AdUnitParent
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a LabelFrequencyCap. */
                interface ILabelFrequencyCap {

                    /** LabelFrequencyCap label */
                    label?: (string|null);

                    /** LabelFrequencyCap frequencyCap */
                    frequencyCap?: (google.ads.admanager.v1.IFrequencyCap|null);
                }

                /** Represents a LabelFrequencyCap. */
                class LabelFrequencyCap implements ILabelFrequencyCap {

                    /**
                     * Constructs a new LabelFrequencyCap.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.ILabelFrequencyCap);

                    /** LabelFrequencyCap label. */
                    public label?: (string|null);

                    /** LabelFrequencyCap frequencyCap. */
                    public frequencyCap?: (google.ads.admanager.v1.IFrequencyCap|null);

                    /**
                     * Creates a new LabelFrequencyCap instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns LabelFrequencyCap instance
                     */
                    public static create(properties?: google.ads.admanager.v1.ILabelFrequencyCap): google.ads.admanager.v1.LabelFrequencyCap;

                    /**
                     * Encodes the specified LabelFrequencyCap message. Does not implicitly {@link google.ads.admanager.v1.LabelFrequencyCap.verify|verify} messages.
                     * @param message LabelFrequencyCap message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.ILabelFrequencyCap, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified LabelFrequencyCap message, length delimited. Does not implicitly {@link google.ads.admanager.v1.LabelFrequencyCap.verify|verify} messages.
                     * @param message LabelFrequencyCap message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.ILabelFrequencyCap, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a LabelFrequencyCap message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns LabelFrequencyCap
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.LabelFrequencyCap;

                    /**
                     * Decodes a LabelFrequencyCap message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns LabelFrequencyCap
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.LabelFrequencyCap;

                    /**
                     * Verifies a LabelFrequencyCap message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a LabelFrequencyCap message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns LabelFrequencyCap
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.LabelFrequencyCap;

                    /**
                     * Creates a plain object from a LabelFrequencyCap message. Also converts values to other types if specified.
                     * @param message LabelFrequencyCap
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.LabelFrequencyCap, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this LabelFrequencyCap to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for LabelFrequencyCap
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of an AppliedLabel. */
                interface IAppliedLabel {

                    /** AppliedLabel label */
                    label?: (string|null);

                    /** AppliedLabel negated */
                    negated?: (boolean|null);
                }

                /** Represents an AppliedLabel. */
                class AppliedLabel implements IAppliedLabel {

                    /**
                     * Constructs a new AppliedLabel.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IAppliedLabel);

                    /** AppliedLabel label. */
                    public label: string;

                    /** AppliedLabel negated. */
                    public negated: boolean;

                    /**
                     * Creates a new AppliedLabel instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns AppliedLabel instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IAppliedLabel): google.ads.admanager.v1.AppliedLabel;

                    /**
                     * Encodes the specified AppliedLabel message. Does not implicitly {@link google.ads.admanager.v1.AppliedLabel.verify|verify} messages.
                     * @param message AppliedLabel message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IAppliedLabel, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified AppliedLabel message, length delimited. Does not implicitly {@link google.ads.admanager.v1.AppliedLabel.verify|verify} messages.
                     * @param message AppliedLabel message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IAppliedLabel, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes an AppliedLabel message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns AppliedLabel
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.AppliedLabel;

                    /**
                     * Decodes an AppliedLabel message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns AppliedLabel
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.AppliedLabel;

                    /**
                     * Verifies an AppliedLabel message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates an AppliedLabel message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns AppliedLabel
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.AppliedLabel;

                    /**
                     * Creates a plain object from an AppliedLabel message. Also converts values to other types if specified.
                     * @param message AppliedLabel
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.AppliedLabel, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this AppliedLabel to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for AppliedLabel
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of an EnvironmentTypeEnum. */
                interface IEnvironmentTypeEnum {
                }

                /** Represents an EnvironmentTypeEnum. */
                class EnvironmentTypeEnum implements IEnvironmentTypeEnum {

                    /**
                     * Constructs a new EnvironmentTypeEnum.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IEnvironmentTypeEnum);

                    /**
                     * Creates a new EnvironmentTypeEnum instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns EnvironmentTypeEnum instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IEnvironmentTypeEnum): google.ads.admanager.v1.EnvironmentTypeEnum;

                    /**
                     * Encodes the specified EnvironmentTypeEnum message. Does not implicitly {@link google.ads.admanager.v1.EnvironmentTypeEnum.verify|verify} messages.
                     * @param message EnvironmentTypeEnum message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IEnvironmentTypeEnum, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified EnvironmentTypeEnum message, length delimited. Does not implicitly {@link google.ads.admanager.v1.EnvironmentTypeEnum.verify|verify} messages.
                     * @param message EnvironmentTypeEnum message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IEnvironmentTypeEnum, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes an EnvironmentTypeEnum message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns EnvironmentTypeEnum
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.EnvironmentTypeEnum;

                    /**
                     * Decodes an EnvironmentTypeEnum message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns EnvironmentTypeEnum
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.EnvironmentTypeEnum;

                    /**
                     * Verifies an EnvironmentTypeEnum message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates an EnvironmentTypeEnum message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns EnvironmentTypeEnum
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.EnvironmentTypeEnum;

                    /**
                     * Creates a plain object from an EnvironmentTypeEnum message. Also converts values to other types if specified.
                     * @param message EnvironmentTypeEnum
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.EnvironmentTypeEnum, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this EnvironmentTypeEnum to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for EnvironmentTypeEnum
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                namespace EnvironmentTypeEnum {

                    /** EnvironmentType enum. */
                    enum EnvironmentType {
                        ENVIRONMENT_TYPE_UNSPECIFIED = 0,
                        BROWSER = 1,
                        VIDEO_PLAYER = 2
                    }
                }

                /** Properties of a FrequencyCap. */
                interface IFrequencyCap {

                    /** FrequencyCap maxImpressions */
                    maxImpressions?: (number|Long|string|null);

                    /** FrequencyCap timeAmount */
                    timeAmount?: (number|Long|string|null);

                    /** FrequencyCap timeUnit */
                    timeUnit?: (google.ads.admanager.v1.TimeUnitEnum.TimeUnit|keyof typeof google.ads.admanager.v1.TimeUnitEnum.TimeUnit|null);
                }

                /** Represents a FrequencyCap. */
                class FrequencyCap implements IFrequencyCap {

                    /**
                     * Constructs a new FrequencyCap.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IFrequencyCap);

                    /** FrequencyCap maxImpressions. */
                    public maxImpressions?: (number|Long|string|null);

                    /** FrequencyCap timeAmount. */
                    public timeAmount?: (number|Long|string|null);

                    /** FrequencyCap timeUnit. */
                    public timeUnit?: (google.ads.admanager.v1.TimeUnitEnum.TimeUnit|keyof typeof google.ads.admanager.v1.TimeUnitEnum.TimeUnit|null);

                    /**
                     * Creates a new FrequencyCap instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns FrequencyCap instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IFrequencyCap): google.ads.admanager.v1.FrequencyCap;

                    /**
                     * Encodes the specified FrequencyCap message. Does not implicitly {@link google.ads.admanager.v1.FrequencyCap.verify|verify} messages.
                     * @param message FrequencyCap message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IFrequencyCap, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified FrequencyCap message, length delimited. Does not implicitly {@link google.ads.admanager.v1.FrequencyCap.verify|verify} messages.
                     * @param message FrequencyCap message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IFrequencyCap, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a FrequencyCap message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns FrequencyCap
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.FrequencyCap;

                    /**
                     * Decodes a FrequencyCap message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns FrequencyCap
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.FrequencyCap;

                    /**
                     * Verifies a FrequencyCap message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a FrequencyCap message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns FrequencyCap
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.FrequencyCap;

                    /**
                     * Creates a plain object from a FrequencyCap message. Also converts values to other types if specified.
                     * @param message FrequencyCap
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.FrequencyCap, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this FrequencyCap to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for FrequencyCap
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a TimeUnitEnum. */
                interface ITimeUnitEnum {
                }

                /** Represents a TimeUnitEnum. */
                class TimeUnitEnum implements ITimeUnitEnum {

                    /**
                     * Constructs a new TimeUnitEnum.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.ITimeUnitEnum);

                    /**
                     * Creates a new TimeUnitEnum instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns TimeUnitEnum instance
                     */
                    public static create(properties?: google.ads.admanager.v1.ITimeUnitEnum): google.ads.admanager.v1.TimeUnitEnum;

                    /**
                     * Encodes the specified TimeUnitEnum message. Does not implicitly {@link google.ads.admanager.v1.TimeUnitEnum.verify|verify} messages.
                     * @param message TimeUnitEnum message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.ITimeUnitEnum, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified TimeUnitEnum message, length delimited. Does not implicitly {@link google.ads.admanager.v1.TimeUnitEnum.verify|verify} messages.
                     * @param message TimeUnitEnum message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.ITimeUnitEnum, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a TimeUnitEnum message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns TimeUnitEnum
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.TimeUnitEnum;

                    /**
                     * Decodes a TimeUnitEnum message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns TimeUnitEnum
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.TimeUnitEnum;

                    /**
                     * Verifies a TimeUnitEnum message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a TimeUnitEnum message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns TimeUnitEnum
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.TimeUnitEnum;

                    /**
                     * Creates a plain object from a TimeUnitEnum message. Also converts values to other types if specified.
                     * @param message TimeUnitEnum
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.TimeUnitEnum, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this TimeUnitEnum to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for TimeUnitEnum
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                namespace TimeUnitEnum {

                    /** TimeUnit enum. */
                    enum TimeUnit {
                        TIME_UNIT_UNSPECIFIED = 0,
                        MINUTE = 1,
                        HOUR = 2,
                        DAY = 3,
                        WEEK = 4,
                        MONTH = 5,
                        LIFETIME = 6,
                        POD = 7,
                        STREAM = 8
                    }
                }

                /** Properties of a Size. */
                interface ISize {

                    /** Size width */
                    width?: (number|null);

                    /** Size height */
                    height?: (number|null);

                    /** Size sizeType */
                    sizeType?: (google.ads.admanager.v1.SizeTypeEnum.SizeType|keyof typeof google.ads.admanager.v1.SizeTypeEnum.SizeType|null);
                }

                /** Represents a Size. */
                class Size implements ISize {

                    /**
                     * Constructs a new Size.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.ISize);

                    /** Size width. */
                    public width: number;

                    /** Size height. */
                    public height: number;

                    /** Size sizeType. */
                    public sizeType: (google.ads.admanager.v1.SizeTypeEnum.SizeType|keyof typeof google.ads.admanager.v1.SizeTypeEnum.SizeType);

                    /**
                     * Creates a new Size instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns Size instance
                     */
                    public static create(properties?: google.ads.admanager.v1.ISize): google.ads.admanager.v1.Size;

                    /**
                     * Encodes the specified Size message. Does not implicitly {@link google.ads.admanager.v1.Size.verify|verify} messages.
                     * @param message Size message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.ISize, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified Size message, length delimited. Does not implicitly {@link google.ads.admanager.v1.Size.verify|verify} messages.
                     * @param message Size message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.ISize, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a Size message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns Size
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.Size;

                    /**
                     * Decodes a Size message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns Size
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.Size;

                    /**
                     * Verifies a Size message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a Size message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns Size
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.Size;

                    /**
                     * Creates a plain object from a Size message. Also converts values to other types if specified.
                     * @param message Size
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.Size, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this Size to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for Size
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a SizeTypeEnum. */
                interface ISizeTypeEnum {
                }

                /** Represents a SizeTypeEnum. */
                class SizeTypeEnum implements ISizeTypeEnum {

                    /**
                     * Constructs a new SizeTypeEnum.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.ISizeTypeEnum);

                    /**
                     * Creates a new SizeTypeEnum instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns SizeTypeEnum instance
                     */
                    public static create(properties?: google.ads.admanager.v1.ISizeTypeEnum): google.ads.admanager.v1.SizeTypeEnum;

                    /**
                     * Encodes the specified SizeTypeEnum message. Does not implicitly {@link google.ads.admanager.v1.SizeTypeEnum.verify|verify} messages.
                     * @param message SizeTypeEnum message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.ISizeTypeEnum, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified SizeTypeEnum message, length delimited. Does not implicitly {@link google.ads.admanager.v1.SizeTypeEnum.verify|verify} messages.
                     * @param message SizeTypeEnum message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.ISizeTypeEnum, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a SizeTypeEnum message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns SizeTypeEnum
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.SizeTypeEnum;

                    /**
                     * Decodes a SizeTypeEnum message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns SizeTypeEnum
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.SizeTypeEnum;

                    /**
                     * Verifies a SizeTypeEnum message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a SizeTypeEnum message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns SizeTypeEnum
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.SizeTypeEnum;

                    /**
                     * Creates a plain object from a SizeTypeEnum message. Also converts values to other types if specified.
                     * @param message SizeTypeEnum
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.SizeTypeEnum, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this SizeTypeEnum to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for SizeTypeEnum
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                namespace SizeTypeEnum {

                    /** SizeType enum. */
                    enum SizeType {
                        SIZE_TYPE_UNSPECIFIED = 0,
                        PIXEL = 1,
                        ASPECT_RATIO = 2,
                        INTERSTITIAL = 3,
                        IGNORED = 4,
                        NATIVE = 5,
                        FLUID = 6,
                        AUDIO = 7
                    }
                }

                /** Represents an AdUnitService */
                class AdUnitService extends $protobuf.rpc.Service {

                    /**
                     * Constructs a new AdUnitService service.
                     * @param rpcImpl RPC implementation
                     * @param [requestDelimited=false] Whether requests are length-delimited
                     * @param [responseDelimited=false] Whether responses are length-delimited
                     */
                    constructor(rpcImpl: $protobuf.RPCImpl, requestDelimited?: boolean, responseDelimited?: boolean);

                    /**
                     * Creates new AdUnitService service using the specified rpc implementation.
                     * @param rpcImpl RPC implementation
                     * @param [requestDelimited=false] Whether requests are length-delimited
                     * @param [responseDelimited=false] Whether responses are length-delimited
                     * @returns RPC service. Useful where requests and/or responses are streamed.
                     */
                    public static create(rpcImpl: $protobuf.RPCImpl, requestDelimited?: boolean, responseDelimited?: boolean): AdUnitService;

                    /**
                     * Calls GetAdUnit.
                     * @param request GetAdUnitRequest message or plain object
                     * @param callback Node-style callback called with the error, if any, and AdUnit
                     */
                    public getAdUnit(request: google.ads.admanager.v1.IGetAdUnitRequest, callback: google.ads.admanager.v1.AdUnitService.GetAdUnitCallback): void;

                    /**
                     * Calls GetAdUnit.
                     * @param request GetAdUnitRequest message or plain object
                     * @returns Promise
                     */
                    public getAdUnit(request: google.ads.admanager.v1.IGetAdUnitRequest): Promise<google.ads.admanager.v1.AdUnit>;

                    /**
                     * Calls ListAdUnits.
                     * @param request ListAdUnitsRequest message or plain object
                     * @param callback Node-style callback called with the error, if any, and ListAdUnitsResponse
                     */
                    public listAdUnits(request: google.ads.admanager.v1.IListAdUnitsRequest, callback: google.ads.admanager.v1.AdUnitService.ListAdUnitsCallback): void;

                    /**
                     * Calls ListAdUnits.
                     * @param request ListAdUnitsRequest message or plain object
                     * @returns Promise
                     */
                    public listAdUnits(request: google.ads.admanager.v1.IListAdUnitsRequest): Promise<google.ads.admanager.v1.ListAdUnitsResponse>;

                    /**
                     * Calls ListAdUnitSizes.
                     * @param request ListAdUnitSizesRequest message or plain object
                     * @param callback Node-style callback called with the error, if any, and ListAdUnitSizesResponse
                     */
                    public listAdUnitSizes(request: google.ads.admanager.v1.IListAdUnitSizesRequest, callback: google.ads.admanager.v1.AdUnitService.ListAdUnitSizesCallback): void;

                    /**
                     * Calls ListAdUnitSizes.
                     * @param request ListAdUnitSizesRequest message or plain object
                     * @returns Promise
                     */
                    public listAdUnitSizes(request: google.ads.admanager.v1.IListAdUnitSizesRequest): Promise<google.ads.admanager.v1.ListAdUnitSizesResponse>;

                    /**
                     * Calls CreateAdUnit.
                     * @param request CreateAdUnitRequest message or plain object
                     * @param callback Node-style callback called with the error, if any, and AdUnit
                     */
                    public createAdUnit(request: google.ads.admanager.v1.ICreateAdUnitRequest, callback: google.ads.admanager.v1.AdUnitService.CreateAdUnitCallback): void;

                    /**
                     * Calls CreateAdUnit.
                     * @param request CreateAdUnitRequest message or plain object
                     * @returns Promise
                     */
                    public createAdUnit(request: google.ads.admanager.v1.ICreateAdUnitRequest): Promise<google.ads.admanager.v1.AdUnit>;

                    /**
                     * Calls UpdateAdUnit.
                     * @param request UpdateAdUnitRequest message or plain object
                     * @param callback Node-style callback called with the error, if any, and AdUnit
                     */
                    public updateAdUnit(request: google.ads.admanager.v1.IUpdateAdUnitRequest, callback: google.ads.admanager.v1.AdUnitService.UpdateAdUnitCallback): void;

                    /**
                     * Calls UpdateAdUnit.
                     * @param request UpdateAdUnitRequest message or plain object
                     * @returns Promise
                     */
                    public updateAdUnit(request: google.ads.admanager.v1.IUpdateAdUnitRequest): Promise<google.ads.admanager.v1.AdUnit>;

                    /**
                     * Calls BatchCreateAdUnits.
                     * @param request BatchCreateAdUnitsRequest message or plain object
                     * @param callback Node-style callback called with the error, if any, and BatchCreateAdUnitsResponse
                     */
                    public batchCreateAdUnits(request: google.ads.admanager.v1.IBatchCreateAdUnitsRequest, callback: google.ads.admanager.v1.AdUnitService.BatchCreateAdUnitsCallback): void;

                    /**
                     * Calls BatchCreateAdUnits.
                     * @param request BatchCreateAdUnitsRequest message or plain object
                     * @returns Promise
                     */
                    public batchCreateAdUnits(request: google.ads.admanager.v1.IBatchCreateAdUnitsRequest): Promise<google.ads.admanager.v1.BatchCreateAdUnitsResponse>;

                    /**
                     * Calls BatchUpdateAdUnits.
                     * @param request BatchUpdateAdUnitsRequest message or plain object
                     * @param callback Node-style callback called with the error, if any, and BatchUpdateAdUnitsResponse
                     */
                    public batchUpdateAdUnits(request: google.ads.admanager.v1.IBatchUpdateAdUnitsRequest, callback: google.ads.admanager.v1.AdUnitService.BatchUpdateAdUnitsCallback): void;

                    /**
                     * Calls BatchUpdateAdUnits.
                     * @param request BatchUpdateAdUnitsRequest message or plain object
                     * @returns Promise
                     */
                    public batchUpdateAdUnits(request: google.ads.admanager.v1.IBatchUpdateAdUnitsRequest): Promise<google.ads.admanager.v1.BatchUpdateAdUnitsResponse>;

                    /**
                     * Calls BatchActivateAdUnits.
                     * @param request BatchActivateAdUnitsRequest message or plain object
                     * @param callback Node-style callback called with the error, if any, and BatchActivateAdUnitsResponse
                     */
                    public batchActivateAdUnits(request: google.ads.admanager.v1.IBatchActivateAdUnitsRequest, callback: google.ads.admanager.v1.AdUnitService.BatchActivateAdUnitsCallback): void;

                    /**
                     * Calls BatchActivateAdUnits.
                     * @param request BatchActivateAdUnitsRequest message or plain object
                     * @returns Promise
                     */
                    public batchActivateAdUnits(request: google.ads.admanager.v1.IBatchActivateAdUnitsRequest): Promise<google.ads.admanager.v1.BatchActivateAdUnitsResponse>;

                    /**
                     * Calls BatchDeactivateAdUnits.
                     * @param request BatchDeactivateAdUnitsRequest message or plain object
                     * @param callback Node-style callback called with the error, if any, and BatchDeactivateAdUnitsResponse
                     */
                    public batchDeactivateAdUnits(request: google.ads.admanager.v1.IBatchDeactivateAdUnitsRequest, callback: google.ads.admanager.v1.AdUnitService.BatchDeactivateAdUnitsCallback): void;

                    /**
                     * Calls BatchDeactivateAdUnits.
                     * @param request BatchDeactivateAdUnitsRequest message or plain object
                     * @returns Promise
                     */
                    public batchDeactivateAdUnits(request: google.ads.admanager.v1.IBatchDeactivateAdUnitsRequest): Promise<google.ads.admanager.v1.BatchDeactivateAdUnitsResponse>;

                    /**
                     * Calls BatchArchiveAdUnits.
                     * @param request BatchArchiveAdUnitsRequest message or plain object
                     * @param callback Node-style callback called with the error, if any, and BatchArchiveAdUnitsResponse
                     */
                    public batchArchiveAdUnits(request: google.ads.admanager.v1.IBatchArchiveAdUnitsRequest, callback: google.ads.admanager.v1.AdUnitService.BatchArchiveAdUnitsCallback): void;

                    /**
                     * Calls BatchArchiveAdUnits.
                     * @param request BatchArchiveAdUnitsRequest message or plain object
                     * @returns Promise
                     */
                    public batchArchiveAdUnits(request: google.ads.admanager.v1.IBatchArchiveAdUnitsRequest): Promise<google.ads.admanager.v1.BatchArchiveAdUnitsResponse>;
                }

                namespace AdUnitService {

                    /**
                     * Callback as used by {@link google.ads.admanager.v1.AdUnitService|getAdUnit}.
                     * @param error Error, if any
                     * @param [response] AdUnit
                     */
                    type GetAdUnitCallback = (error: (Error|null), response?: google.ads.admanager.v1.AdUnit) => void;

                    /**
                     * Callback as used by {@link google.ads.admanager.v1.AdUnitService|listAdUnits}.
                     * @param error Error, if any
                     * @param [response] ListAdUnitsResponse
                     */
                    type ListAdUnitsCallback = (error: (Error|null), response?: google.ads.admanager.v1.ListAdUnitsResponse) => void;

                    /**
                     * Callback as used by {@link google.ads.admanager.v1.AdUnitService|listAdUnitSizes}.
                     * @param error Error, if any
                     * @param [response] ListAdUnitSizesResponse
                     */
                    type ListAdUnitSizesCallback = (error: (Error|null), response?: google.ads.admanager.v1.ListAdUnitSizesResponse) => void;

                    /**
                     * Callback as used by {@link google.ads.admanager.v1.AdUnitService|createAdUnit}.
                     * @param error Error, if any
                     * @param [response] AdUnit
                     */
                    type CreateAdUnitCallback = (error: (Error|null), response?: google.ads.admanager.v1.AdUnit) => void;

                    /**
                     * Callback as used by {@link google.ads.admanager.v1.AdUnitService|updateAdUnit}.
                     * @param error Error, if any
                     * @param [response] AdUnit
                     */
                    type UpdateAdUnitCallback = (error: (Error|null), response?: google.ads.admanager.v1.AdUnit) => void;

                    /**
                     * Callback as used by {@link google.ads.admanager.v1.AdUnitService|batchCreateAdUnits}.
                     * @param error Error, if any
                     * @param [response] BatchCreateAdUnitsResponse
                     */
                    type BatchCreateAdUnitsCallback = (error: (Error|null), response?: google.ads.admanager.v1.BatchCreateAdUnitsResponse) => void;

                    /**
                     * Callback as used by {@link google.ads.admanager.v1.AdUnitService|batchUpdateAdUnits}.
                     * @param error Error, if any
                     * @param [response] BatchUpdateAdUnitsResponse
                     */
                    type BatchUpdateAdUnitsCallback = (error: (Error|null), response?: google.ads.admanager.v1.BatchUpdateAdUnitsResponse) => void;

                    /**
                     * Callback as used by {@link google.ads.admanager.v1.AdUnitService|batchActivateAdUnits}.
                     * @param error Error, if any
                     * @param [response] BatchActivateAdUnitsResponse
                     */
                    type BatchActivateAdUnitsCallback = (error: (Error|null), response?: google.ads.admanager.v1.BatchActivateAdUnitsResponse) => void;

                    /**
                     * Callback as used by {@link google.ads.admanager.v1.AdUnitService|batchDeactivateAdUnits}.
                     * @param error Error, if any
                     * @param [response] BatchDeactivateAdUnitsResponse
                     */
                    type BatchDeactivateAdUnitsCallback = (error: (Error|null), response?: google.ads.admanager.v1.BatchDeactivateAdUnitsResponse) => void;

                    /**
                     * Callback as used by {@link google.ads.admanager.v1.AdUnitService|batchArchiveAdUnits}.
                     * @param error Error, if any
                     * @param [response] BatchArchiveAdUnitsResponse
                     */
                    type BatchArchiveAdUnitsCallback = (error: (Error|null), response?: google.ads.admanager.v1.BatchArchiveAdUnitsResponse) => void;
                }

                /** Properties of a GetAdUnitRequest. */
                interface IGetAdUnitRequest {

                    /** GetAdUnitRequest name */
                    name?: (string|null);
                }

                /** Represents a GetAdUnitRequest. */
                class GetAdUnitRequest implements IGetAdUnitRequest {

                    /**
                     * Constructs a new GetAdUnitRequest.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IGetAdUnitRequest);

                    /** GetAdUnitRequest name. */
                    public name: string;

                    /**
                     * Creates a new GetAdUnitRequest instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns GetAdUnitRequest instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IGetAdUnitRequest): google.ads.admanager.v1.GetAdUnitRequest;

                    /**
                     * Encodes the specified GetAdUnitRequest message. Does not implicitly {@link google.ads.admanager.v1.GetAdUnitRequest.verify|verify} messages.
                     * @param message GetAdUnitRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IGetAdUnitRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified GetAdUnitRequest message, length delimited. Does not implicitly {@link google.ads.admanager.v1.GetAdUnitRequest.verify|verify} messages.
                     * @param message GetAdUnitRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IGetAdUnitRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a GetAdUnitRequest message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns GetAdUnitRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.GetAdUnitRequest;

                    /**
                     * Decodes a GetAdUnitRequest message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns GetAdUnitRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.GetAdUnitRequest;

                    /**
                     * Verifies a GetAdUnitRequest message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a GetAdUnitRequest message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns GetAdUnitRequest
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.GetAdUnitRequest;

                    /**
                     * Creates a plain object from a GetAdUnitRequest message. Also converts values to other types if specified.
                     * @param message GetAdUnitRequest
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.GetAdUnitRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this GetAdUnitRequest to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for GetAdUnitRequest
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a ListAdUnitsRequest. */
                interface IListAdUnitsRequest {

                    /** ListAdUnitsRequest parent */
                    parent?: (string|null);

                    /** ListAdUnitsRequest pageSize */
                    pageSize?: (number|null);

                    /** ListAdUnitsRequest pageToken */
                    pageToken?: (string|null);

                    /** ListAdUnitsRequest filter */
                    filter?: (string|null);

                    /** ListAdUnitsRequest orderBy */
                    orderBy?: (string|null);

                    /** ListAdUnitsRequest skip */
                    skip?: (number|null);
                }

                /** Represents a ListAdUnitsRequest. */
                class ListAdUnitsRequest implements IListAdUnitsRequest {

                    /**
                     * Constructs a new ListAdUnitsRequest.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IListAdUnitsRequest);

                    /** ListAdUnitsRequest parent. */
                    public parent: string;

                    /** ListAdUnitsRequest pageSize. */
                    public pageSize: number;

                    /** ListAdUnitsRequest pageToken. */
                    public pageToken: string;

                    /** ListAdUnitsRequest filter. */
                    public filter: string;

                    /** ListAdUnitsRequest orderBy. */
                    public orderBy: string;

                    /** ListAdUnitsRequest skip. */
                    public skip: number;

                    /**
                     * Creates a new ListAdUnitsRequest instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns ListAdUnitsRequest instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IListAdUnitsRequest): google.ads.admanager.v1.ListAdUnitsRequest;

                    /**
                     * Encodes the specified ListAdUnitsRequest message. Does not implicitly {@link google.ads.admanager.v1.ListAdUnitsRequest.verify|verify} messages.
                     * @param message ListAdUnitsRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IListAdUnitsRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified ListAdUnitsRequest message, length delimited. Does not implicitly {@link google.ads.admanager.v1.ListAdUnitsRequest.verify|verify} messages.
                     * @param message ListAdUnitsRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IListAdUnitsRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a ListAdUnitsRequest message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns ListAdUnitsRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.ListAdUnitsRequest;

                    /**
                     * Decodes a ListAdUnitsRequest message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns ListAdUnitsRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.ListAdUnitsRequest;

                    /**
                     * Verifies a ListAdUnitsRequest message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a ListAdUnitsRequest message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns ListAdUnitsRequest
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.ListAdUnitsRequest;

                    /**
                     * Creates a plain object from a ListAdUnitsRequest message. Also converts values to other types if specified.
                     * @param message ListAdUnitsRequest
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.ListAdUnitsRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this ListAdUnitsRequest to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for ListAdUnitsRequest
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a ListAdUnitsResponse. */
                interface IListAdUnitsResponse {

                    /** ListAdUnitsResponse adUnits */
                    adUnits?: (google.ads.admanager.v1.IAdUnit[]|null);

                    /** ListAdUnitsResponse nextPageToken */
                    nextPageToken?: (string|null);

                    /** ListAdUnitsResponse totalSize */
                    totalSize?: (number|null);
                }

                /** Represents a ListAdUnitsResponse. */
                class ListAdUnitsResponse implements IListAdUnitsResponse {

                    /**
                     * Constructs a new ListAdUnitsResponse.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IListAdUnitsResponse);

                    /** ListAdUnitsResponse adUnits. */
                    public adUnits: google.ads.admanager.v1.IAdUnit[];

                    /** ListAdUnitsResponse nextPageToken. */
                    public nextPageToken: string;

                    /** ListAdUnitsResponse totalSize. */
                    public totalSize: number;

                    /**
                     * Creates a new ListAdUnitsResponse instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns ListAdUnitsResponse instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IListAdUnitsResponse): google.ads.admanager.v1.ListAdUnitsResponse;

                    /**
                     * Encodes the specified ListAdUnitsResponse message. Does not implicitly {@link google.ads.admanager.v1.ListAdUnitsResponse.verify|verify} messages.
                     * @param message ListAdUnitsResponse message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IListAdUnitsResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified ListAdUnitsResponse message, length delimited. Does not implicitly {@link google.ads.admanager.v1.ListAdUnitsResponse.verify|verify} messages.
                     * @param message ListAdUnitsResponse message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IListAdUnitsResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a ListAdUnitsResponse message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns ListAdUnitsResponse
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.ListAdUnitsResponse;

                    /**
                     * Decodes a ListAdUnitsResponse message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns ListAdUnitsResponse
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.ListAdUnitsResponse;

                    /**
                     * Verifies a ListAdUnitsResponse message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a ListAdUnitsResponse message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns ListAdUnitsResponse
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.ListAdUnitsResponse;

                    /**
                     * Creates a plain object from a ListAdUnitsResponse message. Also converts values to other types if specified.
                     * @param message ListAdUnitsResponse
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.ListAdUnitsResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this ListAdUnitsResponse to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for ListAdUnitsResponse
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a CreateAdUnitRequest. */
                interface ICreateAdUnitRequest {

                    /** CreateAdUnitRequest parent */
                    parent?: (string|null);

                    /** CreateAdUnitRequest adUnit */
                    adUnit?: (google.ads.admanager.v1.IAdUnit|null);
                }

                /** Represents a CreateAdUnitRequest. */
                class CreateAdUnitRequest implements ICreateAdUnitRequest {

                    /**
                     * Constructs a new CreateAdUnitRequest.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.ICreateAdUnitRequest);

                    /** CreateAdUnitRequest parent. */
                    public parent: string;

                    /** CreateAdUnitRequest adUnit. */
                    public adUnit?: (google.ads.admanager.v1.IAdUnit|null);

                    /**
                     * Creates a new CreateAdUnitRequest instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns CreateAdUnitRequest instance
                     */
                    public static create(properties?: google.ads.admanager.v1.ICreateAdUnitRequest): google.ads.admanager.v1.CreateAdUnitRequest;

                    /**
                     * Encodes the specified CreateAdUnitRequest message. Does not implicitly {@link google.ads.admanager.v1.CreateAdUnitRequest.verify|verify} messages.
                     * @param message CreateAdUnitRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.ICreateAdUnitRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified CreateAdUnitRequest message, length delimited. Does not implicitly {@link google.ads.admanager.v1.CreateAdUnitRequest.verify|verify} messages.
                     * @param message CreateAdUnitRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.ICreateAdUnitRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a CreateAdUnitRequest message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns CreateAdUnitRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.CreateAdUnitRequest;

                    /**
                     * Decodes a CreateAdUnitRequest message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns CreateAdUnitRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.CreateAdUnitRequest;

                    /**
                     * Verifies a CreateAdUnitRequest message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a CreateAdUnitRequest message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns CreateAdUnitRequest
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.CreateAdUnitRequest;

                    /**
                     * Creates a plain object from a CreateAdUnitRequest message. Also converts values to other types if specified.
                     * @param message CreateAdUnitRequest
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.CreateAdUnitRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this CreateAdUnitRequest to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for CreateAdUnitRequest
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of an UpdateAdUnitRequest. */
                interface IUpdateAdUnitRequest {

                    /** UpdateAdUnitRequest adUnit */
                    adUnit?: (google.ads.admanager.v1.IAdUnit|null);

                    /** UpdateAdUnitRequest updateMask */
                    updateMask?: (google.protobuf.IFieldMask|null);
                }

                /** Represents an UpdateAdUnitRequest. */
                class UpdateAdUnitRequest implements IUpdateAdUnitRequest {

                    /**
                     * Constructs a new UpdateAdUnitRequest.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IUpdateAdUnitRequest);

                    /** UpdateAdUnitRequest adUnit. */
                    public adUnit?: (google.ads.admanager.v1.IAdUnit|null);

                    /** UpdateAdUnitRequest updateMask. */
                    public updateMask?: (google.protobuf.IFieldMask|null);

                    /**
                     * Creates a new UpdateAdUnitRequest instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns UpdateAdUnitRequest instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IUpdateAdUnitRequest): google.ads.admanager.v1.UpdateAdUnitRequest;

                    /**
                     * Encodes the specified UpdateAdUnitRequest message. Does not implicitly {@link google.ads.admanager.v1.UpdateAdUnitRequest.verify|verify} messages.
                     * @param message UpdateAdUnitRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IUpdateAdUnitRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified UpdateAdUnitRequest message, length delimited. Does not implicitly {@link google.ads.admanager.v1.UpdateAdUnitRequest.verify|verify} messages.
                     * @param message UpdateAdUnitRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IUpdateAdUnitRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes an UpdateAdUnitRequest message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns UpdateAdUnitRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.UpdateAdUnitRequest;

                    /**
                     * Decodes an UpdateAdUnitRequest message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns UpdateAdUnitRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.UpdateAdUnitRequest;

                    /**
                     * Verifies an UpdateAdUnitRequest message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates an UpdateAdUnitRequest message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns UpdateAdUnitRequest
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.UpdateAdUnitRequest;

                    /**
                     * Creates a plain object from an UpdateAdUnitRequest message. Also converts values to other types if specified.
                     * @param message UpdateAdUnitRequest
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.UpdateAdUnitRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this UpdateAdUnitRequest to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for UpdateAdUnitRequest
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a BatchCreateAdUnitsRequest. */
                interface IBatchCreateAdUnitsRequest {

                    /** BatchCreateAdUnitsRequest parent */
                    parent?: (string|null);

                    /** BatchCreateAdUnitsRequest requests */
                    requests?: (google.ads.admanager.v1.ICreateAdUnitRequest[]|null);
                }

                /** Represents a BatchCreateAdUnitsRequest. */
                class BatchCreateAdUnitsRequest implements IBatchCreateAdUnitsRequest {

                    /**
                     * Constructs a new BatchCreateAdUnitsRequest.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IBatchCreateAdUnitsRequest);

                    /** BatchCreateAdUnitsRequest parent. */
                    public parent: string;

                    /** BatchCreateAdUnitsRequest requests. */
                    public requests: google.ads.admanager.v1.ICreateAdUnitRequest[];

                    /**
                     * Creates a new BatchCreateAdUnitsRequest instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns BatchCreateAdUnitsRequest instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IBatchCreateAdUnitsRequest): google.ads.admanager.v1.BatchCreateAdUnitsRequest;

                    /**
                     * Encodes the specified BatchCreateAdUnitsRequest message. Does not implicitly {@link google.ads.admanager.v1.BatchCreateAdUnitsRequest.verify|verify} messages.
                     * @param message BatchCreateAdUnitsRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IBatchCreateAdUnitsRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified BatchCreateAdUnitsRequest message, length delimited. Does not implicitly {@link google.ads.admanager.v1.BatchCreateAdUnitsRequest.verify|verify} messages.
                     * @param message BatchCreateAdUnitsRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IBatchCreateAdUnitsRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a BatchCreateAdUnitsRequest message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns BatchCreateAdUnitsRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.BatchCreateAdUnitsRequest;

                    /**
                     * Decodes a BatchCreateAdUnitsRequest message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns BatchCreateAdUnitsRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.BatchCreateAdUnitsRequest;

                    /**
                     * Verifies a BatchCreateAdUnitsRequest message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a BatchCreateAdUnitsRequest message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns BatchCreateAdUnitsRequest
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.BatchCreateAdUnitsRequest;

                    /**
                     * Creates a plain object from a BatchCreateAdUnitsRequest message. Also converts values to other types if specified.
                     * @param message BatchCreateAdUnitsRequest
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.BatchCreateAdUnitsRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this BatchCreateAdUnitsRequest to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for BatchCreateAdUnitsRequest
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a BatchCreateAdUnitsResponse. */
                interface IBatchCreateAdUnitsResponse {

                    /** BatchCreateAdUnitsResponse adUnits */
                    adUnits?: (google.ads.admanager.v1.IAdUnit[]|null);
                }

                /** Represents a BatchCreateAdUnitsResponse. */
                class BatchCreateAdUnitsResponse implements IBatchCreateAdUnitsResponse {

                    /**
                     * Constructs a new BatchCreateAdUnitsResponse.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IBatchCreateAdUnitsResponse);

                    /** BatchCreateAdUnitsResponse adUnits. */
                    public adUnits: google.ads.admanager.v1.IAdUnit[];

                    /**
                     * Creates a new BatchCreateAdUnitsResponse instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns BatchCreateAdUnitsResponse instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IBatchCreateAdUnitsResponse): google.ads.admanager.v1.BatchCreateAdUnitsResponse;

                    /**
                     * Encodes the specified BatchCreateAdUnitsResponse message. Does not implicitly {@link google.ads.admanager.v1.BatchCreateAdUnitsResponse.verify|verify} messages.
                     * @param message BatchCreateAdUnitsResponse message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IBatchCreateAdUnitsResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified BatchCreateAdUnitsResponse message, length delimited. Does not implicitly {@link google.ads.admanager.v1.BatchCreateAdUnitsResponse.verify|verify} messages.
                     * @param message BatchCreateAdUnitsResponse message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IBatchCreateAdUnitsResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a BatchCreateAdUnitsResponse message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns BatchCreateAdUnitsResponse
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.BatchCreateAdUnitsResponse;

                    /**
                     * Decodes a BatchCreateAdUnitsResponse message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns BatchCreateAdUnitsResponse
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.BatchCreateAdUnitsResponse;

                    /**
                     * Verifies a BatchCreateAdUnitsResponse message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a BatchCreateAdUnitsResponse message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns BatchCreateAdUnitsResponse
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.BatchCreateAdUnitsResponse;

                    /**
                     * Creates a plain object from a BatchCreateAdUnitsResponse message. Also converts values to other types if specified.
                     * @param message BatchCreateAdUnitsResponse
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.BatchCreateAdUnitsResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this BatchCreateAdUnitsResponse to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for BatchCreateAdUnitsResponse
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a BatchUpdateAdUnitsRequest. */
                interface IBatchUpdateAdUnitsRequest {

                    /** BatchUpdateAdUnitsRequest parent */
                    parent?: (string|null);

                    /** BatchUpdateAdUnitsRequest requests */
                    requests?: (google.ads.admanager.v1.IUpdateAdUnitRequest[]|null);
                }

                /** Represents a BatchUpdateAdUnitsRequest. */
                class BatchUpdateAdUnitsRequest implements IBatchUpdateAdUnitsRequest {

                    /**
                     * Constructs a new BatchUpdateAdUnitsRequest.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IBatchUpdateAdUnitsRequest);

                    /** BatchUpdateAdUnitsRequest parent. */
                    public parent: string;

                    /** BatchUpdateAdUnitsRequest requests. */
                    public requests: google.ads.admanager.v1.IUpdateAdUnitRequest[];

                    /**
                     * Creates a new BatchUpdateAdUnitsRequest instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns BatchUpdateAdUnitsRequest instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IBatchUpdateAdUnitsRequest): google.ads.admanager.v1.BatchUpdateAdUnitsRequest;

                    /**
                     * Encodes the specified BatchUpdateAdUnitsRequest message. Does not implicitly {@link google.ads.admanager.v1.BatchUpdateAdUnitsRequest.verify|verify} messages.
                     * @param message BatchUpdateAdUnitsRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IBatchUpdateAdUnitsRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified BatchUpdateAdUnitsRequest message, length delimited. Does not implicitly {@link google.ads.admanager.v1.BatchUpdateAdUnitsRequest.verify|verify} messages.
                     * @param message BatchUpdateAdUnitsRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IBatchUpdateAdUnitsRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a BatchUpdateAdUnitsRequest message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns BatchUpdateAdUnitsRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.BatchUpdateAdUnitsRequest;

                    /**
                     * Decodes a BatchUpdateAdUnitsRequest message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns BatchUpdateAdUnitsRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.BatchUpdateAdUnitsRequest;

                    /**
                     * Verifies a BatchUpdateAdUnitsRequest message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a BatchUpdateAdUnitsRequest message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns BatchUpdateAdUnitsRequest
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.BatchUpdateAdUnitsRequest;

                    /**
                     * Creates a plain object from a BatchUpdateAdUnitsRequest message. Also converts values to other types if specified.
                     * @param message BatchUpdateAdUnitsRequest
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.BatchUpdateAdUnitsRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this BatchUpdateAdUnitsRequest to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for BatchUpdateAdUnitsRequest
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a BatchUpdateAdUnitsResponse. */
                interface IBatchUpdateAdUnitsResponse {

                    /** BatchUpdateAdUnitsResponse adUnits */
                    adUnits?: (google.ads.admanager.v1.IAdUnit[]|null);
                }

                /** Represents a BatchUpdateAdUnitsResponse. */
                class BatchUpdateAdUnitsResponse implements IBatchUpdateAdUnitsResponse {

                    /**
                     * Constructs a new BatchUpdateAdUnitsResponse.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IBatchUpdateAdUnitsResponse);

                    /** BatchUpdateAdUnitsResponse adUnits. */
                    public adUnits: google.ads.admanager.v1.IAdUnit[];

                    /**
                     * Creates a new BatchUpdateAdUnitsResponse instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns BatchUpdateAdUnitsResponse instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IBatchUpdateAdUnitsResponse): google.ads.admanager.v1.BatchUpdateAdUnitsResponse;

                    /**
                     * Encodes the specified BatchUpdateAdUnitsResponse message. Does not implicitly {@link google.ads.admanager.v1.BatchUpdateAdUnitsResponse.verify|verify} messages.
                     * @param message BatchUpdateAdUnitsResponse message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IBatchUpdateAdUnitsResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified BatchUpdateAdUnitsResponse message, length delimited. Does not implicitly {@link google.ads.admanager.v1.BatchUpdateAdUnitsResponse.verify|verify} messages.
                     * @param message BatchUpdateAdUnitsResponse message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IBatchUpdateAdUnitsResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a BatchUpdateAdUnitsResponse message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns BatchUpdateAdUnitsResponse
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.BatchUpdateAdUnitsResponse;

                    /**
                     * Decodes a BatchUpdateAdUnitsResponse message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns BatchUpdateAdUnitsResponse
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.BatchUpdateAdUnitsResponse;

                    /**
                     * Verifies a BatchUpdateAdUnitsResponse message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a BatchUpdateAdUnitsResponse message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns BatchUpdateAdUnitsResponse
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.BatchUpdateAdUnitsResponse;

                    /**
                     * Creates a plain object from a BatchUpdateAdUnitsResponse message. Also converts values to other types if specified.
                     * @param message BatchUpdateAdUnitsResponse
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.BatchUpdateAdUnitsResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this BatchUpdateAdUnitsResponse to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for BatchUpdateAdUnitsResponse
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a ListAdUnitSizesRequest. */
                interface IListAdUnitSizesRequest {

                    /** ListAdUnitSizesRequest parent */
                    parent?: (string|null);

                    /** ListAdUnitSizesRequest pageSize */
                    pageSize?: (number|null);

                    /** ListAdUnitSizesRequest pageToken */
                    pageToken?: (string|null);

                    /** ListAdUnitSizesRequest filter */
                    filter?: (string|null);

                    /** ListAdUnitSizesRequest orderBy */
                    orderBy?: (string|null);

                    /** ListAdUnitSizesRequest skip */
                    skip?: (number|null);
                }

                /** Represents a ListAdUnitSizesRequest. */
                class ListAdUnitSizesRequest implements IListAdUnitSizesRequest {

                    /**
                     * Constructs a new ListAdUnitSizesRequest.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IListAdUnitSizesRequest);

                    /** ListAdUnitSizesRequest parent. */
                    public parent: string;

                    /** ListAdUnitSizesRequest pageSize. */
                    public pageSize: number;

                    /** ListAdUnitSizesRequest pageToken. */
                    public pageToken: string;

                    /** ListAdUnitSizesRequest filter. */
                    public filter: string;

                    /** ListAdUnitSizesRequest orderBy. */
                    public orderBy: string;

                    /** ListAdUnitSizesRequest skip. */
                    public skip: number;

                    /**
                     * Creates a new ListAdUnitSizesRequest instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns ListAdUnitSizesRequest instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IListAdUnitSizesRequest): google.ads.admanager.v1.ListAdUnitSizesRequest;

                    /**
                     * Encodes the specified ListAdUnitSizesRequest message. Does not implicitly {@link google.ads.admanager.v1.ListAdUnitSizesRequest.verify|verify} messages.
                     * @param message ListAdUnitSizesRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IListAdUnitSizesRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified ListAdUnitSizesRequest message, length delimited. Does not implicitly {@link google.ads.admanager.v1.ListAdUnitSizesRequest.verify|verify} messages.
                     * @param message ListAdUnitSizesRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IListAdUnitSizesRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a ListAdUnitSizesRequest message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns ListAdUnitSizesRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.ListAdUnitSizesRequest;

                    /**
                     * Decodes a ListAdUnitSizesRequest message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns ListAdUnitSizesRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.ListAdUnitSizesRequest;

                    /**
                     * Verifies a ListAdUnitSizesRequest message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a ListAdUnitSizesRequest message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns ListAdUnitSizesRequest
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.ListAdUnitSizesRequest;

                    /**
                     * Creates a plain object from a ListAdUnitSizesRequest message. Also converts values to other types if specified.
                     * @param message ListAdUnitSizesRequest
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.ListAdUnitSizesRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this ListAdUnitSizesRequest to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for ListAdUnitSizesRequest
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a ListAdUnitSizesResponse. */
                interface IListAdUnitSizesResponse {

                    /** ListAdUnitSizesResponse adUnitSizes */
                    adUnitSizes?: (google.ads.admanager.v1.IAdUnitSize[]|null);

                    /** ListAdUnitSizesResponse nextPageToken */
                    nextPageToken?: (string|null);

                    /** ListAdUnitSizesResponse totalSize */
                    totalSize?: (number|null);
                }

                /** Represents a ListAdUnitSizesResponse. */
                class ListAdUnitSizesResponse implements IListAdUnitSizesResponse {

                    /**
                     * Constructs a new ListAdUnitSizesResponse.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IListAdUnitSizesResponse);

                    /** ListAdUnitSizesResponse adUnitSizes. */
                    public adUnitSizes: google.ads.admanager.v1.IAdUnitSize[];

                    /** ListAdUnitSizesResponse nextPageToken. */
                    public nextPageToken: string;

                    /** ListAdUnitSizesResponse totalSize. */
                    public totalSize: number;

                    /**
                     * Creates a new ListAdUnitSizesResponse instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns ListAdUnitSizesResponse instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IListAdUnitSizesResponse): google.ads.admanager.v1.ListAdUnitSizesResponse;

                    /**
                     * Encodes the specified ListAdUnitSizesResponse message. Does not implicitly {@link google.ads.admanager.v1.ListAdUnitSizesResponse.verify|verify} messages.
                     * @param message ListAdUnitSizesResponse message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IListAdUnitSizesResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified ListAdUnitSizesResponse message, length delimited. Does not implicitly {@link google.ads.admanager.v1.ListAdUnitSizesResponse.verify|verify} messages.
                     * @param message ListAdUnitSizesResponse message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IListAdUnitSizesResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a ListAdUnitSizesResponse message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns ListAdUnitSizesResponse
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.ListAdUnitSizesResponse;

                    /**
                     * Decodes a ListAdUnitSizesResponse message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns ListAdUnitSizesResponse
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.ListAdUnitSizesResponse;

                    /**
                     * Verifies a ListAdUnitSizesResponse message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a ListAdUnitSizesResponse message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns ListAdUnitSizesResponse
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.ListAdUnitSizesResponse;

                    /**
                     * Creates a plain object from a ListAdUnitSizesResponse message. Also converts values to other types if specified.
                     * @param message ListAdUnitSizesResponse
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.ListAdUnitSizesResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this ListAdUnitSizesResponse to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for ListAdUnitSizesResponse
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a BatchActivateAdUnitsRequest. */
                interface IBatchActivateAdUnitsRequest {

                    /** BatchActivateAdUnitsRequest parent */
                    parent?: (string|null);

                    /** BatchActivateAdUnitsRequest names */
                    names?: (string[]|null);
                }

                /** Represents a BatchActivateAdUnitsRequest. */
                class BatchActivateAdUnitsRequest implements IBatchActivateAdUnitsRequest {

                    /**
                     * Constructs a new BatchActivateAdUnitsRequest.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IBatchActivateAdUnitsRequest);

                    /** BatchActivateAdUnitsRequest parent. */
                    public parent: string;

                    /** BatchActivateAdUnitsRequest names. */
                    public names: string[];

                    /**
                     * Creates a new BatchActivateAdUnitsRequest instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns BatchActivateAdUnitsRequest instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IBatchActivateAdUnitsRequest): google.ads.admanager.v1.BatchActivateAdUnitsRequest;

                    /**
                     * Encodes the specified BatchActivateAdUnitsRequest message. Does not implicitly {@link google.ads.admanager.v1.BatchActivateAdUnitsRequest.verify|verify} messages.
                     * @param message BatchActivateAdUnitsRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IBatchActivateAdUnitsRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified BatchActivateAdUnitsRequest message, length delimited. Does not implicitly {@link google.ads.admanager.v1.BatchActivateAdUnitsRequest.verify|verify} messages.
                     * @param message BatchActivateAdUnitsRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IBatchActivateAdUnitsRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a BatchActivateAdUnitsRequest message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns BatchActivateAdUnitsRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.BatchActivateAdUnitsRequest;

                    /**
                     * Decodes a BatchActivateAdUnitsRequest message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns BatchActivateAdUnitsRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.BatchActivateAdUnitsRequest;

                    /**
                     * Verifies a BatchActivateAdUnitsRequest message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a BatchActivateAdUnitsRequest message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns BatchActivateAdUnitsRequest
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.BatchActivateAdUnitsRequest;

                    /**
                     * Creates a plain object from a BatchActivateAdUnitsRequest message. Also converts values to other types if specified.
                     * @param message BatchActivateAdUnitsRequest
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.BatchActivateAdUnitsRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this BatchActivateAdUnitsRequest to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for BatchActivateAdUnitsRequest
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a BatchActivateAdUnitsResponse. */
                interface IBatchActivateAdUnitsResponse {
                }

                /** Represents a BatchActivateAdUnitsResponse. */
                class BatchActivateAdUnitsResponse implements IBatchActivateAdUnitsResponse {

                    /**
                     * Constructs a new BatchActivateAdUnitsResponse.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IBatchActivateAdUnitsResponse);

                    /**
                     * Creates a new BatchActivateAdUnitsResponse instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns BatchActivateAdUnitsResponse instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IBatchActivateAdUnitsResponse): google.ads.admanager.v1.BatchActivateAdUnitsResponse;

                    /**
                     * Encodes the specified BatchActivateAdUnitsResponse message. Does not implicitly {@link google.ads.admanager.v1.BatchActivateAdUnitsResponse.verify|verify} messages.
                     * @param message BatchActivateAdUnitsResponse message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IBatchActivateAdUnitsResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified BatchActivateAdUnitsResponse message, length delimited. Does not implicitly {@link google.ads.admanager.v1.BatchActivateAdUnitsResponse.verify|verify} messages.
                     * @param message BatchActivateAdUnitsResponse message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IBatchActivateAdUnitsResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a BatchActivateAdUnitsResponse message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns BatchActivateAdUnitsResponse
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.BatchActivateAdUnitsResponse;

                    /**
                     * Decodes a BatchActivateAdUnitsResponse message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns BatchActivateAdUnitsResponse
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.BatchActivateAdUnitsResponse;

                    /**
                     * Verifies a BatchActivateAdUnitsResponse message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a BatchActivateAdUnitsResponse message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns BatchActivateAdUnitsResponse
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.BatchActivateAdUnitsResponse;

                    /**
                     * Creates a plain object from a BatchActivateAdUnitsResponse message. Also converts values to other types if specified.
                     * @param message BatchActivateAdUnitsResponse
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.BatchActivateAdUnitsResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this BatchActivateAdUnitsResponse to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for BatchActivateAdUnitsResponse
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a BatchDeactivateAdUnitsRequest. */
                interface IBatchDeactivateAdUnitsRequest {

                    /** BatchDeactivateAdUnitsRequest parent */
                    parent?: (string|null);

                    /** BatchDeactivateAdUnitsRequest names */
                    names?: (string[]|null);
                }

                /** Represents a BatchDeactivateAdUnitsRequest. */
                class BatchDeactivateAdUnitsRequest implements IBatchDeactivateAdUnitsRequest {

                    /**
                     * Constructs a new BatchDeactivateAdUnitsRequest.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IBatchDeactivateAdUnitsRequest);

                    /** BatchDeactivateAdUnitsRequest parent. */
                    public parent: string;

                    /** BatchDeactivateAdUnitsRequest names. */
                    public names: string[];

                    /**
                     * Creates a new BatchDeactivateAdUnitsRequest instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns BatchDeactivateAdUnitsRequest instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IBatchDeactivateAdUnitsRequest): google.ads.admanager.v1.BatchDeactivateAdUnitsRequest;

                    /**
                     * Encodes the specified BatchDeactivateAdUnitsRequest message. Does not implicitly {@link google.ads.admanager.v1.BatchDeactivateAdUnitsRequest.verify|verify} messages.
                     * @param message BatchDeactivateAdUnitsRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IBatchDeactivateAdUnitsRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified BatchDeactivateAdUnitsRequest message, length delimited. Does not implicitly {@link google.ads.admanager.v1.BatchDeactivateAdUnitsRequest.verify|verify} messages.
                     * @param message BatchDeactivateAdUnitsRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IBatchDeactivateAdUnitsRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a BatchDeactivateAdUnitsRequest message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns BatchDeactivateAdUnitsRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.BatchDeactivateAdUnitsRequest;

                    /**
                     * Decodes a BatchDeactivateAdUnitsRequest message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns BatchDeactivateAdUnitsRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.BatchDeactivateAdUnitsRequest;

                    /**
                     * Verifies a BatchDeactivateAdUnitsRequest message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a BatchDeactivateAdUnitsRequest message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns BatchDeactivateAdUnitsRequest
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.BatchDeactivateAdUnitsRequest;

                    /**
                     * Creates a plain object from a BatchDeactivateAdUnitsRequest message. Also converts values to other types if specified.
                     * @param message BatchDeactivateAdUnitsRequest
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.BatchDeactivateAdUnitsRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this BatchDeactivateAdUnitsRequest to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for BatchDeactivateAdUnitsRequest
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a BatchDeactivateAdUnitsResponse. */
                interface IBatchDeactivateAdUnitsResponse {
                }

                /** Represents a BatchDeactivateAdUnitsResponse. */
                class BatchDeactivateAdUnitsResponse implements IBatchDeactivateAdUnitsResponse {

                    /**
                     * Constructs a new BatchDeactivateAdUnitsResponse.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IBatchDeactivateAdUnitsResponse);

                    /**
                     * Creates a new BatchDeactivateAdUnitsResponse instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns BatchDeactivateAdUnitsResponse instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IBatchDeactivateAdUnitsResponse): google.ads.admanager.v1.BatchDeactivateAdUnitsResponse;

                    /**
                     * Encodes the specified BatchDeactivateAdUnitsResponse message. Does not implicitly {@link google.ads.admanager.v1.BatchDeactivateAdUnitsResponse.verify|verify} messages.
                     * @param message BatchDeactivateAdUnitsResponse message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IBatchDeactivateAdUnitsResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified BatchDeactivateAdUnitsResponse message, length delimited. Does not implicitly {@link google.ads.admanager.v1.BatchDeactivateAdUnitsResponse.verify|verify} messages.
                     * @param message BatchDeactivateAdUnitsResponse message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IBatchDeactivateAdUnitsResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a BatchDeactivateAdUnitsResponse message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns BatchDeactivateAdUnitsResponse
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.BatchDeactivateAdUnitsResponse;

                    /**
                     * Decodes a BatchDeactivateAdUnitsResponse message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns BatchDeactivateAdUnitsResponse
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.BatchDeactivateAdUnitsResponse;

                    /**
                     * Verifies a BatchDeactivateAdUnitsResponse message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a BatchDeactivateAdUnitsResponse message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns BatchDeactivateAdUnitsResponse
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.BatchDeactivateAdUnitsResponse;

                    /**
                     * Creates a plain object from a BatchDeactivateAdUnitsResponse message. Also converts values to other types if specified.
                     * @param message BatchDeactivateAdUnitsResponse
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.BatchDeactivateAdUnitsResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this BatchDeactivateAdUnitsResponse to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for BatchDeactivateAdUnitsResponse
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a BatchArchiveAdUnitsRequest. */
                interface IBatchArchiveAdUnitsRequest {

                    /** BatchArchiveAdUnitsRequest parent */
                    parent?: (string|null);

                    /** BatchArchiveAdUnitsRequest names */
                    names?: (string[]|null);
                }

                /** Represents a BatchArchiveAdUnitsRequest. */
                class BatchArchiveAdUnitsRequest implements IBatchArchiveAdUnitsRequest {

                    /**
                     * Constructs a new BatchArchiveAdUnitsRequest.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IBatchArchiveAdUnitsRequest);

                    /** BatchArchiveAdUnitsRequest parent. */
                    public parent: string;

                    /** BatchArchiveAdUnitsRequest names. */
                    public names: string[];

                    /**
                     * Creates a new BatchArchiveAdUnitsRequest instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns BatchArchiveAdUnitsRequest instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IBatchArchiveAdUnitsRequest): google.ads.admanager.v1.BatchArchiveAdUnitsRequest;

                    /**
                     * Encodes the specified BatchArchiveAdUnitsRequest message. Does not implicitly {@link google.ads.admanager.v1.BatchArchiveAdUnitsRequest.verify|verify} messages.
                     * @param message BatchArchiveAdUnitsRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IBatchArchiveAdUnitsRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified BatchArchiveAdUnitsRequest message, length delimited. Does not implicitly {@link google.ads.admanager.v1.BatchArchiveAdUnitsRequest.verify|verify} messages.
                     * @param message BatchArchiveAdUnitsRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IBatchArchiveAdUnitsRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a BatchArchiveAdUnitsRequest message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns BatchArchiveAdUnitsRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.BatchArchiveAdUnitsRequest;

                    /**
                     * Decodes a BatchArchiveAdUnitsRequest message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns BatchArchiveAdUnitsRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.BatchArchiveAdUnitsRequest;

                    /**
                     * Verifies a BatchArchiveAdUnitsRequest message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a BatchArchiveAdUnitsRequest message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns BatchArchiveAdUnitsRequest
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.BatchArchiveAdUnitsRequest;

                    /**
                     * Creates a plain object from a BatchArchiveAdUnitsRequest message. Also converts values to other types if specified.
                     * @param message BatchArchiveAdUnitsRequest
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.BatchArchiveAdUnitsRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this BatchArchiveAdUnitsRequest to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for BatchArchiveAdUnitsRequest
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a BatchArchiveAdUnitsResponse. */
                interface IBatchArchiveAdUnitsResponse {
                }

                /** Represents a BatchArchiveAdUnitsResponse. */
                class BatchArchiveAdUnitsResponse implements IBatchArchiveAdUnitsResponse {

                    /**
                     * Constructs a new BatchArchiveAdUnitsResponse.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IBatchArchiveAdUnitsResponse);

                    /**
                     * Creates a new BatchArchiveAdUnitsResponse instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns BatchArchiveAdUnitsResponse instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IBatchArchiveAdUnitsResponse): google.ads.admanager.v1.BatchArchiveAdUnitsResponse;

                    /**
                     * Encodes the specified BatchArchiveAdUnitsResponse message. Does not implicitly {@link google.ads.admanager.v1.BatchArchiveAdUnitsResponse.verify|verify} messages.
                     * @param message BatchArchiveAdUnitsResponse message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IBatchArchiveAdUnitsResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified BatchArchiveAdUnitsResponse message, length delimited. Does not implicitly {@link google.ads.admanager.v1.BatchArchiveAdUnitsResponse.verify|verify} messages.
                     * @param message BatchArchiveAdUnitsResponse message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IBatchArchiveAdUnitsResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a BatchArchiveAdUnitsResponse message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns BatchArchiveAdUnitsResponse
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.BatchArchiveAdUnitsResponse;

                    /**
                     * Decodes a BatchArchiveAdUnitsResponse message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns BatchArchiveAdUnitsResponse
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.BatchArchiveAdUnitsResponse;

                    /**
                     * Verifies a BatchArchiveAdUnitsResponse message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a BatchArchiveAdUnitsResponse message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns BatchArchiveAdUnitsResponse
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.BatchArchiveAdUnitsResponse;

                    /**
                     * Creates a plain object from a BatchArchiveAdUnitsResponse message. Also converts values to other types if specified.
                     * @param message BatchArchiveAdUnitsResponse
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.BatchArchiveAdUnitsResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this BatchArchiveAdUnitsResponse to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for BatchArchiveAdUnitsResponse
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of an AdManagerError. */
                interface IAdManagerError {

                    /** AdManagerError errorCode */
                    errorCode?: (string|null);

                    /** AdManagerError message */
                    message?: (string|null);

                    /** AdManagerError fieldPath */
                    fieldPath?: (string|null);

                    /** AdManagerError trigger */
                    trigger?: (string|null);

                    /** AdManagerError stackTrace */
                    stackTrace?: (string|null);

                    /** AdManagerError details */
                    details?: (google.protobuf.IAny[]|null);
                }

                /** Represents an AdManagerError. */
                class AdManagerError implements IAdManagerError {

                    /**
                     * Constructs a new AdManagerError.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IAdManagerError);

                    /** AdManagerError errorCode. */
                    public errorCode: string;

                    /** AdManagerError message. */
                    public message: string;

                    /** AdManagerError fieldPath. */
                    public fieldPath: string;

                    /** AdManagerError trigger. */
                    public trigger: string;

                    /** AdManagerError stackTrace. */
                    public stackTrace: string;

                    /** AdManagerError details. */
                    public details: google.protobuf.IAny[];

                    /**
                     * Creates a new AdManagerError instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns AdManagerError instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IAdManagerError): google.ads.admanager.v1.AdManagerError;

                    /**
                     * Encodes the specified AdManagerError message. Does not implicitly {@link google.ads.admanager.v1.AdManagerError.verify|verify} messages.
                     * @param message AdManagerError message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IAdManagerError, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified AdManagerError message, length delimited. Does not implicitly {@link google.ads.admanager.v1.AdManagerError.verify|verify} messages.
                     * @param message AdManagerError message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IAdManagerError, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes an AdManagerError message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns AdManagerError
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.AdManagerError;

                    /**
                     * Decodes an AdManagerError message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns AdManagerError
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.AdManagerError;

                    /**
                     * Verifies an AdManagerError message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates an AdManagerError message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns AdManagerError
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.AdManagerError;

                    /**
                     * Creates a plain object from an AdManagerError message. Also converts values to other types if specified.
                     * @param message AdManagerError
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.AdManagerError, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this AdManagerError to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for AdManagerError
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of an Application. */
                interface IApplication {

                    /** Application name */
                    name?: (string|null);

                    /** Application displayName */
                    displayName?: (string|null);
                }

                /** Represents an Application. */
                class Application implements IApplication {

                    /**
                     * Constructs a new Application.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IApplication);

                    /** Application name. */
                    public name: string;

                    /** Application displayName. */
                    public displayName?: (string|null);

                    /**
                     * Creates a new Application instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns Application instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IApplication): google.ads.admanager.v1.Application;

                    /**
                     * Encodes the specified Application message. Does not implicitly {@link google.ads.admanager.v1.Application.verify|verify} messages.
                     * @param message Application message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IApplication, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified Application message, length delimited. Does not implicitly {@link google.ads.admanager.v1.Application.verify|verify} messages.
                     * @param message Application message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IApplication, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes an Application message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns Application
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.Application;

                    /**
                     * Decodes an Application message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns Application
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.Application;

                    /**
                     * Verifies an Application message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates an Application message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns Application
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.Application;

                    /**
                     * Creates a plain object from an Application message. Also converts values to other types if specified.
                     * @param message Application
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.Application, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this Application to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for Application
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Represents an ApplicationService */
                class ApplicationService extends $protobuf.rpc.Service {

                    /**
                     * Constructs a new ApplicationService service.
                     * @param rpcImpl RPC implementation
                     * @param [requestDelimited=false] Whether requests are length-delimited
                     * @param [responseDelimited=false] Whether responses are length-delimited
                     */
                    constructor(rpcImpl: $protobuf.RPCImpl, requestDelimited?: boolean, responseDelimited?: boolean);

                    /**
                     * Creates new ApplicationService service using the specified rpc implementation.
                     * @param rpcImpl RPC implementation
                     * @param [requestDelimited=false] Whether requests are length-delimited
                     * @param [responseDelimited=false] Whether responses are length-delimited
                     * @returns RPC service. Useful where requests and/or responses are streamed.
                     */
                    public static create(rpcImpl: $protobuf.RPCImpl, requestDelimited?: boolean, responseDelimited?: boolean): ApplicationService;

                    /**
                     * Calls GetApplication.
                     * @param request GetApplicationRequest message or plain object
                     * @param callback Node-style callback called with the error, if any, and Application
                     */
                    public getApplication(request: google.ads.admanager.v1.IGetApplicationRequest, callback: google.ads.admanager.v1.ApplicationService.GetApplicationCallback): void;

                    /**
                     * Calls GetApplication.
                     * @param request GetApplicationRequest message or plain object
                     * @returns Promise
                     */
                    public getApplication(request: google.ads.admanager.v1.IGetApplicationRequest): Promise<google.ads.admanager.v1.Application>;

                    /**
                     * Calls ListApplications.
                     * @param request ListApplicationsRequest message or plain object
                     * @param callback Node-style callback called with the error, if any, and ListApplicationsResponse
                     */
                    public listApplications(request: google.ads.admanager.v1.IListApplicationsRequest, callback: google.ads.admanager.v1.ApplicationService.ListApplicationsCallback): void;

                    /**
                     * Calls ListApplications.
                     * @param request ListApplicationsRequest message or plain object
                     * @returns Promise
                     */
                    public listApplications(request: google.ads.admanager.v1.IListApplicationsRequest): Promise<google.ads.admanager.v1.ListApplicationsResponse>;
                }

                namespace ApplicationService {

                    /**
                     * Callback as used by {@link google.ads.admanager.v1.ApplicationService|getApplication}.
                     * @param error Error, if any
                     * @param [response] Application
                     */
                    type GetApplicationCallback = (error: (Error|null), response?: google.ads.admanager.v1.Application) => void;

                    /**
                     * Callback as used by {@link google.ads.admanager.v1.ApplicationService|listApplications}.
                     * @param error Error, if any
                     * @param [response] ListApplicationsResponse
                     */
                    type ListApplicationsCallback = (error: (Error|null), response?: google.ads.admanager.v1.ListApplicationsResponse) => void;
                }

                /** Properties of a GetApplicationRequest. */
                interface IGetApplicationRequest {

                    /** GetApplicationRequest name */
                    name?: (string|null);
                }

                /** Represents a GetApplicationRequest. */
                class GetApplicationRequest implements IGetApplicationRequest {

                    /**
                     * Constructs a new GetApplicationRequest.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IGetApplicationRequest);

                    /** GetApplicationRequest name. */
                    public name: string;

                    /**
                     * Creates a new GetApplicationRequest instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns GetApplicationRequest instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IGetApplicationRequest): google.ads.admanager.v1.GetApplicationRequest;

                    /**
                     * Encodes the specified GetApplicationRequest message. Does not implicitly {@link google.ads.admanager.v1.GetApplicationRequest.verify|verify} messages.
                     * @param message GetApplicationRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IGetApplicationRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified GetApplicationRequest message, length delimited. Does not implicitly {@link google.ads.admanager.v1.GetApplicationRequest.verify|verify} messages.
                     * @param message GetApplicationRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IGetApplicationRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a GetApplicationRequest message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns GetApplicationRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.GetApplicationRequest;

                    /**
                     * Decodes a GetApplicationRequest message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns GetApplicationRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.GetApplicationRequest;

                    /**
                     * Verifies a GetApplicationRequest message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a GetApplicationRequest message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns GetApplicationRequest
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.GetApplicationRequest;

                    /**
                     * Creates a plain object from a GetApplicationRequest message. Also converts values to other types if specified.
                     * @param message GetApplicationRequest
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.GetApplicationRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this GetApplicationRequest to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for GetApplicationRequest
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a ListApplicationsRequest. */
                interface IListApplicationsRequest {

                    /** ListApplicationsRequest parent */
                    parent?: (string|null);

                    /** ListApplicationsRequest pageSize */
                    pageSize?: (number|null);

                    /** ListApplicationsRequest pageToken */
                    pageToken?: (string|null);

                    /** ListApplicationsRequest filter */
                    filter?: (string|null);

                    /** ListApplicationsRequest orderBy */
                    orderBy?: (string|null);

                    /** ListApplicationsRequest skip */
                    skip?: (number|null);
                }

                /** Represents a ListApplicationsRequest. */
                class ListApplicationsRequest implements IListApplicationsRequest {

                    /**
                     * Constructs a new ListApplicationsRequest.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IListApplicationsRequest);

                    /** ListApplicationsRequest parent. */
                    public parent: string;

                    /** ListApplicationsRequest pageSize. */
                    public pageSize: number;

                    /** ListApplicationsRequest pageToken. */
                    public pageToken: string;

                    /** ListApplicationsRequest filter. */
                    public filter: string;

                    /** ListApplicationsRequest orderBy. */
                    public orderBy: string;

                    /** ListApplicationsRequest skip. */
                    public skip: number;

                    /**
                     * Creates a new ListApplicationsRequest instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns ListApplicationsRequest instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IListApplicationsRequest): google.ads.admanager.v1.ListApplicationsRequest;

                    /**
                     * Encodes the specified ListApplicationsRequest message. Does not implicitly {@link google.ads.admanager.v1.ListApplicationsRequest.verify|verify} messages.
                     * @param message ListApplicationsRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IListApplicationsRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified ListApplicationsRequest message, length delimited. Does not implicitly {@link google.ads.admanager.v1.ListApplicationsRequest.verify|verify} messages.
                     * @param message ListApplicationsRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IListApplicationsRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a ListApplicationsRequest message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns ListApplicationsRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.ListApplicationsRequest;

                    /**
                     * Decodes a ListApplicationsRequest message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns ListApplicationsRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.ListApplicationsRequest;

                    /**
                     * Verifies a ListApplicationsRequest message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a ListApplicationsRequest message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns ListApplicationsRequest
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.ListApplicationsRequest;

                    /**
                     * Creates a plain object from a ListApplicationsRequest message. Also converts values to other types if specified.
                     * @param message ListApplicationsRequest
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.ListApplicationsRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this ListApplicationsRequest to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for ListApplicationsRequest
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a ListApplicationsResponse. */
                interface IListApplicationsResponse {

                    /** ListApplicationsResponse applications */
                    applications?: (google.ads.admanager.v1.IApplication[]|null);

                    /** ListApplicationsResponse nextPageToken */
                    nextPageToken?: (string|null);

                    /** ListApplicationsResponse totalSize */
                    totalSize?: (number|null);
                }

                /** Represents a ListApplicationsResponse. */
                class ListApplicationsResponse implements IListApplicationsResponse {

                    /**
                     * Constructs a new ListApplicationsResponse.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IListApplicationsResponse);

                    /** ListApplicationsResponse applications. */
                    public applications: google.ads.admanager.v1.IApplication[];

                    /** ListApplicationsResponse nextPageToken. */
                    public nextPageToken: string;

                    /** ListApplicationsResponse totalSize. */
                    public totalSize: number;

                    /**
                     * Creates a new ListApplicationsResponse instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns ListApplicationsResponse instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IListApplicationsResponse): google.ads.admanager.v1.ListApplicationsResponse;

                    /**
                     * Encodes the specified ListApplicationsResponse message. Does not implicitly {@link google.ads.admanager.v1.ListApplicationsResponse.verify|verify} messages.
                     * @param message ListApplicationsResponse message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IListApplicationsResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified ListApplicationsResponse message, length delimited. Does not implicitly {@link google.ads.admanager.v1.ListApplicationsResponse.verify|verify} messages.
                     * @param message ListApplicationsResponse message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IListApplicationsResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a ListApplicationsResponse message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns ListApplicationsResponse
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.ListApplicationsResponse;

                    /**
                     * Decodes a ListApplicationsResponse message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns ListApplicationsResponse
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.ListApplicationsResponse;

                    /**
                     * Verifies a ListApplicationsResponse message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a ListApplicationsResponse message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns ListApplicationsResponse
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.ListApplicationsResponse;

                    /**
                     * Creates a plain object from a ListApplicationsResponse message. Also converts values to other types if specified.
                     * @param message ListApplicationsResponse
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.ListApplicationsResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this ListApplicationsResponse to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for ListApplicationsResponse
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of an AudienceSegment. */
                interface IAudienceSegment {

                    /** AudienceSegment name */
                    name?: (string|null);

                    /** AudienceSegment displayName */
                    displayName?: (string|null);
                }

                /** Represents an AudienceSegment. */
                class AudienceSegment implements IAudienceSegment {

                    /**
                     * Constructs a new AudienceSegment.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IAudienceSegment);

                    /** AudienceSegment name. */
                    public name: string;

                    /** AudienceSegment displayName. */
                    public displayName?: (string|null);

                    /**
                     * Creates a new AudienceSegment instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns AudienceSegment instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IAudienceSegment): google.ads.admanager.v1.AudienceSegment;

                    /**
                     * Encodes the specified AudienceSegment message. Does not implicitly {@link google.ads.admanager.v1.AudienceSegment.verify|verify} messages.
                     * @param message AudienceSegment message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IAudienceSegment, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified AudienceSegment message, length delimited. Does not implicitly {@link google.ads.admanager.v1.AudienceSegment.verify|verify} messages.
                     * @param message AudienceSegment message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IAudienceSegment, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes an AudienceSegment message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns AudienceSegment
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.AudienceSegment;

                    /**
                     * Decodes an AudienceSegment message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns AudienceSegment
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.AudienceSegment;

                    /**
                     * Verifies an AudienceSegment message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates an AudienceSegment message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns AudienceSegment
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.AudienceSegment;

                    /**
                     * Creates a plain object from an AudienceSegment message. Also converts values to other types if specified.
                     * @param message AudienceSegment
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.AudienceSegment, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this AudienceSegment to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for AudienceSegment
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Represents an AudienceSegmentService */
                class AudienceSegmentService extends $protobuf.rpc.Service {

                    /**
                     * Constructs a new AudienceSegmentService service.
                     * @param rpcImpl RPC implementation
                     * @param [requestDelimited=false] Whether requests are length-delimited
                     * @param [responseDelimited=false] Whether responses are length-delimited
                     */
                    constructor(rpcImpl: $protobuf.RPCImpl, requestDelimited?: boolean, responseDelimited?: boolean);

                    /**
                     * Creates new AudienceSegmentService service using the specified rpc implementation.
                     * @param rpcImpl RPC implementation
                     * @param [requestDelimited=false] Whether requests are length-delimited
                     * @param [responseDelimited=false] Whether responses are length-delimited
                     * @returns RPC service. Useful where requests and/or responses are streamed.
                     */
                    public static create(rpcImpl: $protobuf.RPCImpl, requestDelimited?: boolean, responseDelimited?: boolean): AudienceSegmentService;

                    /**
                     * Calls GetAudienceSegment.
                     * @param request GetAudienceSegmentRequest message or plain object
                     * @param callback Node-style callback called with the error, if any, and AudienceSegment
                     */
                    public getAudienceSegment(request: google.ads.admanager.v1.IGetAudienceSegmentRequest, callback: google.ads.admanager.v1.AudienceSegmentService.GetAudienceSegmentCallback): void;

                    /**
                     * Calls GetAudienceSegment.
                     * @param request GetAudienceSegmentRequest message or plain object
                     * @returns Promise
                     */
                    public getAudienceSegment(request: google.ads.admanager.v1.IGetAudienceSegmentRequest): Promise<google.ads.admanager.v1.AudienceSegment>;

                    /**
                     * Calls ListAudienceSegments.
                     * @param request ListAudienceSegmentsRequest message or plain object
                     * @param callback Node-style callback called with the error, if any, and ListAudienceSegmentsResponse
                     */
                    public listAudienceSegments(request: google.ads.admanager.v1.IListAudienceSegmentsRequest, callback: google.ads.admanager.v1.AudienceSegmentService.ListAudienceSegmentsCallback): void;

                    /**
                     * Calls ListAudienceSegments.
                     * @param request ListAudienceSegmentsRequest message or plain object
                     * @returns Promise
                     */
                    public listAudienceSegments(request: google.ads.admanager.v1.IListAudienceSegmentsRequest): Promise<google.ads.admanager.v1.ListAudienceSegmentsResponse>;
                }

                namespace AudienceSegmentService {

                    /**
                     * Callback as used by {@link google.ads.admanager.v1.AudienceSegmentService|getAudienceSegment}.
                     * @param error Error, if any
                     * @param [response] AudienceSegment
                     */
                    type GetAudienceSegmentCallback = (error: (Error|null), response?: google.ads.admanager.v1.AudienceSegment) => void;

                    /**
                     * Callback as used by {@link google.ads.admanager.v1.AudienceSegmentService|listAudienceSegments}.
                     * @param error Error, if any
                     * @param [response] ListAudienceSegmentsResponse
                     */
                    type ListAudienceSegmentsCallback = (error: (Error|null), response?: google.ads.admanager.v1.ListAudienceSegmentsResponse) => void;
                }

                /** Properties of a GetAudienceSegmentRequest. */
                interface IGetAudienceSegmentRequest {

                    /** GetAudienceSegmentRequest name */
                    name?: (string|null);
                }

                /** Represents a GetAudienceSegmentRequest. */
                class GetAudienceSegmentRequest implements IGetAudienceSegmentRequest {

                    /**
                     * Constructs a new GetAudienceSegmentRequest.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IGetAudienceSegmentRequest);

                    /** GetAudienceSegmentRequest name. */
                    public name: string;

                    /**
                     * Creates a new GetAudienceSegmentRequest instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns GetAudienceSegmentRequest instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IGetAudienceSegmentRequest): google.ads.admanager.v1.GetAudienceSegmentRequest;

                    /**
                     * Encodes the specified GetAudienceSegmentRequest message. Does not implicitly {@link google.ads.admanager.v1.GetAudienceSegmentRequest.verify|verify} messages.
                     * @param message GetAudienceSegmentRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IGetAudienceSegmentRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified GetAudienceSegmentRequest message, length delimited. Does not implicitly {@link google.ads.admanager.v1.GetAudienceSegmentRequest.verify|verify} messages.
                     * @param message GetAudienceSegmentRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IGetAudienceSegmentRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a GetAudienceSegmentRequest message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns GetAudienceSegmentRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.GetAudienceSegmentRequest;

                    /**
                     * Decodes a GetAudienceSegmentRequest message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns GetAudienceSegmentRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.GetAudienceSegmentRequest;

                    /**
                     * Verifies a GetAudienceSegmentRequest message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a GetAudienceSegmentRequest message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns GetAudienceSegmentRequest
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.GetAudienceSegmentRequest;

                    /**
                     * Creates a plain object from a GetAudienceSegmentRequest message. Also converts values to other types if specified.
                     * @param message GetAudienceSegmentRequest
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.GetAudienceSegmentRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this GetAudienceSegmentRequest to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for GetAudienceSegmentRequest
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a ListAudienceSegmentsRequest. */
                interface IListAudienceSegmentsRequest {

                    /** ListAudienceSegmentsRequest parent */
                    parent?: (string|null);

                    /** ListAudienceSegmentsRequest pageSize */
                    pageSize?: (number|null);

                    /** ListAudienceSegmentsRequest pageToken */
                    pageToken?: (string|null);

                    /** ListAudienceSegmentsRequest filter */
                    filter?: (string|null);

                    /** ListAudienceSegmentsRequest orderBy */
                    orderBy?: (string|null);

                    /** ListAudienceSegmentsRequest skip */
                    skip?: (number|null);
                }

                /** Represents a ListAudienceSegmentsRequest. */
                class ListAudienceSegmentsRequest implements IListAudienceSegmentsRequest {

                    /**
                     * Constructs a new ListAudienceSegmentsRequest.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IListAudienceSegmentsRequest);

                    /** ListAudienceSegmentsRequest parent. */
                    public parent: string;

                    /** ListAudienceSegmentsRequest pageSize. */
                    public pageSize: number;

                    /** ListAudienceSegmentsRequest pageToken. */
                    public pageToken: string;

                    /** ListAudienceSegmentsRequest filter. */
                    public filter: string;

                    /** ListAudienceSegmentsRequest orderBy. */
                    public orderBy: string;

                    /** ListAudienceSegmentsRequest skip. */
                    public skip: number;

                    /**
                     * Creates a new ListAudienceSegmentsRequest instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns ListAudienceSegmentsRequest instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IListAudienceSegmentsRequest): google.ads.admanager.v1.ListAudienceSegmentsRequest;

                    /**
                     * Encodes the specified ListAudienceSegmentsRequest message. Does not implicitly {@link google.ads.admanager.v1.ListAudienceSegmentsRequest.verify|verify} messages.
                     * @param message ListAudienceSegmentsRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IListAudienceSegmentsRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified ListAudienceSegmentsRequest message, length delimited. Does not implicitly {@link google.ads.admanager.v1.ListAudienceSegmentsRequest.verify|verify} messages.
                     * @param message ListAudienceSegmentsRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IListAudienceSegmentsRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a ListAudienceSegmentsRequest message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns ListAudienceSegmentsRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.ListAudienceSegmentsRequest;

                    /**
                     * Decodes a ListAudienceSegmentsRequest message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns ListAudienceSegmentsRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.ListAudienceSegmentsRequest;

                    /**
                     * Verifies a ListAudienceSegmentsRequest message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a ListAudienceSegmentsRequest message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns ListAudienceSegmentsRequest
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.ListAudienceSegmentsRequest;

                    /**
                     * Creates a plain object from a ListAudienceSegmentsRequest message. Also converts values to other types if specified.
                     * @param message ListAudienceSegmentsRequest
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.ListAudienceSegmentsRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this ListAudienceSegmentsRequest to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for ListAudienceSegmentsRequest
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a ListAudienceSegmentsResponse. */
                interface IListAudienceSegmentsResponse {

                    /** ListAudienceSegmentsResponse audienceSegments */
                    audienceSegments?: (google.ads.admanager.v1.IAudienceSegment[]|null);

                    /** ListAudienceSegmentsResponse nextPageToken */
                    nextPageToken?: (string|null);

                    /** ListAudienceSegmentsResponse totalSize */
                    totalSize?: (number|null);
                }

                /** Represents a ListAudienceSegmentsResponse. */
                class ListAudienceSegmentsResponse implements IListAudienceSegmentsResponse {

                    /**
                     * Constructs a new ListAudienceSegmentsResponse.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IListAudienceSegmentsResponse);

                    /** ListAudienceSegmentsResponse audienceSegments. */
                    public audienceSegments: google.ads.admanager.v1.IAudienceSegment[];

                    /** ListAudienceSegmentsResponse nextPageToken. */
                    public nextPageToken: string;

                    /** ListAudienceSegmentsResponse totalSize. */
                    public totalSize: number;

                    /**
                     * Creates a new ListAudienceSegmentsResponse instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns ListAudienceSegmentsResponse instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IListAudienceSegmentsResponse): google.ads.admanager.v1.ListAudienceSegmentsResponse;

                    /**
                     * Encodes the specified ListAudienceSegmentsResponse message. Does not implicitly {@link google.ads.admanager.v1.ListAudienceSegmentsResponse.verify|verify} messages.
                     * @param message ListAudienceSegmentsResponse message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IListAudienceSegmentsResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified ListAudienceSegmentsResponse message, length delimited. Does not implicitly {@link google.ads.admanager.v1.ListAudienceSegmentsResponse.verify|verify} messages.
                     * @param message ListAudienceSegmentsResponse message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IListAudienceSegmentsResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a ListAudienceSegmentsResponse message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns ListAudienceSegmentsResponse
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.ListAudienceSegmentsResponse;

                    /**
                     * Decodes a ListAudienceSegmentsResponse message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns ListAudienceSegmentsResponse
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.ListAudienceSegmentsResponse;

                    /**
                     * Verifies a ListAudienceSegmentsResponse message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a ListAudienceSegmentsResponse message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns ListAudienceSegmentsResponse
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.ListAudienceSegmentsResponse;

                    /**
                     * Creates a plain object from a ListAudienceSegmentsResponse message. Also converts values to other types if specified.
                     * @param message ListAudienceSegmentsResponse
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.ListAudienceSegmentsResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this ListAudienceSegmentsResponse to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for ListAudienceSegmentsResponse
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a BandwidthGroup. */
                interface IBandwidthGroup {

                    /** BandwidthGroup name */
                    name?: (string|null);

                    /** BandwidthGroup displayName */
                    displayName?: (string|null);
                }

                /** Represents a BandwidthGroup. */
                class BandwidthGroup implements IBandwidthGroup {

                    /**
                     * Constructs a new BandwidthGroup.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IBandwidthGroup);

                    /** BandwidthGroup name. */
                    public name?: (string|null);

                    /** BandwidthGroup displayName. */
                    public displayName?: (string|null);

                    /**
                     * Creates a new BandwidthGroup instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns BandwidthGroup instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IBandwidthGroup): google.ads.admanager.v1.BandwidthGroup;

                    /**
                     * Encodes the specified BandwidthGroup message. Does not implicitly {@link google.ads.admanager.v1.BandwidthGroup.verify|verify} messages.
                     * @param message BandwidthGroup message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IBandwidthGroup, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified BandwidthGroup message, length delimited. Does not implicitly {@link google.ads.admanager.v1.BandwidthGroup.verify|verify} messages.
                     * @param message BandwidthGroup message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IBandwidthGroup, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a BandwidthGroup message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns BandwidthGroup
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.BandwidthGroup;

                    /**
                     * Decodes a BandwidthGroup message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns BandwidthGroup
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.BandwidthGroup;

                    /**
                     * Verifies a BandwidthGroup message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a BandwidthGroup message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns BandwidthGroup
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.BandwidthGroup;

                    /**
                     * Creates a plain object from a BandwidthGroup message. Also converts values to other types if specified.
                     * @param message BandwidthGroup
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.BandwidthGroup, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this BandwidthGroup to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for BandwidthGroup
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Represents a BandwidthGroupService */
                class BandwidthGroupService extends $protobuf.rpc.Service {

                    /**
                     * Constructs a new BandwidthGroupService service.
                     * @param rpcImpl RPC implementation
                     * @param [requestDelimited=false] Whether requests are length-delimited
                     * @param [responseDelimited=false] Whether responses are length-delimited
                     */
                    constructor(rpcImpl: $protobuf.RPCImpl, requestDelimited?: boolean, responseDelimited?: boolean);

                    /**
                     * Creates new BandwidthGroupService service using the specified rpc implementation.
                     * @param rpcImpl RPC implementation
                     * @param [requestDelimited=false] Whether requests are length-delimited
                     * @param [responseDelimited=false] Whether responses are length-delimited
                     * @returns RPC service. Useful where requests and/or responses are streamed.
                     */
                    public static create(rpcImpl: $protobuf.RPCImpl, requestDelimited?: boolean, responseDelimited?: boolean): BandwidthGroupService;

                    /**
                     * Calls GetBandwidthGroup.
                     * @param request GetBandwidthGroupRequest message or plain object
                     * @param callback Node-style callback called with the error, if any, and BandwidthGroup
                     */
                    public getBandwidthGroup(request: google.ads.admanager.v1.IGetBandwidthGroupRequest, callback: google.ads.admanager.v1.BandwidthGroupService.GetBandwidthGroupCallback): void;

                    /**
                     * Calls GetBandwidthGroup.
                     * @param request GetBandwidthGroupRequest message or plain object
                     * @returns Promise
                     */
                    public getBandwidthGroup(request: google.ads.admanager.v1.IGetBandwidthGroupRequest): Promise<google.ads.admanager.v1.BandwidthGroup>;

                    /**
                     * Calls ListBandwidthGroups.
                     * @param request ListBandwidthGroupsRequest message or plain object
                     * @param callback Node-style callback called with the error, if any, and ListBandwidthGroupsResponse
                     */
                    public listBandwidthGroups(request: google.ads.admanager.v1.IListBandwidthGroupsRequest, callback: google.ads.admanager.v1.BandwidthGroupService.ListBandwidthGroupsCallback): void;

                    /**
                     * Calls ListBandwidthGroups.
                     * @param request ListBandwidthGroupsRequest message or plain object
                     * @returns Promise
                     */
                    public listBandwidthGroups(request: google.ads.admanager.v1.IListBandwidthGroupsRequest): Promise<google.ads.admanager.v1.ListBandwidthGroupsResponse>;
                }

                namespace BandwidthGroupService {

                    /**
                     * Callback as used by {@link google.ads.admanager.v1.BandwidthGroupService|getBandwidthGroup}.
                     * @param error Error, if any
                     * @param [response] BandwidthGroup
                     */
                    type GetBandwidthGroupCallback = (error: (Error|null), response?: google.ads.admanager.v1.BandwidthGroup) => void;

                    /**
                     * Callback as used by {@link google.ads.admanager.v1.BandwidthGroupService|listBandwidthGroups}.
                     * @param error Error, if any
                     * @param [response] ListBandwidthGroupsResponse
                     */
                    type ListBandwidthGroupsCallback = (error: (Error|null), response?: google.ads.admanager.v1.ListBandwidthGroupsResponse) => void;
                }

                /** Properties of a GetBandwidthGroupRequest. */
                interface IGetBandwidthGroupRequest {

                    /** GetBandwidthGroupRequest name */
                    name?: (string|null);
                }

                /** Represents a GetBandwidthGroupRequest. */
                class GetBandwidthGroupRequest implements IGetBandwidthGroupRequest {

                    /**
                     * Constructs a new GetBandwidthGroupRequest.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IGetBandwidthGroupRequest);

                    /** GetBandwidthGroupRequest name. */
                    public name: string;

                    /**
                     * Creates a new GetBandwidthGroupRequest instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns GetBandwidthGroupRequest instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IGetBandwidthGroupRequest): google.ads.admanager.v1.GetBandwidthGroupRequest;

                    /**
                     * Encodes the specified GetBandwidthGroupRequest message. Does not implicitly {@link google.ads.admanager.v1.GetBandwidthGroupRequest.verify|verify} messages.
                     * @param message GetBandwidthGroupRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IGetBandwidthGroupRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified GetBandwidthGroupRequest message, length delimited. Does not implicitly {@link google.ads.admanager.v1.GetBandwidthGroupRequest.verify|verify} messages.
                     * @param message GetBandwidthGroupRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IGetBandwidthGroupRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a GetBandwidthGroupRequest message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns GetBandwidthGroupRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.GetBandwidthGroupRequest;

                    /**
                     * Decodes a GetBandwidthGroupRequest message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns GetBandwidthGroupRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.GetBandwidthGroupRequest;

                    /**
                     * Verifies a GetBandwidthGroupRequest message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a GetBandwidthGroupRequest message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns GetBandwidthGroupRequest
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.GetBandwidthGroupRequest;

                    /**
                     * Creates a plain object from a GetBandwidthGroupRequest message. Also converts values to other types if specified.
                     * @param message GetBandwidthGroupRequest
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.GetBandwidthGroupRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this GetBandwidthGroupRequest to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for GetBandwidthGroupRequest
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a ListBandwidthGroupsRequest. */
                interface IListBandwidthGroupsRequest {

                    /** ListBandwidthGroupsRequest parent */
                    parent?: (string|null);

                    /** ListBandwidthGroupsRequest pageSize */
                    pageSize?: (number|null);

                    /** ListBandwidthGroupsRequest pageToken */
                    pageToken?: (string|null);

                    /** ListBandwidthGroupsRequest filter */
                    filter?: (string|null);

                    /** ListBandwidthGroupsRequest orderBy */
                    orderBy?: (string|null);

                    /** ListBandwidthGroupsRequest skip */
                    skip?: (number|null);
                }

                /** Represents a ListBandwidthGroupsRequest. */
                class ListBandwidthGroupsRequest implements IListBandwidthGroupsRequest {

                    /**
                     * Constructs a new ListBandwidthGroupsRequest.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IListBandwidthGroupsRequest);

                    /** ListBandwidthGroupsRequest parent. */
                    public parent: string;

                    /** ListBandwidthGroupsRequest pageSize. */
                    public pageSize: number;

                    /** ListBandwidthGroupsRequest pageToken. */
                    public pageToken: string;

                    /** ListBandwidthGroupsRequest filter. */
                    public filter: string;

                    /** ListBandwidthGroupsRequest orderBy. */
                    public orderBy: string;

                    /** ListBandwidthGroupsRequest skip. */
                    public skip: number;

                    /**
                     * Creates a new ListBandwidthGroupsRequest instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns ListBandwidthGroupsRequest instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IListBandwidthGroupsRequest): google.ads.admanager.v1.ListBandwidthGroupsRequest;

                    /**
                     * Encodes the specified ListBandwidthGroupsRequest message. Does not implicitly {@link google.ads.admanager.v1.ListBandwidthGroupsRequest.verify|verify} messages.
                     * @param message ListBandwidthGroupsRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IListBandwidthGroupsRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified ListBandwidthGroupsRequest message, length delimited. Does not implicitly {@link google.ads.admanager.v1.ListBandwidthGroupsRequest.verify|verify} messages.
                     * @param message ListBandwidthGroupsRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IListBandwidthGroupsRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a ListBandwidthGroupsRequest message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns ListBandwidthGroupsRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.ListBandwidthGroupsRequest;

                    /**
                     * Decodes a ListBandwidthGroupsRequest message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns ListBandwidthGroupsRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.ListBandwidthGroupsRequest;

                    /**
                     * Verifies a ListBandwidthGroupsRequest message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a ListBandwidthGroupsRequest message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns ListBandwidthGroupsRequest
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.ListBandwidthGroupsRequest;

                    /**
                     * Creates a plain object from a ListBandwidthGroupsRequest message. Also converts values to other types if specified.
                     * @param message ListBandwidthGroupsRequest
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.ListBandwidthGroupsRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this ListBandwidthGroupsRequest to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for ListBandwidthGroupsRequest
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a ListBandwidthGroupsResponse. */
                interface IListBandwidthGroupsResponse {

                    /** ListBandwidthGroupsResponse bandwidthGroups */
                    bandwidthGroups?: (google.ads.admanager.v1.IBandwidthGroup[]|null);

                    /** ListBandwidthGroupsResponse nextPageToken */
                    nextPageToken?: (string|null);

                    /** ListBandwidthGroupsResponse totalSize */
                    totalSize?: (number|null);
                }

                /** Represents a ListBandwidthGroupsResponse. */
                class ListBandwidthGroupsResponse implements IListBandwidthGroupsResponse {

                    /**
                     * Constructs a new ListBandwidthGroupsResponse.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IListBandwidthGroupsResponse);

                    /** ListBandwidthGroupsResponse bandwidthGroups. */
                    public bandwidthGroups: google.ads.admanager.v1.IBandwidthGroup[];

                    /** ListBandwidthGroupsResponse nextPageToken. */
                    public nextPageToken: string;

                    /** ListBandwidthGroupsResponse totalSize. */
                    public totalSize: number;

                    /**
                     * Creates a new ListBandwidthGroupsResponse instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns ListBandwidthGroupsResponse instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IListBandwidthGroupsResponse): google.ads.admanager.v1.ListBandwidthGroupsResponse;

                    /**
                     * Encodes the specified ListBandwidthGroupsResponse message. Does not implicitly {@link google.ads.admanager.v1.ListBandwidthGroupsResponse.verify|verify} messages.
                     * @param message ListBandwidthGroupsResponse message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IListBandwidthGroupsResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified ListBandwidthGroupsResponse message, length delimited. Does not implicitly {@link google.ads.admanager.v1.ListBandwidthGroupsResponse.verify|verify} messages.
                     * @param message ListBandwidthGroupsResponse message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IListBandwidthGroupsResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a ListBandwidthGroupsResponse message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns ListBandwidthGroupsResponse
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.ListBandwidthGroupsResponse;

                    /**
                     * Decodes a ListBandwidthGroupsResponse message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns ListBandwidthGroupsResponse
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.ListBandwidthGroupsResponse;

                    /**
                     * Verifies a ListBandwidthGroupsResponse message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a ListBandwidthGroupsResponse message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns ListBandwidthGroupsResponse
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.ListBandwidthGroupsResponse;

                    /**
                     * Creates a plain object from a ListBandwidthGroupsResponse message. Also converts values to other types if specified.
                     * @param message ListBandwidthGroupsResponse
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.ListBandwidthGroupsResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this ListBandwidthGroupsResponse to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for ListBandwidthGroupsResponse
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a BrowserLanguage. */
                interface IBrowserLanguage {

                    /** BrowserLanguage name */
                    name?: (string|null);

                    /** BrowserLanguage displayName */
                    displayName?: (string|null);
                }

                /** Represents a BrowserLanguage. */
                class BrowserLanguage implements IBrowserLanguage {

                    /**
                     * Constructs a new BrowserLanguage.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IBrowserLanguage);

                    /** BrowserLanguage name. */
                    public name: string;

                    /** BrowserLanguage displayName. */
                    public displayName?: (string|null);

                    /**
                     * Creates a new BrowserLanguage instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns BrowserLanguage instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IBrowserLanguage): google.ads.admanager.v1.BrowserLanguage;

                    /**
                     * Encodes the specified BrowserLanguage message. Does not implicitly {@link google.ads.admanager.v1.BrowserLanguage.verify|verify} messages.
                     * @param message BrowserLanguage message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IBrowserLanguage, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified BrowserLanguage message, length delimited. Does not implicitly {@link google.ads.admanager.v1.BrowserLanguage.verify|verify} messages.
                     * @param message BrowserLanguage message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IBrowserLanguage, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a BrowserLanguage message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns BrowserLanguage
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.BrowserLanguage;

                    /**
                     * Decodes a BrowserLanguage message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns BrowserLanguage
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.BrowserLanguage;

                    /**
                     * Verifies a BrowserLanguage message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a BrowserLanguage message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns BrowserLanguage
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.BrowserLanguage;

                    /**
                     * Creates a plain object from a BrowserLanguage message. Also converts values to other types if specified.
                     * @param message BrowserLanguage
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.BrowserLanguage, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this BrowserLanguage to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for BrowserLanguage
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Represents a BrowserLanguageService */
                class BrowserLanguageService extends $protobuf.rpc.Service {

                    /**
                     * Constructs a new BrowserLanguageService service.
                     * @param rpcImpl RPC implementation
                     * @param [requestDelimited=false] Whether requests are length-delimited
                     * @param [responseDelimited=false] Whether responses are length-delimited
                     */
                    constructor(rpcImpl: $protobuf.RPCImpl, requestDelimited?: boolean, responseDelimited?: boolean);

                    /**
                     * Creates new BrowserLanguageService service using the specified rpc implementation.
                     * @param rpcImpl RPC implementation
                     * @param [requestDelimited=false] Whether requests are length-delimited
                     * @param [responseDelimited=false] Whether responses are length-delimited
                     * @returns RPC service. Useful where requests and/or responses are streamed.
                     */
                    public static create(rpcImpl: $protobuf.RPCImpl, requestDelimited?: boolean, responseDelimited?: boolean): BrowserLanguageService;

                    /**
                     * Calls GetBrowserLanguage.
                     * @param request GetBrowserLanguageRequest message or plain object
                     * @param callback Node-style callback called with the error, if any, and BrowserLanguage
                     */
                    public getBrowserLanguage(request: google.ads.admanager.v1.IGetBrowserLanguageRequest, callback: google.ads.admanager.v1.BrowserLanguageService.GetBrowserLanguageCallback): void;

                    /**
                     * Calls GetBrowserLanguage.
                     * @param request GetBrowserLanguageRequest message or plain object
                     * @returns Promise
                     */
                    public getBrowserLanguage(request: google.ads.admanager.v1.IGetBrowserLanguageRequest): Promise<google.ads.admanager.v1.BrowserLanguage>;

                    /**
                     * Calls ListBrowserLanguages.
                     * @param request ListBrowserLanguagesRequest message or plain object
                     * @param callback Node-style callback called with the error, if any, and ListBrowserLanguagesResponse
                     */
                    public listBrowserLanguages(request: google.ads.admanager.v1.IListBrowserLanguagesRequest, callback: google.ads.admanager.v1.BrowserLanguageService.ListBrowserLanguagesCallback): void;

                    /**
                     * Calls ListBrowserLanguages.
                     * @param request ListBrowserLanguagesRequest message or plain object
                     * @returns Promise
                     */
                    public listBrowserLanguages(request: google.ads.admanager.v1.IListBrowserLanguagesRequest): Promise<google.ads.admanager.v1.ListBrowserLanguagesResponse>;
                }

                namespace BrowserLanguageService {

                    /**
                     * Callback as used by {@link google.ads.admanager.v1.BrowserLanguageService|getBrowserLanguage}.
                     * @param error Error, if any
                     * @param [response] BrowserLanguage
                     */
                    type GetBrowserLanguageCallback = (error: (Error|null), response?: google.ads.admanager.v1.BrowserLanguage) => void;

                    /**
                     * Callback as used by {@link google.ads.admanager.v1.BrowserLanguageService|listBrowserLanguages}.
                     * @param error Error, if any
                     * @param [response] ListBrowserLanguagesResponse
                     */
                    type ListBrowserLanguagesCallback = (error: (Error|null), response?: google.ads.admanager.v1.ListBrowserLanguagesResponse) => void;
                }

                /** Properties of a GetBrowserLanguageRequest. */
                interface IGetBrowserLanguageRequest {

                    /** GetBrowserLanguageRequest name */
                    name?: (string|null);
                }

                /** Represents a GetBrowserLanguageRequest. */
                class GetBrowserLanguageRequest implements IGetBrowserLanguageRequest {

                    /**
                     * Constructs a new GetBrowserLanguageRequest.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IGetBrowserLanguageRequest);

                    /** GetBrowserLanguageRequest name. */
                    public name: string;

                    /**
                     * Creates a new GetBrowserLanguageRequest instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns GetBrowserLanguageRequest instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IGetBrowserLanguageRequest): google.ads.admanager.v1.GetBrowserLanguageRequest;

                    /**
                     * Encodes the specified GetBrowserLanguageRequest message. Does not implicitly {@link google.ads.admanager.v1.GetBrowserLanguageRequest.verify|verify} messages.
                     * @param message GetBrowserLanguageRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IGetBrowserLanguageRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified GetBrowserLanguageRequest message, length delimited. Does not implicitly {@link google.ads.admanager.v1.GetBrowserLanguageRequest.verify|verify} messages.
                     * @param message GetBrowserLanguageRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IGetBrowserLanguageRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a GetBrowserLanguageRequest message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns GetBrowserLanguageRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.GetBrowserLanguageRequest;

                    /**
                     * Decodes a GetBrowserLanguageRequest message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns GetBrowserLanguageRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.GetBrowserLanguageRequest;

                    /**
                     * Verifies a GetBrowserLanguageRequest message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a GetBrowserLanguageRequest message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns GetBrowserLanguageRequest
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.GetBrowserLanguageRequest;

                    /**
                     * Creates a plain object from a GetBrowserLanguageRequest message. Also converts values to other types if specified.
                     * @param message GetBrowserLanguageRequest
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.GetBrowserLanguageRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this GetBrowserLanguageRequest to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for GetBrowserLanguageRequest
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a ListBrowserLanguagesRequest. */
                interface IListBrowserLanguagesRequest {

                    /** ListBrowserLanguagesRequest parent */
                    parent?: (string|null);

                    /** ListBrowserLanguagesRequest pageSize */
                    pageSize?: (number|null);

                    /** ListBrowserLanguagesRequest pageToken */
                    pageToken?: (string|null);

                    /** ListBrowserLanguagesRequest filter */
                    filter?: (string|null);

                    /** ListBrowserLanguagesRequest orderBy */
                    orderBy?: (string|null);

                    /** ListBrowserLanguagesRequest skip */
                    skip?: (number|null);
                }

                /** Represents a ListBrowserLanguagesRequest. */
                class ListBrowserLanguagesRequest implements IListBrowserLanguagesRequest {

                    /**
                     * Constructs a new ListBrowserLanguagesRequest.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IListBrowserLanguagesRequest);

                    /** ListBrowserLanguagesRequest parent. */
                    public parent: string;

                    /** ListBrowserLanguagesRequest pageSize. */
                    public pageSize: number;

                    /** ListBrowserLanguagesRequest pageToken. */
                    public pageToken: string;

                    /** ListBrowserLanguagesRequest filter. */
                    public filter: string;

                    /** ListBrowserLanguagesRequest orderBy. */
                    public orderBy: string;

                    /** ListBrowserLanguagesRequest skip. */
                    public skip: number;

                    /**
                     * Creates a new ListBrowserLanguagesRequest instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns ListBrowserLanguagesRequest instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IListBrowserLanguagesRequest): google.ads.admanager.v1.ListBrowserLanguagesRequest;

                    /**
                     * Encodes the specified ListBrowserLanguagesRequest message. Does not implicitly {@link google.ads.admanager.v1.ListBrowserLanguagesRequest.verify|verify} messages.
                     * @param message ListBrowserLanguagesRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IListBrowserLanguagesRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified ListBrowserLanguagesRequest message, length delimited. Does not implicitly {@link google.ads.admanager.v1.ListBrowserLanguagesRequest.verify|verify} messages.
                     * @param message ListBrowserLanguagesRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IListBrowserLanguagesRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a ListBrowserLanguagesRequest message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns ListBrowserLanguagesRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.ListBrowserLanguagesRequest;

                    /**
                     * Decodes a ListBrowserLanguagesRequest message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns ListBrowserLanguagesRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.ListBrowserLanguagesRequest;

                    /**
                     * Verifies a ListBrowserLanguagesRequest message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a ListBrowserLanguagesRequest message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns ListBrowserLanguagesRequest
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.ListBrowserLanguagesRequest;

                    /**
                     * Creates a plain object from a ListBrowserLanguagesRequest message. Also converts values to other types if specified.
                     * @param message ListBrowserLanguagesRequest
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.ListBrowserLanguagesRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this ListBrowserLanguagesRequest to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for ListBrowserLanguagesRequest
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a ListBrowserLanguagesResponse. */
                interface IListBrowserLanguagesResponse {

                    /** ListBrowserLanguagesResponse browserLanguages */
                    browserLanguages?: (google.ads.admanager.v1.IBrowserLanguage[]|null);

                    /** ListBrowserLanguagesResponse nextPageToken */
                    nextPageToken?: (string|null);

                    /** ListBrowserLanguagesResponse totalSize */
                    totalSize?: (number|null);
                }

                /** Represents a ListBrowserLanguagesResponse. */
                class ListBrowserLanguagesResponse implements IListBrowserLanguagesResponse {

                    /**
                     * Constructs a new ListBrowserLanguagesResponse.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IListBrowserLanguagesResponse);

                    /** ListBrowserLanguagesResponse browserLanguages. */
                    public browserLanguages: google.ads.admanager.v1.IBrowserLanguage[];

                    /** ListBrowserLanguagesResponse nextPageToken. */
                    public nextPageToken: string;

                    /** ListBrowserLanguagesResponse totalSize. */
                    public totalSize: number;

                    /**
                     * Creates a new ListBrowserLanguagesResponse instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns ListBrowserLanguagesResponse instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IListBrowserLanguagesResponse): google.ads.admanager.v1.ListBrowserLanguagesResponse;

                    /**
                     * Encodes the specified ListBrowserLanguagesResponse message. Does not implicitly {@link google.ads.admanager.v1.ListBrowserLanguagesResponse.verify|verify} messages.
                     * @param message ListBrowserLanguagesResponse message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IListBrowserLanguagesResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified ListBrowserLanguagesResponse message, length delimited. Does not implicitly {@link google.ads.admanager.v1.ListBrowserLanguagesResponse.verify|verify} messages.
                     * @param message ListBrowserLanguagesResponse message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IListBrowserLanguagesResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a ListBrowserLanguagesResponse message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns ListBrowserLanguagesResponse
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.ListBrowserLanguagesResponse;

                    /**
                     * Decodes a ListBrowserLanguagesResponse message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns ListBrowserLanguagesResponse
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.ListBrowserLanguagesResponse;

                    /**
                     * Verifies a ListBrowserLanguagesResponse message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a ListBrowserLanguagesResponse message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns ListBrowserLanguagesResponse
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.ListBrowserLanguagesResponse;

                    /**
                     * Creates a plain object from a ListBrowserLanguagesResponse message. Also converts values to other types if specified.
                     * @param message ListBrowserLanguagesResponse
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.ListBrowserLanguagesResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this ListBrowserLanguagesResponse to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for ListBrowserLanguagesResponse
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a Browser. */
                interface IBrowser {

                    /** Browser name */
                    name?: (string|null);

                    /** Browser displayName */
                    displayName?: (string|null);

                    /** Browser majorVersion */
                    majorVersion?: (string|null);

                    /** Browser minorVersion */
                    minorVersion?: (string|null);
                }

                /** Represents a Browser. */
                class Browser implements IBrowser {

                    /**
                     * Constructs a new Browser.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IBrowser);

                    /** Browser name. */
                    public name: string;

                    /** Browser displayName. */
                    public displayName?: (string|null);

                    /** Browser majorVersion. */
                    public majorVersion?: (string|null);

                    /** Browser minorVersion. */
                    public minorVersion?: (string|null);

                    /**
                     * Creates a new Browser instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns Browser instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IBrowser): google.ads.admanager.v1.Browser;

                    /**
                     * Encodes the specified Browser message. Does not implicitly {@link google.ads.admanager.v1.Browser.verify|verify} messages.
                     * @param message Browser message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IBrowser, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified Browser message, length delimited. Does not implicitly {@link google.ads.admanager.v1.Browser.verify|verify} messages.
                     * @param message Browser message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IBrowser, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a Browser message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns Browser
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.Browser;

                    /**
                     * Decodes a Browser message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns Browser
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.Browser;

                    /**
                     * Verifies a Browser message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a Browser message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns Browser
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.Browser;

                    /**
                     * Creates a plain object from a Browser message. Also converts values to other types if specified.
                     * @param message Browser
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.Browser, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this Browser to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for Browser
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Represents a BrowserService */
                class BrowserService extends $protobuf.rpc.Service {

                    /**
                     * Constructs a new BrowserService service.
                     * @param rpcImpl RPC implementation
                     * @param [requestDelimited=false] Whether requests are length-delimited
                     * @param [responseDelimited=false] Whether responses are length-delimited
                     */
                    constructor(rpcImpl: $protobuf.RPCImpl, requestDelimited?: boolean, responseDelimited?: boolean);

                    /**
                     * Creates new BrowserService service using the specified rpc implementation.
                     * @param rpcImpl RPC implementation
                     * @param [requestDelimited=false] Whether requests are length-delimited
                     * @param [responseDelimited=false] Whether responses are length-delimited
                     * @returns RPC service. Useful where requests and/or responses are streamed.
                     */
                    public static create(rpcImpl: $protobuf.RPCImpl, requestDelimited?: boolean, responseDelimited?: boolean): BrowserService;

                    /**
                     * Calls GetBrowser.
                     * @param request GetBrowserRequest message or plain object
                     * @param callback Node-style callback called with the error, if any, and Browser
                     */
                    public getBrowser(request: google.ads.admanager.v1.IGetBrowserRequest, callback: google.ads.admanager.v1.BrowserService.GetBrowserCallback): void;

                    /**
                     * Calls GetBrowser.
                     * @param request GetBrowserRequest message or plain object
                     * @returns Promise
                     */
                    public getBrowser(request: google.ads.admanager.v1.IGetBrowserRequest): Promise<google.ads.admanager.v1.Browser>;

                    /**
                     * Calls ListBrowsers.
                     * @param request ListBrowsersRequest message or plain object
                     * @param callback Node-style callback called with the error, if any, and ListBrowsersResponse
                     */
                    public listBrowsers(request: google.ads.admanager.v1.IListBrowsersRequest, callback: google.ads.admanager.v1.BrowserService.ListBrowsersCallback): void;

                    /**
                     * Calls ListBrowsers.
                     * @param request ListBrowsersRequest message or plain object
                     * @returns Promise
                     */
                    public listBrowsers(request: google.ads.admanager.v1.IListBrowsersRequest): Promise<google.ads.admanager.v1.ListBrowsersResponse>;
                }

                namespace BrowserService {

                    /**
                     * Callback as used by {@link google.ads.admanager.v1.BrowserService|getBrowser}.
                     * @param error Error, if any
                     * @param [response] Browser
                     */
                    type GetBrowserCallback = (error: (Error|null), response?: google.ads.admanager.v1.Browser) => void;

                    /**
                     * Callback as used by {@link google.ads.admanager.v1.BrowserService|listBrowsers}.
                     * @param error Error, if any
                     * @param [response] ListBrowsersResponse
                     */
                    type ListBrowsersCallback = (error: (Error|null), response?: google.ads.admanager.v1.ListBrowsersResponse) => void;
                }

                /** Properties of a GetBrowserRequest. */
                interface IGetBrowserRequest {

                    /** GetBrowserRequest name */
                    name?: (string|null);
                }

                /** Represents a GetBrowserRequest. */
                class GetBrowserRequest implements IGetBrowserRequest {

                    /**
                     * Constructs a new GetBrowserRequest.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IGetBrowserRequest);

                    /** GetBrowserRequest name. */
                    public name: string;

                    /**
                     * Creates a new GetBrowserRequest instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns GetBrowserRequest instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IGetBrowserRequest): google.ads.admanager.v1.GetBrowserRequest;

                    /**
                     * Encodes the specified GetBrowserRequest message. Does not implicitly {@link google.ads.admanager.v1.GetBrowserRequest.verify|verify} messages.
                     * @param message GetBrowserRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IGetBrowserRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified GetBrowserRequest message, length delimited. Does not implicitly {@link google.ads.admanager.v1.GetBrowserRequest.verify|verify} messages.
                     * @param message GetBrowserRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IGetBrowserRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a GetBrowserRequest message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns GetBrowserRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.GetBrowserRequest;

                    /**
                     * Decodes a GetBrowserRequest message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns GetBrowserRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.GetBrowserRequest;

                    /**
                     * Verifies a GetBrowserRequest message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a GetBrowserRequest message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns GetBrowserRequest
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.GetBrowserRequest;

                    /**
                     * Creates a plain object from a GetBrowserRequest message. Also converts values to other types if specified.
                     * @param message GetBrowserRequest
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.GetBrowserRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this GetBrowserRequest to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for GetBrowserRequest
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a ListBrowsersRequest. */
                interface IListBrowsersRequest {

                    /** ListBrowsersRequest parent */
                    parent?: (string|null);

                    /** ListBrowsersRequest pageSize */
                    pageSize?: (number|null);

                    /** ListBrowsersRequest pageToken */
                    pageToken?: (string|null);

                    /** ListBrowsersRequest filter */
                    filter?: (string|null);

                    /** ListBrowsersRequest orderBy */
                    orderBy?: (string|null);

                    /** ListBrowsersRequest skip */
                    skip?: (number|null);
                }

                /** Represents a ListBrowsersRequest. */
                class ListBrowsersRequest implements IListBrowsersRequest {

                    /**
                     * Constructs a new ListBrowsersRequest.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IListBrowsersRequest);

                    /** ListBrowsersRequest parent. */
                    public parent: string;

                    /** ListBrowsersRequest pageSize. */
                    public pageSize: number;

                    /** ListBrowsersRequest pageToken. */
                    public pageToken: string;

                    /** ListBrowsersRequest filter. */
                    public filter: string;

                    /** ListBrowsersRequest orderBy. */
                    public orderBy: string;

                    /** ListBrowsersRequest skip. */
                    public skip: number;

                    /**
                     * Creates a new ListBrowsersRequest instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns ListBrowsersRequest instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IListBrowsersRequest): google.ads.admanager.v1.ListBrowsersRequest;

                    /**
                     * Encodes the specified ListBrowsersRequest message. Does not implicitly {@link google.ads.admanager.v1.ListBrowsersRequest.verify|verify} messages.
                     * @param message ListBrowsersRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IListBrowsersRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified ListBrowsersRequest message, length delimited. Does not implicitly {@link google.ads.admanager.v1.ListBrowsersRequest.verify|verify} messages.
                     * @param message ListBrowsersRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IListBrowsersRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a ListBrowsersRequest message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns ListBrowsersRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.ListBrowsersRequest;

                    /**
                     * Decodes a ListBrowsersRequest message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns ListBrowsersRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.ListBrowsersRequest;

                    /**
                     * Verifies a ListBrowsersRequest message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a ListBrowsersRequest message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns ListBrowsersRequest
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.ListBrowsersRequest;

                    /**
                     * Creates a plain object from a ListBrowsersRequest message. Also converts values to other types if specified.
                     * @param message ListBrowsersRequest
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.ListBrowsersRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this ListBrowsersRequest to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for ListBrowsersRequest
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a ListBrowsersResponse. */
                interface IListBrowsersResponse {

                    /** ListBrowsersResponse browsers */
                    browsers?: (google.ads.admanager.v1.IBrowser[]|null);

                    /** ListBrowsersResponse nextPageToken */
                    nextPageToken?: (string|null);

                    /** ListBrowsersResponse totalSize */
                    totalSize?: (number|null);
                }

                /** Represents a ListBrowsersResponse. */
                class ListBrowsersResponse implements IListBrowsersResponse {

                    /**
                     * Constructs a new ListBrowsersResponse.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IListBrowsersResponse);

                    /** ListBrowsersResponse browsers. */
                    public browsers: google.ads.admanager.v1.IBrowser[];

                    /** ListBrowsersResponse nextPageToken. */
                    public nextPageToken: string;

                    /** ListBrowsersResponse totalSize. */
                    public totalSize: number;

                    /**
                     * Creates a new ListBrowsersResponse instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns ListBrowsersResponse instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IListBrowsersResponse): google.ads.admanager.v1.ListBrowsersResponse;

                    /**
                     * Encodes the specified ListBrowsersResponse message. Does not implicitly {@link google.ads.admanager.v1.ListBrowsersResponse.verify|verify} messages.
                     * @param message ListBrowsersResponse message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IListBrowsersResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified ListBrowsersResponse message, length delimited. Does not implicitly {@link google.ads.admanager.v1.ListBrowsersResponse.verify|verify} messages.
                     * @param message ListBrowsersResponse message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IListBrowsersResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a ListBrowsersResponse message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns ListBrowsersResponse
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.ListBrowsersResponse;

                    /**
                     * Decodes a ListBrowsersResponse message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns ListBrowsersResponse
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.ListBrowsersResponse;

                    /**
                     * Verifies a ListBrowsersResponse message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a ListBrowsersResponse message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns ListBrowsersResponse
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.ListBrowsersResponse;

                    /**
                     * Creates a plain object from a ListBrowsersResponse message. Also converts values to other types if specified.
                     * @param message ListBrowsersResponse
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.ListBrowsersResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this ListBrowsersResponse to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for ListBrowsersResponse
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a CmsMetadataKeyStatusEnum. */
                interface ICmsMetadataKeyStatusEnum {
                }

                /** Represents a CmsMetadataKeyStatusEnum. */
                class CmsMetadataKeyStatusEnum implements ICmsMetadataKeyStatusEnum {

                    /**
                     * Constructs a new CmsMetadataKeyStatusEnum.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.ICmsMetadataKeyStatusEnum);

                    /**
                     * Creates a new CmsMetadataKeyStatusEnum instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns CmsMetadataKeyStatusEnum instance
                     */
                    public static create(properties?: google.ads.admanager.v1.ICmsMetadataKeyStatusEnum): google.ads.admanager.v1.CmsMetadataKeyStatusEnum;

                    /**
                     * Encodes the specified CmsMetadataKeyStatusEnum message. Does not implicitly {@link google.ads.admanager.v1.CmsMetadataKeyStatusEnum.verify|verify} messages.
                     * @param message CmsMetadataKeyStatusEnum message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.ICmsMetadataKeyStatusEnum, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified CmsMetadataKeyStatusEnum message, length delimited. Does not implicitly {@link google.ads.admanager.v1.CmsMetadataKeyStatusEnum.verify|verify} messages.
                     * @param message CmsMetadataKeyStatusEnum message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.ICmsMetadataKeyStatusEnum, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a CmsMetadataKeyStatusEnum message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns CmsMetadataKeyStatusEnum
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.CmsMetadataKeyStatusEnum;

                    /**
                     * Decodes a CmsMetadataKeyStatusEnum message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns CmsMetadataKeyStatusEnum
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.CmsMetadataKeyStatusEnum;

                    /**
                     * Verifies a CmsMetadataKeyStatusEnum message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a CmsMetadataKeyStatusEnum message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns CmsMetadataKeyStatusEnum
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.CmsMetadataKeyStatusEnum;

                    /**
                     * Creates a plain object from a CmsMetadataKeyStatusEnum message. Also converts values to other types if specified.
                     * @param message CmsMetadataKeyStatusEnum
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.CmsMetadataKeyStatusEnum, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this CmsMetadataKeyStatusEnum to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for CmsMetadataKeyStatusEnum
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                namespace CmsMetadataKeyStatusEnum {

                    /** CmsMetadataKeyStatus enum. */
                    enum CmsMetadataKeyStatus {
                        CMS_METADATA_KEY_STATUS_UNSPECIFIED = 0,
                        ACTIVE = 1,
                        INACTIVE = 2
                    }
                }

                /** Properties of a CmsMetadataKey. */
                interface ICmsMetadataKey {

                    /** CmsMetadataKey name */
                    name?: (string|null);

                    /** CmsMetadataKey displayName */
                    displayName?: (string|null);

                    /** CmsMetadataKey status */
                    status?: (google.ads.admanager.v1.CmsMetadataKeyStatusEnum.CmsMetadataKeyStatus|keyof typeof google.ads.admanager.v1.CmsMetadataKeyStatusEnum.CmsMetadataKeyStatus|null);
                }

                /** Represents a CmsMetadataKey. */
                class CmsMetadataKey implements ICmsMetadataKey {

                    /**
                     * Constructs a new CmsMetadataKey.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.ICmsMetadataKey);

                    /** CmsMetadataKey name. */
                    public name: string;

                    /** CmsMetadataKey displayName. */
                    public displayName: string;

                    /** CmsMetadataKey status. */
                    public status: (google.ads.admanager.v1.CmsMetadataKeyStatusEnum.CmsMetadataKeyStatus|keyof typeof google.ads.admanager.v1.CmsMetadataKeyStatusEnum.CmsMetadataKeyStatus);

                    /**
                     * Creates a new CmsMetadataKey instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns CmsMetadataKey instance
                     */
                    public static create(properties?: google.ads.admanager.v1.ICmsMetadataKey): google.ads.admanager.v1.CmsMetadataKey;

                    /**
                     * Encodes the specified CmsMetadataKey message. Does not implicitly {@link google.ads.admanager.v1.CmsMetadataKey.verify|verify} messages.
                     * @param message CmsMetadataKey message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.ICmsMetadataKey, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified CmsMetadataKey message, length delimited. Does not implicitly {@link google.ads.admanager.v1.CmsMetadataKey.verify|verify} messages.
                     * @param message CmsMetadataKey message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.ICmsMetadataKey, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a CmsMetadataKey message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns CmsMetadataKey
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.CmsMetadataKey;

                    /**
                     * Decodes a CmsMetadataKey message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns CmsMetadataKey
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.CmsMetadataKey;

                    /**
                     * Verifies a CmsMetadataKey message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a CmsMetadataKey message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns CmsMetadataKey
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.CmsMetadataKey;

                    /**
                     * Creates a plain object from a CmsMetadataKey message. Also converts values to other types if specified.
                     * @param message CmsMetadataKey
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.CmsMetadataKey, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this CmsMetadataKey to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for CmsMetadataKey
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Represents a CmsMetadataKeyService */
                class CmsMetadataKeyService extends $protobuf.rpc.Service {

                    /**
                     * Constructs a new CmsMetadataKeyService service.
                     * @param rpcImpl RPC implementation
                     * @param [requestDelimited=false] Whether requests are length-delimited
                     * @param [responseDelimited=false] Whether responses are length-delimited
                     */
                    constructor(rpcImpl: $protobuf.RPCImpl, requestDelimited?: boolean, responseDelimited?: boolean);

                    /**
                     * Creates new CmsMetadataKeyService service using the specified rpc implementation.
                     * @param rpcImpl RPC implementation
                     * @param [requestDelimited=false] Whether requests are length-delimited
                     * @param [responseDelimited=false] Whether responses are length-delimited
                     * @returns RPC service. Useful where requests and/or responses are streamed.
                     */
                    public static create(rpcImpl: $protobuf.RPCImpl, requestDelimited?: boolean, responseDelimited?: boolean): CmsMetadataKeyService;

                    /**
                     * Calls GetCmsMetadataKey.
                     * @param request GetCmsMetadataKeyRequest message or plain object
                     * @param callback Node-style callback called with the error, if any, and CmsMetadataKey
                     */
                    public getCmsMetadataKey(request: google.ads.admanager.v1.IGetCmsMetadataKeyRequest, callback: google.ads.admanager.v1.CmsMetadataKeyService.GetCmsMetadataKeyCallback): void;

                    /**
                     * Calls GetCmsMetadataKey.
                     * @param request GetCmsMetadataKeyRequest message or plain object
                     * @returns Promise
                     */
                    public getCmsMetadataKey(request: google.ads.admanager.v1.IGetCmsMetadataKeyRequest): Promise<google.ads.admanager.v1.CmsMetadataKey>;

                    /**
                     * Calls ListCmsMetadataKeys.
                     * @param request ListCmsMetadataKeysRequest message or plain object
                     * @param callback Node-style callback called with the error, if any, and ListCmsMetadataKeysResponse
                     */
                    public listCmsMetadataKeys(request: google.ads.admanager.v1.IListCmsMetadataKeysRequest, callback: google.ads.admanager.v1.CmsMetadataKeyService.ListCmsMetadataKeysCallback): void;

                    /**
                     * Calls ListCmsMetadataKeys.
                     * @param request ListCmsMetadataKeysRequest message or plain object
                     * @returns Promise
                     */
                    public listCmsMetadataKeys(request: google.ads.admanager.v1.IListCmsMetadataKeysRequest): Promise<google.ads.admanager.v1.ListCmsMetadataKeysResponse>;
                }

                namespace CmsMetadataKeyService {

                    /**
                     * Callback as used by {@link google.ads.admanager.v1.CmsMetadataKeyService|getCmsMetadataKey}.
                     * @param error Error, if any
                     * @param [response] CmsMetadataKey
                     */
                    type GetCmsMetadataKeyCallback = (error: (Error|null), response?: google.ads.admanager.v1.CmsMetadataKey) => void;

                    /**
                     * Callback as used by {@link google.ads.admanager.v1.CmsMetadataKeyService|listCmsMetadataKeys}.
                     * @param error Error, if any
                     * @param [response] ListCmsMetadataKeysResponse
                     */
                    type ListCmsMetadataKeysCallback = (error: (Error|null), response?: google.ads.admanager.v1.ListCmsMetadataKeysResponse) => void;
                }

                /** Properties of a GetCmsMetadataKeyRequest. */
                interface IGetCmsMetadataKeyRequest {

                    /** GetCmsMetadataKeyRequest name */
                    name?: (string|null);
                }

                /** Represents a GetCmsMetadataKeyRequest. */
                class GetCmsMetadataKeyRequest implements IGetCmsMetadataKeyRequest {

                    /**
                     * Constructs a new GetCmsMetadataKeyRequest.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IGetCmsMetadataKeyRequest);

                    /** GetCmsMetadataKeyRequest name. */
                    public name: string;

                    /**
                     * Creates a new GetCmsMetadataKeyRequest instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns GetCmsMetadataKeyRequest instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IGetCmsMetadataKeyRequest): google.ads.admanager.v1.GetCmsMetadataKeyRequest;

                    /**
                     * Encodes the specified GetCmsMetadataKeyRequest message. Does not implicitly {@link google.ads.admanager.v1.GetCmsMetadataKeyRequest.verify|verify} messages.
                     * @param message GetCmsMetadataKeyRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IGetCmsMetadataKeyRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified GetCmsMetadataKeyRequest message, length delimited. Does not implicitly {@link google.ads.admanager.v1.GetCmsMetadataKeyRequest.verify|verify} messages.
                     * @param message GetCmsMetadataKeyRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IGetCmsMetadataKeyRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a GetCmsMetadataKeyRequest message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns GetCmsMetadataKeyRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.GetCmsMetadataKeyRequest;

                    /**
                     * Decodes a GetCmsMetadataKeyRequest message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns GetCmsMetadataKeyRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.GetCmsMetadataKeyRequest;

                    /**
                     * Verifies a GetCmsMetadataKeyRequest message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a GetCmsMetadataKeyRequest message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns GetCmsMetadataKeyRequest
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.GetCmsMetadataKeyRequest;

                    /**
                     * Creates a plain object from a GetCmsMetadataKeyRequest message. Also converts values to other types if specified.
                     * @param message GetCmsMetadataKeyRequest
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.GetCmsMetadataKeyRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this GetCmsMetadataKeyRequest to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for GetCmsMetadataKeyRequest
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a ListCmsMetadataKeysRequest. */
                interface IListCmsMetadataKeysRequest {

                    /** ListCmsMetadataKeysRequest parent */
                    parent?: (string|null);

                    /** ListCmsMetadataKeysRequest pageSize */
                    pageSize?: (number|null);

                    /** ListCmsMetadataKeysRequest pageToken */
                    pageToken?: (string|null);

                    /** ListCmsMetadataKeysRequest filter */
                    filter?: (string|null);

                    /** ListCmsMetadataKeysRequest orderBy */
                    orderBy?: (string|null);

                    /** ListCmsMetadataKeysRequest skip */
                    skip?: (number|null);
                }

                /** Represents a ListCmsMetadataKeysRequest. */
                class ListCmsMetadataKeysRequest implements IListCmsMetadataKeysRequest {

                    /**
                     * Constructs a new ListCmsMetadataKeysRequest.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IListCmsMetadataKeysRequest);

                    /** ListCmsMetadataKeysRequest parent. */
                    public parent: string;

                    /** ListCmsMetadataKeysRequest pageSize. */
                    public pageSize: number;

                    /** ListCmsMetadataKeysRequest pageToken. */
                    public pageToken: string;

                    /** ListCmsMetadataKeysRequest filter. */
                    public filter: string;

                    /** ListCmsMetadataKeysRequest orderBy. */
                    public orderBy: string;

                    /** ListCmsMetadataKeysRequest skip. */
                    public skip: number;

                    /**
                     * Creates a new ListCmsMetadataKeysRequest instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns ListCmsMetadataKeysRequest instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IListCmsMetadataKeysRequest): google.ads.admanager.v1.ListCmsMetadataKeysRequest;

                    /**
                     * Encodes the specified ListCmsMetadataKeysRequest message. Does not implicitly {@link google.ads.admanager.v1.ListCmsMetadataKeysRequest.verify|verify} messages.
                     * @param message ListCmsMetadataKeysRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IListCmsMetadataKeysRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified ListCmsMetadataKeysRequest message, length delimited. Does not implicitly {@link google.ads.admanager.v1.ListCmsMetadataKeysRequest.verify|verify} messages.
                     * @param message ListCmsMetadataKeysRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IListCmsMetadataKeysRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a ListCmsMetadataKeysRequest message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns ListCmsMetadataKeysRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.ListCmsMetadataKeysRequest;

                    /**
                     * Decodes a ListCmsMetadataKeysRequest message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns ListCmsMetadataKeysRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.ListCmsMetadataKeysRequest;

                    /**
                     * Verifies a ListCmsMetadataKeysRequest message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a ListCmsMetadataKeysRequest message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns ListCmsMetadataKeysRequest
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.ListCmsMetadataKeysRequest;

                    /**
                     * Creates a plain object from a ListCmsMetadataKeysRequest message. Also converts values to other types if specified.
                     * @param message ListCmsMetadataKeysRequest
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.ListCmsMetadataKeysRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this ListCmsMetadataKeysRequest to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for ListCmsMetadataKeysRequest
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a ListCmsMetadataKeysResponse. */
                interface IListCmsMetadataKeysResponse {

                    /** ListCmsMetadataKeysResponse cmsMetadataKeys */
                    cmsMetadataKeys?: (google.ads.admanager.v1.ICmsMetadataKey[]|null);

                    /** ListCmsMetadataKeysResponse nextPageToken */
                    nextPageToken?: (string|null);

                    /** ListCmsMetadataKeysResponse totalSize */
                    totalSize?: (number|null);
                }

                /** Represents a ListCmsMetadataKeysResponse. */
                class ListCmsMetadataKeysResponse implements IListCmsMetadataKeysResponse {

                    /**
                     * Constructs a new ListCmsMetadataKeysResponse.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IListCmsMetadataKeysResponse);

                    /** ListCmsMetadataKeysResponse cmsMetadataKeys. */
                    public cmsMetadataKeys: google.ads.admanager.v1.ICmsMetadataKey[];

                    /** ListCmsMetadataKeysResponse nextPageToken. */
                    public nextPageToken: string;

                    /** ListCmsMetadataKeysResponse totalSize. */
                    public totalSize: number;

                    /**
                     * Creates a new ListCmsMetadataKeysResponse instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns ListCmsMetadataKeysResponse instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IListCmsMetadataKeysResponse): google.ads.admanager.v1.ListCmsMetadataKeysResponse;

                    /**
                     * Encodes the specified ListCmsMetadataKeysResponse message. Does not implicitly {@link google.ads.admanager.v1.ListCmsMetadataKeysResponse.verify|verify} messages.
                     * @param message ListCmsMetadataKeysResponse message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IListCmsMetadataKeysResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified ListCmsMetadataKeysResponse message, length delimited. Does not implicitly {@link google.ads.admanager.v1.ListCmsMetadataKeysResponse.verify|verify} messages.
                     * @param message ListCmsMetadataKeysResponse message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IListCmsMetadataKeysResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a ListCmsMetadataKeysResponse message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns ListCmsMetadataKeysResponse
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.ListCmsMetadataKeysResponse;

                    /**
                     * Decodes a ListCmsMetadataKeysResponse message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns ListCmsMetadataKeysResponse
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.ListCmsMetadataKeysResponse;

                    /**
                     * Verifies a ListCmsMetadataKeysResponse message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a ListCmsMetadataKeysResponse message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns ListCmsMetadataKeysResponse
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.ListCmsMetadataKeysResponse;

                    /**
                     * Creates a plain object from a ListCmsMetadataKeysResponse message. Also converts values to other types if specified.
                     * @param message ListCmsMetadataKeysResponse
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.ListCmsMetadataKeysResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this ListCmsMetadataKeysResponse to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for ListCmsMetadataKeysResponse
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a CmsMetadataValueStatusEnum. */
                interface ICmsMetadataValueStatusEnum {
                }

                /** Represents a CmsMetadataValueStatusEnum. */
                class CmsMetadataValueStatusEnum implements ICmsMetadataValueStatusEnum {

                    /**
                     * Constructs a new CmsMetadataValueStatusEnum.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.ICmsMetadataValueStatusEnum);

                    /**
                     * Creates a new CmsMetadataValueStatusEnum instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns CmsMetadataValueStatusEnum instance
                     */
                    public static create(properties?: google.ads.admanager.v1.ICmsMetadataValueStatusEnum): google.ads.admanager.v1.CmsMetadataValueStatusEnum;

                    /**
                     * Encodes the specified CmsMetadataValueStatusEnum message. Does not implicitly {@link google.ads.admanager.v1.CmsMetadataValueStatusEnum.verify|verify} messages.
                     * @param message CmsMetadataValueStatusEnum message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.ICmsMetadataValueStatusEnum, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified CmsMetadataValueStatusEnum message, length delimited. Does not implicitly {@link google.ads.admanager.v1.CmsMetadataValueStatusEnum.verify|verify} messages.
                     * @param message CmsMetadataValueStatusEnum message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.ICmsMetadataValueStatusEnum, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a CmsMetadataValueStatusEnum message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns CmsMetadataValueStatusEnum
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.CmsMetadataValueStatusEnum;

                    /**
                     * Decodes a CmsMetadataValueStatusEnum message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns CmsMetadataValueStatusEnum
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.CmsMetadataValueStatusEnum;

                    /**
                     * Verifies a CmsMetadataValueStatusEnum message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a CmsMetadataValueStatusEnum message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns CmsMetadataValueStatusEnum
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.CmsMetadataValueStatusEnum;

                    /**
                     * Creates a plain object from a CmsMetadataValueStatusEnum message. Also converts values to other types if specified.
                     * @param message CmsMetadataValueStatusEnum
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.CmsMetadataValueStatusEnum, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this CmsMetadataValueStatusEnum to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for CmsMetadataValueStatusEnum
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                namespace CmsMetadataValueStatusEnum {

                    /** CmsMetadataValueStatus enum. */
                    enum CmsMetadataValueStatus {
                        CMS_METADATA_VALUE_STATUS_UNSPECIFIED = 0,
                        ACTIVE = 1,
                        ARCHIVED = 2,
                        INACTIVE = 3
                    }
                }

                /** Properties of a CmsMetadataValue. */
                interface ICmsMetadataValue {

                    /** CmsMetadataValue name */
                    name?: (string|null);

                    /** CmsMetadataValue displayName */
                    displayName?: (string|null);

                    /** CmsMetadataValue key */
                    key?: (string|null);

                    /** CmsMetadataValue status */
                    status?: (google.ads.admanager.v1.CmsMetadataValueStatusEnum.CmsMetadataValueStatus|keyof typeof google.ads.admanager.v1.CmsMetadataValueStatusEnum.CmsMetadataValueStatus|null);
                }

                /** Represents a CmsMetadataValue. */
                class CmsMetadataValue implements ICmsMetadataValue {

                    /**
                     * Constructs a new CmsMetadataValue.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.ICmsMetadataValue);

                    /** CmsMetadataValue name. */
                    public name: string;

                    /** CmsMetadataValue displayName. */
                    public displayName: string;

                    /** CmsMetadataValue key. */
                    public key: string;

                    /** CmsMetadataValue status. */
                    public status: (google.ads.admanager.v1.CmsMetadataValueStatusEnum.CmsMetadataValueStatus|keyof typeof google.ads.admanager.v1.CmsMetadataValueStatusEnum.CmsMetadataValueStatus);

                    /**
                     * Creates a new CmsMetadataValue instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns CmsMetadataValue instance
                     */
                    public static create(properties?: google.ads.admanager.v1.ICmsMetadataValue): google.ads.admanager.v1.CmsMetadataValue;

                    /**
                     * Encodes the specified CmsMetadataValue message. Does not implicitly {@link google.ads.admanager.v1.CmsMetadataValue.verify|verify} messages.
                     * @param message CmsMetadataValue message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.ICmsMetadataValue, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified CmsMetadataValue message, length delimited. Does not implicitly {@link google.ads.admanager.v1.CmsMetadataValue.verify|verify} messages.
                     * @param message CmsMetadataValue message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.ICmsMetadataValue, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a CmsMetadataValue message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns CmsMetadataValue
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.CmsMetadataValue;

                    /**
                     * Decodes a CmsMetadataValue message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns CmsMetadataValue
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.CmsMetadataValue;

                    /**
                     * Verifies a CmsMetadataValue message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a CmsMetadataValue message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns CmsMetadataValue
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.CmsMetadataValue;

                    /**
                     * Creates a plain object from a CmsMetadataValue message. Also converts values to other types if specified.
                     * @param message CmsMetadataValue
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.CmsMetadataValue, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this CmsMetadataValue to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for CmsMetadataValue
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Represents a CmsMetadataValueService */
                class CmsMetadataValueService extends $protobuf.rpc.Service {

                    /**
                     * Constructs a new CmsMetadataValueService service.
                     * @param rpcImpl RPC implementation
                     * @param [requestDelimited=false] Whether requests are length-delimited
                     * @param [responseDelimited=false] Whether responses are length-delimited
                     */
                    constructor(rpcImpl: $protobuf.RPCImpl, requestDelimited?: boolean, responseDelimited?: boolean);

                    /**
                     * Creates new CmsMetadataValueService service using the specified rpc implementation.
                     * @param rpcImpl RPC implementation
                     * @param [requestDelimited=false] Whether requests are length-delimited
                     * @param [responseDelimited=false] Whether responses are length-delimited
                     * @returns RPC service. Useful where requests and/or responses are streamed.
                     */
                    public static create(rpcImpl: $protobuf.RPCImpl, requestDelimited?: boolean, responseDelimited?: boolean): CmsMetadataValueService;

                    /**
                     * Calls GetCmsMetadataValue.
                     * @param request GetCmsMetadataValueRequest message or plain object
                     * @param callback Node-style callback called with the error, if any, and CmsMetadataValue
                     */
                    public getCmsMetadataValue(request: google.ads.admanager.v1.IGetCmsMetadataValueRequest, callback: google.ads.admanager.v1.CmsMetadataValueService.GetCmsMetadataValueCallback): void;

                    /**
                     * Calls GetCmsMetadataValue.
                     * @param request GetCmsMetadataValueRequest message or plain object
                     * @returns Promise
                     */
                    public getCmsMetadataValue(request: google.ads.admanager.v1.IGetCmsMetadataValueRequest): Promise<google.ads.admanager.v1.CmsMetadataValue>;

                    /**
                     * Calls ListCmsMetadataValues.
                     * @param request ListCmsMetadataValuesRequest message or plain object
                     * @param callback Node-style callback called with the error, if any, and ListCmsMetadataValuesResponse
                     */
                    public listCmsMetadataValues(request: google.ads.admanager.v1.IListCmsMetadataValuesRequest, callback: google.ads.admanager.v1.CmsMetadataValueService.ListCmsMetadataValuesCallback): void;

                    /**
                     * Calls ListCmsMetadataValues.
                     * @param request ListCmsMetadataValuesRequest message or plain object
                     * @returns Promise
                     */
                    public listCmsMetadataValues(request: google.ads.admanager.v1.IListCmsMetadataValuesRequest): Promise<google.ads.admanager.v1.ListCmsMetadataValuesResponse>;
                }

                namespace CmsMetadataValueService {

                    /**
                     * Callback as used by {@link google.ads.admanager.v1.CmsMetadataValueService|getCmsMetadataValue}.
                     * @param error Error, if any
                     * @param [response] CmsMetadataValue
                     */
                    type GetCmsMetadataValueCallback = (error: (Error|null), response?: google.ads.admanager.v1.CmsMetadataValue) => void;

                    /**
                     * Callback as used by {@link google.ads.admanager.v1.CmsMetadataValueService|listCmsMetadataValues}.
                     * @param error Error, if any
                     * @param [response] ListCmsMetadataValuesResponse
                     */
                    type ListCmsMetadataValuesCallback = (error: (Error|null), response?: google.ads.admanager.v1.ListCmsMetadataValuesResponse) => void;
                }

                /** Properties of a GetCmsMetadataValueRequest. */
                interface IGetCmsMetadataValueRequest {

                    /** GetCmsMetadataValueRequest name */
                    name?: (string|null);
                }

                /** Represents a GetCmsMetadataValueRequest. */
                class GetCmsMetadataValueRequest implements IGetCmsMetadataValueRequest {

                    /**
                     * Constructs a new GetCmsMetadataValueRequest.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IGetCmsMetadataValueRequest);

                    /** GetCmsMetadataValueRequest name. */
                    public name: string;

                    /**
                     * Creates a new GetCmsMetadataValueRequest instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns GetCmsMetadataValueRequest instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IGetCmsMetadataValueRequest): google.ads.admanager.v1.GetCmsMetadataValueRequest;

                    /**
                     * Encodes the specified GetCmsMetadataValueRequest message. Does not implicitly {@link google.ads.admanager.v1.GetCmsMetadataValueRequest.verify|verify} messages.
                     * @param message GetCmsMetadataValueRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IGetCmsMetadataValueRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified GetCmsMetadataValueRequest message, length delimited. Does not implicitly {@link google.ads.admanager.v1.GetCmsMetadataValueRequest.verify|verify} messages.
                     * @param message GetCmsMetadataValueRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IGetCmsMetadataValueRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a GetCmsMetadataValueRequest message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns GetCmsMetadataValueRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.GetCmsMetadataValueRequest;

                    /**
                     * Decodes a GetCmsMetadataValueRequest message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns GetCmsMetadataValueRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.GetCmsMetadataValueRequest;

                    /**
                     * Verifies a GetCmsMetadataValueRequest message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a GetCmsMetadataValueRequest message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns GetCmsMetadataValueRequest
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.GetCmsMetadataValueRequest;

                    /**
                     * Creates a plain object from a GetCmsMetadataValueRequest message. Also converts values to other types if specified.
                     * @param message GetCmsMetadataValueRequest
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.GetCmsMetadataValueRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this GetCmsMetadataValueRequest to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for GetCmsMetadataValueRequest
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a ListCmsMetadataValuesRequest. */
                interface IListCmsMetadataValuesRequest {

                    /** ListCmsMetadataValuesRequest parent */
                    parent?: (string|null);

                    /** ListCmsMetadataValuesRequest pageSize */
                    pageSize?: (number|null);

                    /** ListCmsMetadataValuesRequest pageToken */
                    pageToken?: (string|null);

                    /** ListCmsMetadataValuesRequest filter */
                    filter?: (string|null);

                    /** ListCmsMetadataValuesRequest orderBy */
                    orderBy?: (string|null);

                    /** ListCmsMetadataValuesRequest skip */
                    skip?: (number|null);
                }

                /** Represents a ListCmsMetadataValuesRequest. */
                class ListCmsMetadataValuesRequest implements IListCmsMetadataValuesRequest {

                    /**
                     * Constructs a new ListCmsMetadataValuesRequest.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IListCmsMetadataValuesRequest);

                    /** ListCmsMetadataValuesRequest parent. */
                    public parent: string;

                    /** ListCmsMetadataValuesRequest pageSize. */
                    public pageSize: number;

                    /** ListCmsMetadataValuesRequest pageToken. */
                    public pageToken: string;

                    /** ListCmsMetadataValuesRequest filter. */
                    public filter: string;

                    /** ListCmsMetadataValuesRequest orderBy. */
                    public orderBy: string;

                    /** ListCmsMetadataValuesRequest skip. */
                    public skip: number;

                    /**
                     * Creates a new ListCmsMetadataValuesRequest instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns ListCmsMetadataValuesRequest instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IListCmsMetadataValuesRequest): google.ads.admanager.v1.ListCmsMetadataValuesRequest;

                    /**
                     * Encodes the specified ListCmsMetadataValuesRequest message. Does not implicitly {@link google.ads.admanager.v1.ListCmsMetadataValuesRequest.verify|verify} messages.
                     * @param message ListCmsMetadataValuesRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IListCmsMetadataValuesRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified ListCmsMetadataValuesRequest message, length delimited. Does not implicitly {@link google.ads.admanager.v1.ListCmsMetadataValuesRequest.verify|verify} messages.
                     * @param message ListCmsMetadataValuesRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IListCmsMetadataValuesRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a ListCmsMetadataValuesRequest message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns ListCmsMetadataValuesRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.ListCmsMetadataValuesRequest;

                    /**
                     * Decodes a ListCmsMetadataValuesRequest message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns ListCmsMetadataValuesRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.ListCmsMetadataValuesRequest;

                    /**
                     * Verifies a ListCmsMetadataValuesRequest message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a ListCmsMetadataValuesRequest message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns ListCmsMetadataValuesRequest
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.ListCmsMetadataValuesRequest;

                    /**
                     * Creates a plain object from a ListCmsMetadataValuesRequest message. Also converts values to other types if specified.
                     * @param message ListCmsMetadataValuesRequest
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.ListCmsMetadataValuesRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this ListCmsMetadataValuesRequest to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for ListCmsMetadataValuesRequest
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a ListCmsMetadataValuesResponse. */
                interface IListCmsMetadataValuesResponse {

                    /** ListCmsMetadataValuesResponse cmsMetadataValues */
                    cmsMetadataValues?: (google.ads.admanager.v1.ICmsMetadataValue[]|null);

                    /** ListCmsMetadataValuesResponse nextPageToken */
                    nextPageToken?: (string|null);

                    /** ListCmsMetadataValuesResponse totalSize */
                    totalSize?: (number|null);
                }

                /** Represents a ListCmsMetadataValuesResponse. */
                class ListCmsMetadataValuesResponse implements IListCmsMetadataValuesResponse {

                    /**
                     * Constructs a new ListCmsMetadataValuesResponse.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IListCmsMetadataValuesResponse);

                    /** ListCmsMetadataValuesResponse cmsMetadataValues. */
                    public cmsMetadataValues: google.ads.admanager.v1.ICmsMetadataValue[];

                    /** ListCmsMetadataValuesResponse nextPageToken. */
                    public nextPageToken: string;

                    /** ListCmsMetadataValuesResponse totalSize. */
                    public totalSize: number;

                    /**
                     * Creates a new ListCmsMetadataValuesResponse instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns ListCmsMetadataValuesResponse instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IListCmsMetadataValuesResponse): google.ads.admanager.v1.ListCmsMetadataValuesResponse;

                    /**
                     * Encodes the specified ListCmsMetadataValuesResponse message. Does not implicitly {@link google.ads.admanager.v1.ListCmsMetadataValuesResponse.verify|verify} messages.
                     * @param message ListCmsMetadataValuesResponse message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IListCmsMetadataValuesResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified ListCmsMetadataValuesResponse message, length delimited. Does not implicitly {@link google.ads.admanager.v1.ListCmsMetadataValuesResponse.verify|verify} messages.
                     * @param message ListCmsMetadataValuesResponse message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IListCmsMetadataValuesResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a ListCmsMetadataValuesResponse message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns ListCmsMetadataValuesResponse
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.ListCmsMetadataValuesResponse;

                    /**
                     * Decodes a ListCmsMetadataValuesResponse message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns ListCmsMetadataValuesResponse
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.ListCmsMetadataValuesResponse;

                    /**
                     * Verifies a ListCmsMetadataValuesResponse message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a ListCmsMetadataValuesResponse message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns ListCmsMetadataValuesResponse
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.ListCmsMetadataValuesResponse;

                    /**
                     * Creates a plain object from a ListCmsMetadataValuesResponse message. Also converts values to other types if specified.
                     * @param message ListCmsMetadataValuesResponse
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.ListCmsMetadataValuesResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this ListCmsMetadataValuesResponse to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for ListCmsMetadataValuesResponse
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a CompanyTypeEnum. */
                interface ICompanyTypeEnum {
                }

                /** Represents a CompanyTypeEnum. */
                class CompanyTypeEnum implements ICompanyTypeEnum {

                    /**
                     * Constructs a new CompanyTypeEnum.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.ICompanyTypeEnum);

                    /**
                     * Creates a new CompanyTypeEnum instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns CompanyTypeEnum instance
                     */
                    public static create(properties?: google.ads.admanager.v1.ICompanyTypeEnum): google.ads.admanager.v1.CompanyTypeEnum;

                    /**
                     * Encodes the specified CompanyTypeEnum message. Does not implicitly {@link google.ads.admanager.v1.CompanyTypeEnum.verify|verify} messages.
                     * @param message CompanyTypeEnum message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.ICompanyTypeEnum, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified CompanyTypeEnum message, length delimited. Does not implicitly {@link google.ads.admanager.v1.CompanyTypeEnum.verify|verify} messages.
                     * @param message CompanyTypeEnum message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.ICompanyTypeEnum, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a CompanyTypeEnum message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns CompanyTypeEnum
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.CompanyTypeEnum;

                    /**
                     * Decodes a CompanyTypeEnum message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns CompanyTypeEnum
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.CompanyTypeEnum;

                    /**
                     * Verifies a CompanyTypeEnum message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a CompanyTypeEnum message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns CompanyTypeEnum
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.CompanyTypeEnum;

                    /**
                     * Creates a plain object from a CompanyTypeEnum message. Also converts values to other types if specified.
                     * @param message CompanyTypeEnum
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.CompanyTypeEnum, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this CompanyTypeEnum to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for CompanyTypeEnum
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                namespace CompanyTypeEnum {

                    /** CompanyType enum. */
                    enum CompanyType {
                        COMPANY_TYPE_UNSPECIFIED = 0,
                        ADVERTISER = 1,
                        HOUSE_ADVERTISER = 2,
                        AGENCY = 3,
                        HOUSE_AGENCY = 4,
                        AD_NETWORK = 5
                    }
                }

                /** Properties of a CompanyCreditStatusEnum. */
                interface ICompanyCreditStatusEnum {
                }

                /** Represents a CompanyCreditStatusEnum. */
                class CompanyCreditStatusEnum implements ICompanyCreditStatusEnum {

                    /**
                     * Constructs a new CompanyCreditStatusEnum.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.ICompanyCreditStatusEnum);

                    /**
                     * Creates a new CompanyCreditStatusEnum instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns CompanyCreditStatusEnum instance
                     */
                    public static create(properties?: google.ads.admanager.v1.ICompanyCreditStatusEnum): google.ads.admanager.v1.CompanyCreditStatusEnum;

                    /**
                     * Encodes the specified CompanyCreditStatusEnum message. Does not implicitly {@link google.ads.admanager.v1.CompanyCreditStatusEnum.verify|verify} messages.
                     * @param message CompanyCreditStatusEnum message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.ICompanyCreditStatusEnum, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified CompanyCreditStatusEnum message, length delimited. Does not implicitly {@link google.ads.admanager.v1.CompanyCreditStatusEnum.verify|verify} messages.
                     * @param message CompanyCreditStatusEnum message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.ICompanyCreditStatusEnum, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a CompanyCreditStatusEnum message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns CompanyCreditStatusEnum
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.CompanyCreditStatusEnum;

                    /**
                     * Decodes a CompanyCreditStatusEnum message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns CompanyCreditStatusEnum
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.CompanyCreditStatusEnum;

                    /**
                     * Verifies a CompanyCreditStatusEnum message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a CompanyCreditStatusEnum message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns CompanyCreditStatusEnum
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.CompanyCreditStatusEnum;

                    /**
                     * Creates a plain object from a CompanyCreditStatusEnum message. Also converts values to other types if specified.
                     * @param message CompanyCreditStatusEnum
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.CompanyCreditStatusEnum, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this CompanyCreditStatusEnum to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for CompanyCreditStatusEnum
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                namespace CompanyCreditStatusEnum {

                    /** CompanyCreditStatus enum. */
                    enum CompanyCreditStatus {
                        COMPANY_CREDIT_STATUS_UNSPECIFIED = 0,
                        ACTIVE = 1,
                        INACTIVE = 2,
                        ON_HOLD = 3,
                        STOP = 4,
                        BLOCKED = 5
                    }
                }

                /** Properties of a Company. */
                interface ICompany {

                    /** Company name */
                    name?: (string|null);

                    /** Company companyId */
                    companyId?: (number|Long|string|null);

                    /** Company displayName */
                    displayName?: (string|null);

                    /** Company type */
                    type?: (google.ads.admanager.v1.CompanyTypeEnum.CompanyType|keyof typeof google.ads.admanager.v1.CompanyTypeEnum.CompanyType|null);

                    /** Company address */
                    address?: (string|null);

                    /** Company email */
                    email?: (string|null);

                    /** Company fax */
                    fax?: (string|null);

                    /** Company phone */
                    phone?: (string|null);

                    /** Company externalId */
                    externalId?: (string|null);

                    /** Company comment */
                    comment?: (string|null);

                    /** Company creditStatus */
                    creditStatus?: (google.ads.admanager.v1.CompanyCreditStatusEnum.CompanyCreditStatus|keyof typeof google.ads.admanager.v1.CompanyCreditStatusEnum.CompanyCreditStatus|null);

                    /** Company appliedLabels */
                    appliedLabels?: (google.ads.admanager.v1.IAppliedLabel[]|null);

                    /** Company primaryContact */
                    primaryContact?: (string|null);

                    /** Company appliedTeams */
                    appliedTeams?: (string[]|null);

                    /** Company thirdPartyCompanyId */
                    thirdPartyCompanyId?: (number|Long|string|null);

                    /** Company updateTime */
                    updateTime?: (google.protobuf.ITimestamp|null);
                }

                /** Represents a Company. */
                class Company implements ICompany {

                    /**
                     * Constructs a new Company.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.ICompany);

                    /** Company name. */
                    public name: string;

                    /** Company companyId. */
                    public companyId?: (number|Long|string|null);

                    /** Company displayName. */
                    public displayName?: (string|null);

                    /** Company type. */
                    public type?: (google.ads.admanager.v1.CompanyTypeEnum.CompanyType|keyof typeof google.ads.admanager.v1.CompanyTypeEnum.CompanyType|null);

                    /** Company address. */
                    public address?: (string|null);

                    /** Company email. */
                    public email?: (string|null);

                    /** Company fax. */
                    public fax?: (string|null);

                    /** Company phone. */
                    public phone?: (string|null);

                    /** Company externalId. */
                    public externalId?: (string|null);

                    /** Company comment. */
                    public comment?: (string|null);

                    /** Company creditStatus. */
                    public creditStatus?: (google.ads.admanager.v1.CompanyCreditStatusEnum.CompanyCreditStatus|keyof typeof google.ads.admanager.v1.CompanyCreditStatusEnum.CompanyCreditStatus|null);

                    /** Company appliedLabels. */
                    public appliedLabels: google.ads.admanager.v1.IAppliedLabel[];

                    /** Company primaryContact. */
                    public primaryContact?: (string|null);

                    /** Company appliedTeams. */
                    public appliedTeams: string[];

                    /** Company thirdPartyCompanyId. */
                    public thirdPartyCompanyId?: (number|Long|string|null);

                    /** Company updateTime. */
                    public updateTime?: (google.protobuf.ITimestamp|null);

                    /**
                     * Creates a new Company instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns Company instance
                     */
                    public static create(properties?: google.ads.admanager.v1.ICompany): google.ads.admanager.v1.Company;

                    /**
                     * Encodes the specified Company message. Does not implicitly {@link google.ads.admanager.v1.Company.verify|verify} messages.
                     * @param message Company message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.ICompany, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified Company message, length delimited. Does not implicitly {@link google.ads.admanager.v1.Company.verify|verify} messages.
                     * @param message Company message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.ICompany, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a Company message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns Company
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.Company;

                    /**
                     * Decodes a Company message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns Company
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.Company;

                    /**
                     * Verifies a Company message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a Company message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns Company
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.Company;

                    /**
                     * Creates a plain object from a Company message. Also converts values to other types if specified.
                     * @param message Company
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.Company, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this Company to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for Company
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Represents a CompanyService */
                class CompanyService extends $protobuf.rpc.Service {

                    /**
                     * Constructs a new CompanyService service.
                     * @param rpcImpl RPC implementation
                     * @param [requestDelimited=false] Whether requests are length-delimited
                     * @param [responseDelimited=false] Whether responses are length-delimited
                     */
                    constructor(rpcImpl: $protobuf.RPCImpl, requestDelimited?: boolean, responseDelimited?: boolean);

                    /**
                     * Creates new CompanyService service using the specified rpc implementation.
                     * @param rpcImpl RPC implementation
                     * @param [requestDelimited=false] Whether requests are length-delimited
                     * @param [responseDelimited=false] Whether responses are length-delimited
                     * @returns RPC service. Useful where requests and/or responses are streamed.
                     */
                    public static create(rpcImpl: $protobuf.RPCImpl, requestDelimited?: boolean, responseDelimited?: boolean): CompanyService;

                    /**
                     * Calls GetCompany.
                     * @param request GetCompanyRequest message or plain object
                     * @param callback Node-style callback called with the error, if any, and Company
                     */
                    public getCompany(request: google.ads.admanager.v1.IGetCompanyRequest, callback: google.ads.admanager.v1.CompanyService.GetCompanyCallback): void;

                    /**
                     * Calls GetCompany.
                     * @param request GetCompanyRequest message or plain object
                     * @returns Promise
                     */
                    public getCompany(request: google.ads.admanager.v1.IGetCompanyRequest): Promise<google.ads.admanager.v1.Company>;

                    /**
                     * Calls ListCompanies.
                     * @param request ListCompaniesRequest message or plain object
                     * @param callback Node-style callback called with the error, if any, and ListCompaniesResponse
                     */
                    public listCompanies(request: google.ads.admanager.v1.IListCompaniesRequest, callback: google.ads.admanager.v1.CompanyService.ListCompaniesCallback): void;

                    /**
                     * Calls ListCompanies.
                     * @param request ListCompaniesRequest message or plain object
                     * @returns Promise
                     */
                    public listCompanies(request: google.ads.admanager.v1.IListCompaniesRequest): Promise<google.ads.admanager.v1.ListCompaniesResponse>;
                }

                namespace CompanyService {

                    /**
                     * Callback as used by {@link google.ads.admanager.v1.CompanyService|getCompany}.
                     * @param error Error, if any
                     * @param [response] Company
                     */
                    type GetCompanyCallback = (error: (Error|null), response?: google.ads.admanager.v1.Company) => void;

                    /**
                     * Callback as used by {@link google.ads.admanager.v1.CompanyService|listCompanies}.
                     * @param error Error, if any
                     * @param [response] ListCompaniesResponse
                     */
                    type ListCompaniesCallback = (error: (Error|null), response?: google.ads.admanager.v1.ListCompaniesResponse) => void;
                }

                /** Properties of a GetCompanyRequest. */
                interface IGetCompanyRequest {

                    /** GetCompanyRequest name */
                    name?: (string|null);
                }

                /** Represents a GetCompanyRequest. */
                class GetCompanyRequest implements IGetCompanyRequest {

                    /**
                     * Constructs a new GetCompanyRequest.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IGetCompanyRequest);

                    /** GetCompanyRequest name. */
                    public name: string;

                    /**
                     * Creates a new GetCompanyRequest instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns GetCompanyRequest instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IGetCompanyRequest): google.ads.admanager.v1.GetCompanyRequest;

                    /**
                     * Encodes the specified GetCompanyRequest message. Does not implicitly {@link google.ads.admanager.v1.GetCompanyRequest.verify|verify} messages.
                     * @param message GetCompanyRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IGetCompanyRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified GetCompanyRequest message, length delimited. Does not implicitly {@link google.ads.admanager.v1.GetCompanyRequest.verify|verify} messages.
                     * @param message GetCompanyRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IGetCompanyRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a GetCompanyRequest message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns GetCompanyRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.GetCompanyRequest;

                    /**
                     * Decodes a GetCompanyRequest message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns GetCompanyRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.GetCompanyRequest;

                    /**
                     * Verifies a GetCompanyRequest message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a GetCompanyRequest message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns GetCompanyRequest
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.GetCompanyRequest;

                    /**
                     * Creates a plain object from a GetCompanyRequest message. Also converts values to other types if specified.
                     * @param message GetCompanyRequest
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.GetCompanyRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this GetCompanyRequest to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for GetCompanyRequest
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a ListCompaniesRequest. */
                interface IListCompaniesRequest {

                    /** ListCompaniesRequest parent */
                    parent?: (string|null);

                    /** ListCompaniesRequest pageSize */
                    pageSize?: (number|null);

                    /** ListCompaniesRequest pageToken */
                    pageToken?: (string|null);

                    /** ListCompaniesRequest filter */
                    filter?: (string|null);

                    /** ListCompaniesRequest orderBy */
                    orderBy?: (string|null);

                    /** ListCompaniesRequest skip */
                    skip?: (number|null);
                }

                /** Represents a ListCompaniesRequest. */
                class ListCompaniesRequest implements IListCompaniesRequest {

                    /**
                     * Constructs a new ListCompaniesRequest.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IListCompaniesRequest);

                    /** ListCompaniesRequest parent. */
                    public parent: string;

                    /** ListCompaniesRequest pageSize. */
                    public pageSize: number;

                    /** ListCompaniesRequest pageToken. */
                    public pageToken: string;

                    /** ListCompaniesRequest filter. */
                    public filter: string;

                    /** ListCompaniesRequest orderBy. */
                    public orderBy: string;

                    /** ListCompaniesRequest skip. */
                    public skip: number;

                    /**
                     * Creates a new ListCompaniesRequest instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns ListCompaniesRequest instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IListCompaniesRequest): google.ads.admanager.v1.ListCompaniesRequest;

                    /**
                     * Encodes the specified ListCompaniesRequest message. Does not implicitly {@link google.ads.admanager.v1.ListCompaniesRequest.verify|verify} messages.
                     * @param message ListCompaniesRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IListCompaniesRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified ListCompaniesRequest message, length delimited. Does not implicitly {@link google.ads.admanager.v1.ListCompaniesRequest.verify|verify} messages.
                     * @param message ListCompaniesRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IListCompaniesRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a ListCompaniesRequest message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns ListCompaniesRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.ListCompaniesRequest;

                    /**
                     * Decodes a ListCompaniesRequest message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns ListCompaniesRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.ListCompaniesRequest;

                    /**
                     * Verifies a ListCompaniesRequest message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a ListCompaniesRequest message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns ListCompaniesRequest
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.ListCompaniesRequest;

                    /**
                     * Creates a plain object from a ListCompaniesRequest message. Also converts values to other types if specified.
                     * @param message ListCompaniesRequest
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.ListCompaniesRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this ListCompaniesRequest to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for ListCompaniesRequest
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a ListCompaniesResponse. */
                interface IListCompaniesResponse {

                    /** ListCompaniesResponse companies */
                    companies?: (google.ads.admanager.v1.ICompany[]|null);

                    /** ListCompaniesResponse nextPageToken */
                    nextPageToken?: (string|null);

                    /** ListCompaniesResponse totalSize */
                    totalSize?: (number|null);
                }

                /** Represents a ListCompaniesResponse. */
                class ListCompaniesResponse implements IListCompaniesResponse {

                    /**
                     * Constructs a new ListCompaniesResponse.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IListCompaniesResponse);

                    /** ListCompaniesResponse companies. */
                    public companies: google.ads.admanager.v1.ICompany[];

                    /** ListCompaniesResponse nextPageToken. */
                    public nextPageToken: string;

                    /** ListCompaniesResponse totalSize. */
                    public totalSize: number;

                    /**
                     * Creates a new ListCompaniesResponse instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns ListCompaniesResponse instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IListCompaniesResponse): google.ads.admanager.v1.ListCompaniesResponse;

                    /**
                     * Encodes the specified ListCompaniesResponse message. Does not implicitly {@link google.ads.admanager.v1.ListCompaniesResponse.verify|verify} messages.
                     * @param message ListCompaniesResponse message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IListCompaniesResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified ListCompaniesResponse message, length delimited. Does not implicitly {@link google.ads.admanager.v1.ListCompaniesResponse.verify|verify} messages.
                     * @param message ListCompaniesResponse message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IListCompaniesResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a ListCompaniesResponse message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns ListCompaniesResponse
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.ListCompaniesResponse;

                    /**
                     * Decodes a ListCompaniesResponse message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns ListCompaniesResponse
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.ListCompaniesResponse;

                    /**
                     * Verifies a ListCompaniesResponse message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a ListCompaniesResponse message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns ListCompaniesResponse
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.ListCompaniesResponse;

                    /**
                     * Creates a plain object from a ListCompaniesResponse message. Also converts values to other types if specified.
                     * @param message ListCompaniesResponse
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.ListCompaniesResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this ListCompaniesResponse to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for ListCompaniesResponse
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a ContactStatusEnum. */
                interface IContactStatusEnum {
                }

                /** Represents a ContactStatusEnum. */
                class ContactStatusEnum implements IContactStatusEnum {

                    /**
                     * Constructs a new ContactStatusEnum.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IContactStatusEnum);

                    /**
                     * Creates a new ContactStatusEnum instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns ContactStatusEnum instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IContactStatusEnum): google.ads.admanager.v1.ContactStatusEnum;

                    /**
                     * Encodes the specified ContactStatusEnum message. Does not implicitly {@link google.ads.admanager.v1.ContactStatusEnum.verify|verify} messages.
                     * @param message ContactStatusEnum message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IContactStatusEnum, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified ContactStatusEnum message, length delimited. Does not implicitly {@link google.ads.admanager.v1.ContactStatusEnum.verify|verify} messages.
                     * @param message ContactStatusEnum message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IContactStatusEnum, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a ContactStatusEnum message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns ContactStatusEnum
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.ContactStatusEnum;

                    /**
                     * Decodes a ContactStatusEnum message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns ContactStatusEnum
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.ContactStatusEnum;

                    /**
                     * Verifies a ContactStatusEnum message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a ContactStatusEnum message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns ContactStatusEnum
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.ContactStatusEnum;

                    /**
                     * Creates a plain object from a ContactStatusEnum message. Also converts values to other types if specified.
                     * @param message ContactStatusEnum
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.ContactStatusEnum, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this ContactStatusEnum to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for ContactStatusEnum
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                namespace ContactStatusEnum {

                    /** ContactStatus enum. */
                    enum ContactStatus {
                        CONTACT_STATUS_UNSPECIFIED = 0,
                        INVITE_CANCELED = 1,
                        INVITE_EXPIRED = 2,
                        INVITE_PENDING = 3,
                        UNINVITED = 4,
                        USER_ACTIVE = 5,
                        USER_DISABLED = 6
                    }
                }

                /** Properties of a Contact. */
                interface IContact {

                    /** Contact name */
                    name?: (string|null);

                    /** Contact displayName */
                    displayName?: (string|null);

                    /** Contact company */
                    company?: (string|null);

                    /** Contact status */
                    status?: (google.ads.admanager.v1.ContactStatusEnum.ContactStatus|keyof typeof google.ads.admanager.v1.ContactStatusEnum.ContactStatus|null);

                    /** Contact address */
                    address?: (string|null);

                    /** Contact cellPhone */
                    cellPhone?: (string|null);

                    /** Contact comment */
                    comment?: (string|null);

                    /** Contact email */
                    email?: (string|null);

                    /** Contact fax */
                    fax?: (string|null);

                    /** Contact title */
                    title?: (string|null);

                    /** Contact workPhone */
                    workPhone?: (string|null);
                }

                /** Represents a Contact. */
                class Contact implements IContact {

                    /**
                     * Constructs a new Contact.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IContact);

                    /** Contact name. */
                    public name: string;

                    /** Contact displayName. */
                    public displayName?: (string|null);

                    /** Contact company. */
                    public company?: (string|null);

                    /** Contact status. */
                    public status?: (google.ads.admanager.v1.ContactStatusEnum.ContactStatus|keyof typeof google.ads.admanager.v1.ContactStatusEnum.ContactStatus|null);

                    /** Contact address. */
                    public address?: (string|null);

                    /** Contact cellPhone. */
                    public cellPhone?: (string|null);

                    /** Contact comment. */
                    public comment?: (string|null);

                    /** Contact email. */
                    public email?: (string|null);

                    /** Contact fax. */
                    public fax?: (string|null);

                    /** Contact title. */
                    public title?: (string|null);

                    /** Contact workPhone. */
                    public workPhone?: (string|null);

                    /**
                     * Creates a new Contact instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns Contact instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IContact): google.ads.admanager.v1.Contact;

                    /**
                     * Encodes the specified Contact message. Does not implicitly {@link google.ads.admanager.v1.Contact.verify|verify} messages.
                     * @param message Contact message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IContact, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified Contact message, length delimited. Does not implicitly {@link google.ads.admanager.v1.Contact.verify|verify} messages.
                     * @param message Contact message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IContact, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a Contact message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns Contact
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.Contact;

                    /**
                     * Decodes a Contact message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns Contact
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.Contact;

                    /**
                     * Verifies a Contact message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a Contact message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns Contact
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.Contact;

                    /**
                     * Creates a plain object from a Contact message. Also converts values to other types if specified.
                     * @param message Contact
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.Contact, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this Contact to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for Contact
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Represents a ContactService */
                class ContactService extends $protobuf.rpc.Service {

                    /**
                     * Constructs a new ContactService service.
                     * @param rpcImpl RPC implementation
                     * @param [requestDelimited=false] Whether requests are length-delimited
                     * @param [responseDelimited=false] Whether responses are length-delimited
                     */
                    constructor(rpcImpl: $protobuf.RPCImpl, requestDelimited?: boolean, responseDelimited?: boolean);

                    /**
                     * Creates new ContactService service using the specified rpc implementation.
                     * @param rpcImpl RPC implementation
                     * @param [requestDelimited=false] Whether requests are length-delimited
                     * @param [responseDelimited=false] Whether responses are length-delimited
                     * @returns RPC service. Useful where requests and/or responses are streamed.
                     */
                    public static create(rpcImpl: $protobuf.RPCImpl, requestDelimited?: boolean, responseDelimited?: boolean): ContactService;

                    /**
                     * Calls GetContact.
                     * @param request GetContactRequest message or plain object
                     * @param callback Node-style callback called with the error, if any, and Contact
                     */
                    public getContact(request: google.ads.admanager.v1.IGetContactRequest, callback: google.ads.admanager.v1.ContactService.GetContactCallback): void;

                    /**
                     * Calls GetContact.
                     * @param request GetContactRequest message or plain object
                     * @returns Promise
                     */
                    public getContact(request: google.ads.admanager.v1.IGetContactRequest): Promise<google.ads.admanager.v1.Contact>;

                    /**
                     * Calls ListContacts.
                     * @param request ListContactsRequest message or plain object
                     * @param callback Node-style callback called with the error, if any, and ListContactsResponse
                     */
                    public listContacts(request: google.ads.admanager.v1.IListContactsRequest, callback: google.ads.admanager.v1.ContactService.ListContactsCallback): void;

                    /**
                     * Calls ListContacts.
                     * @param request ListContactsRequest message or plain object
                     * @returns Promise
                     */
                    public listContacts(request: google.ads.admanager.v1.IListContactsRequest): Promise<google.ads.admanager.v1.ListContactsResponse>;

                    /**
                     * Calls CreateContact.
                     * @param request CreateContactRequest message or plain object
                     * @param callback Node-style callback called with the error, if any, and Contact
                     */
                    public createContact(request: google.ads.admanager.v1.ICreateContactRequest, callback: google.ads.admanager.v1.ContactService.CreateContactCallback): void;

                    /**
                     * Calls CreateContact.
                     * @param request CreateContactRequest message or plain object
                     * @returns Promise
                     */
                    public createContact(request: google.ads.admanager.v1.ICreateContactRequest): Promise<google.ads.admanager.v1.Contact>;

                    /**
                     * Calls BatchCreateContacts.
                     * @param request BatchCreateContactsRequest message or plain object
                     * @param callback Node-style callback called with the error, if any, and BatchCreateContactsResponse
                     */
                    public batchCreateContacts(request: google.ads.admanager.v1.IBatchCreateContactsRequest, callback: google.ads.admanager.v1.ContactService.BatchCreateContactsCallback): void;

                    /**
                     * Calls BatchCreateContacts.
                     * @param request BatchCreateContactsRequest message or plain object
                     * @returns Promise
                     */
                    public batchCreateContacts(request: google.ads.admanager.v1.IBatchCreateContactsRequest): Promise<google.ads.admanager.v1.BatchCreateContactsResponse>;

                    /**
                     * Calls UpdateContact.
                     * @param request UpdateContactRequest message or plain object
                     * @param callback Node-style callback called with the error, if any, and Contact
                     */
                    public updateContact(request: google.ads.admanager.v1.IUpdateContactRequest, callback: google.ads.admanager.v1.ContactService.UpdateContactCallback): void;

                    /**
                     * Calls UpdateContact.
                     * @param request UpdateContactRequest message or plain object
                     * @returns Promise
                     */
                    public updateContact(request: google.ads.admanager.v1.IUpdateContactRequest): Promise<google.ads.admanager.v1.Contact>;

                    /**
                     * Calls BatchUpdateContacts.
                     * @param request BatchUpdateContactsRequest message or plain object
                     * @param callback Node-style callback called with the error, if any, and BatchUpdateContactsResponse
                     */
                    public batchUpdateContacts(request: google.ads.admanager.v1.IBatchUpdateContactsRequest, callback: google.ads.admanager.v1.ContactService.BatchUpdateContactsCallback): void;

                    /**
                     * Calls BatchUpdateContacts.
                     * @param request BatchUpdateContactsRequest message or plain object
                     * @returns Promise
                     */
                    public batchUpdateContacts(request: google.ads.admanager.v1.IBatchUpdateContactsRequest): Promise<google.ads.admanager.v1.BatchUpdateContactsResponse>;
                }

                namespace ContactService {

                    /**
                     * Callback as used by {@link google.ads.admanager.v1.ContactService|getContact}.
                     * @param error Error, if any
                     * @param [response] Contact
                     */
                    type GetContactCallback = (error: (Error|null), response?: google.ads.admanager.v1.Contact) => void;

                    /**
                     * Callback as used by {@link google.ads.admanager.v1.ContactService|listContacts}.
                     * @param error Error, if any
                     * @param [response] ListContactsResponse
                     */
                    type ListContactsCallback = (error: (Error|null), response?: google.ads.admanager.v1.ListContactsResponse) => void;

                    /**
                     * Callback as used by {@link google.ads.admanager.v1.ContactService|createContact}.
                     * @param error Error, if any
                     * @param [response] Contact
                     */
                    type CreateContactCallback = (error: (Error|null), response?: google.ads.admanager.v1.Contact) => void;

                    /**
                     * Callback as used by {@link google.ads.admanager.v1.ContactService|batchCreateContacts}.
                     * @param error Error, if any
                     * @param [response] BatchCreateContactsResponse
                     */
                    type BatchCreateContactsCallback = (error: (Error|null), response?: google.ads.admanager.v1.BatchCreateContactsResponse) => void;

                    /**
                     * Callback as used by {@link google.ads.admanager.v1.ContactService|updateContact}.
                     * @param error Error, if any
                     * @param [response] Contact
                     */
                    type UpdateContactCallback = (error: (Error|null), response?: google.ads.admanager.v1.Contact) => void;

                    /**
                     * Callback as used by {@link google.ads.admanager.v1.ContactService|batchUpdateContacts}.
                     * @param error Error, if any
                     * @param [response] BatchUpdateContactsResponse
                     */
                    type BatchUpdateContactsCallback = (error: (Error|null), response?: google.ads.admanager.v1.BatchUpdateContactsResponse) => void;
                }

                /** Properties of a GetContactRequest. */
                interface IGetContactRequest {

                    /** GetContactRequest name */
                    name?: (string|null);
                }

                /** Represents a GetContactRequest. */
                class GetContactRequest implements IGetContactRequest {

                    /**
                     * Constructs a new GetContactRequest.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IGetContactRequest);

                    /** GetContactRequest name. */
                    public name: string;

                    /**
                     * Creates a new GetContactRequest instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns GetContactRequest instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IGetContactRequest): google.ads.admanager.v1.GetContactRequest;

                    /**
                     * Encodes the specified GetContactRequest message. Does not implicitly {@link google.ads.admanager.v1.GetContactRequest.verify|verify} messages.
                     * @param message GetContactRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IGetContactRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified GetContactRequest message, length delimited. Does not implicitly {@link google.ads.admanager.v1.GetContactRequest.verify|verify} messages.
                     * @param message GetContactRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IGetContactRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a GetContactRequest message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns GetContactRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.GetContactRequest;

                    /**
                     * Decodes a GetContactRequest message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns GetContactRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.GetContactRequest;

                    /**
                     * Verifies a GetContactRequest message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a GetContactRequest message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns GetContactRequest
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.GetContactRequest;

                    /**
                     * Creates a plain object from a GetContactRequest message. Also converts values to other types if specified.
                     * @param message GetContactRequest
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.GetContactRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this GetContactRequest to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for GetContactRequest
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a ListContactsRequest. */
                interface IListContactsRequest {

                    /** ListContactsRequest parent */
                    parent?: (string|null);

                    /** ListContactsRequest pageSize */
                    pageSize?: (number|null);

                    /** ListContactsRequest pageToken */
                    pageToken?: (string|null);

                    /** ListContactsRequest filter */
                    filter?: (string|null);

                    /** ListContactsRequest orderBy */
                    orderBy?: (string|null);

                    /** ListContactsRequest skip */
                    skip?: (number|null);
                }

                /** Represents a ListContactsRequest. */
                class ListContactsRequest implements IListContactsRequest {

                    /**
                     * Constructs a new ListContactsRequest.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IListContactsRequest);

                    /** ListContactsRequest parent. */
                    public parent: string;

                    /** ListContactsRequest pageSize. */
                    public pageSize: number;

                    /** ListContactsRequest pageToken. */
                    public pageToken: string;

                    /** ListContactsRequest filter. */
                    public filter: string;

                    /** ListContactsRequest orderBy. */
                    public orderBy: string;

                    /** ListContactsRequest skip. */
                    public skip: number;

                    /**
                     * Creates a new ListContactsRequest instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns ListContactsRequest instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IListContactsRequest): google.ads.admanager.v1.ListContactsRequest;

                    /**
                     * Encodes the specified ListContactsRequest message. Does not implicitly {@link google.ads.admanager.v1.ListContactsRequest.verify|verify} messages.
                     * @param message ListContactsRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IListContactsRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified ListContactsRequest message, length delimited. Does not implicitly {@link google.ads.admanager.v1.ListContactsRequest.verify|verify} messages.
                     * @param message ListContactsRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IListContactsRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a ListContactsRequest message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns ListContactsRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.ListContactsRequest;

                    /**
                     * Decodes a ListContactsRequest message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns ListContactsRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.ListContactsRequest;

                    /**
                     * Verifies a ListContactsRequest message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a ListContactsRequest message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns ListContactsRequest
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.ListContactsRequest;

                    /**
                     * Creates a plain object from a ListContactsRequest message. Also converts values to other types if specified.
                     * @param message ListContactsRequest
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.ListContactsRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this ListContactsRequest to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for ListContactsRequest
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a ListContactsResponse. */
                interface IListContactsResponse {

                    /** ListContactsResponse contacts */
                    contacts?: (google.ads.admanager.v1.IContact[]|null);

                    /** ListContactsResponse nextPageToken */
                    nextPageToken?: (string|null);

                    /** ListContactsResponse totalSize */
                    totalSize?: (number|null);
                }

                /** Represents a ListContactsResponse. */
                class ListContactsResponse implements IListContactsResponse {

                    /**
                     * Constructs a new ListContactsResponse.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IListContactsResponse);

                    /** ListContactsResponse contacts. */
                    public contacts: google.ads.admanager.v1.IContact[];

                    /** ListContactsResponse nextPageToken. */
                    public nextPageToken: string;

                    /** ListContactsResponse totalSize. */
                    public totalSize: number;

                    /**
                     * Creates a new ListContactsResponse instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns ListContactsResponse instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IListContactsResponse): google.ads.admanager.v1.ListContactsResponse;

                    /**
                     * Encodes the specified ListContactsResponse message. Does not implicitly {@link google.ads.admanager.v1.ListContactsResponse.verify|verify} messages.
                     * @param message ListContactsResponse message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IListContactsResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified ListContactsResponse message, length delimited. Does not implicitly {@link google.ads.admanager.v1.ListContactsResponse.verify|verify} messages.
                     * @param message ListContactsResponse message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IListContactsResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a ListContactsResponse message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns ListContactsResponse
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.ListContactsResponse;

                    /**
                     * Decodes a ListContactsResponse message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns ListContactsResponse
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.ListContactsResponse;

                    /**
                     * Verifies a ListContactsResponse message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a ListContactsResponse message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns ListContactsResponse
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.ListContactsResponse;

                    /**
                     * Creates a plain object from a ListContactsResponse message. Also converts values to other types if specified.
                     * @param message ListContactsResponse
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.ListContactsResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this ListContactsResponse to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for ListContactsResponse
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a CreateContactRequest. */
                interface ICreateContactRequest {

                    /** CreateContactRequest parent */
                    parent?: (string|null);

                    /** CreateContactRequest contact */
                    contact?: (google.ads.admanager.v1.IContact|null);
                }

                /** Represents a CreateContactRequest. */
                class CreateContactRequest implements ICreateContactRequest {

                    /**
                     * Constructs a new CreateContactRequest.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.ICreateContactRequest);

                    /** CreateContactRequest parent. */
                    public parent: string;

                    /** CreateContactRequest contact. */
                    public contact?: (google.ads.admanager.v1.IContact|null);

                    /**
                     * Creates a new CreateContactRequest instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns CreateContactRequest instance
                     */
                    public static create(properties?: google.ads.admanager.v1.ICreateContactRequest): google.ads.admanager.v1.CreateContactRequest;

                    /**
                     * Encodes the specified CreateContactRequest message. Does not implicitly {@link google.ads.admanager.v1.CreateContactRequest.verify|verify} messages.
                     * @param message CreateContactRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.ICreateContactRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified CreateContactRequest message, length delimited. Does not implicitly {@link google.ads.admanager.v1.CreateContactRequest.verify|verify} messages.
                     * @param message CreateContactRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.ICreateContactRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a CreateContactRequest message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns CreateContactRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.CreateContactRequest;

                    /**
                     * Decodes a CreateContactRequest message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns CreateContactRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.CreateContactRequest;

                    /**
                     * Verifies a CreateContactRequest message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a CreateContactRequest message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns CreateContactRequest
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.CreateContactRequest;

                    /**
                     * Creates a plain object from a CreateContactRequest message. Also converts values to other types if specified.
                     * @param message CreateContactRequest
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.CreateContactRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this CreateContactRequest to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for CreateContactRequest
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a BatchCreateContactsRequest. */
                interface IBatchCreateContactsRequest {

                    /** BatchCreateContactsRequest parent */
                    parent?: (string|null);

                    /** BatchCreateContactsRequest requests */
                    requests?: (google.ads.admanager.v1.ICreateContactRequest[]|null);
                }

                /** Represents a BatchCreateContactsRequest. */
                class BatchCreateContactsRequest implements IBatchCreateContactsRequest {

                    /**
                     * Constructs a new BatchCreateContactsRequest.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IBatchCreateContactsRequest);

                    /** BatchCreateContactsRequest parent. */
                    public parent: string;

                    /** BatchCreateContactsRequest requests. */
                    public requests: google.ads.admanager.v1.ICreateContactRequest[];

                    /**
                     * Creates a new BatchCreateContactsRequest instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns BatchCreateContactsRequest instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IBatchCreateContactsRequest): google.ads.admanager.v1.BatchCreateContactsRequest;

                    /**
                     * Encodes the specified BatchCreateContactsRequest message. Does not implicitly {@link google.ads.admanager.v1.BatchCreateContactsRequest.verify|verify} messages.
                     * @param message BatchCreateContactsRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IBatchCreateContactsRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified BatchCreateContactsRequest message, length delimited. Does not implicitly {@link google.ads.admanager.v1.BatchCreateContactsRequest.verify|verify} messages.
                     * @param message BatchCreateContactsRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IBatchCreateContactsRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a BatchCreateContactsRequest message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns BatchCreateContactsRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.BatchCreateContactsRequest;

                    /**
                     * Decodes a BatchCreateContactsRequest message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns BatchCreateContactsRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.BatchCreateContactsRequest;

                    /**
                     * Verifies a BatchCreateContactsRequest message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a BatchCreateContactsRequest message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns BatchCreateContactsRequest
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.BatchCreateContactsRequest;

                    /**
                     * Creates a plain object from a BatchCreateContactsRequest message. Also converts values to other types if specified.
                     * @param message BatchCreateContactsRequest
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.BatchCreateContactsRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this BatchCreateContactsRequest to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for BatchCreateContactsRequest
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a BatchCreateContactsResponse. */
                interface IBatchCreateContactsResponse {

                    /** BatchCreateContactsResponse contacts */
                    contacts?: (google.ads.admanager.v1.IContact[]|null);
                }

                /** Represents a BatchCreateContactsResponse. */
                class BatchCreateContactsResponse implements IBatchCreateContactsResponse {

                    /**
                     * Constructs a new BatchCreateContactsResponse.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IBatchCreateContactsResponse);

                    /** BatchCreateContactsResponse contacts. */
                    public contacts: google.ads.admanager.v1.IContact[];

                    /**
                     * Creates a new BatchCreateContactsResponse instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns BatchCreateContactsResponse instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IBatchCreateContactsResponse): google.ads.admanager.v1.BatchCreateContactsResponse;

                    /**
                     * Encodes the specified BatchCreateContactsResponse message. Does not implicitly {@link google.ads.admanager.v1.BatchCreateContactsResponse.verify|verify} messages.
                     * @param message BatchCreateContactsResponse message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IBatchCreateContactsResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified BatchCreateContactsResponse message, length delimited. Does not implicitly {@link google.ads.admanager.v1.BatchCreateContactsResponse.verify|verify} messages.
                     * @param message BatchCreateContactsResponse message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IBatchCreateContactsResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a BatchCreateContactsResponse message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns BatchCreateContactsResponse
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.BatchCreateContactsResponse;

                    /**
                     * Decodes a BatchCreateContactsResponse message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns BatchCreateContactsResponse
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.BatchCreateContactsResponse;

                    /**
                     * Verifies a BatchCreateContactsResponse message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a BatchCreateContactsResponse message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns BatchCreateContactsResponse
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.BatchCreateContactsResponse;

                    /**
                     * Creates a plain object from a BatchCreateContactsResponse message. Also converts values to other types if specified.
                     * @param message BatchCreateContactsResponse
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.BatchCreateContactsResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this BatchCreateContactsResponse to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for BatchCreateContactsResponse
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of an UpdateContactRequest. */
                interface IUpdateContactRequest {

                    /** UpdateContactRequest contact */
                    contact?: (google.ads.admanager.v1.IContact|null);

                    /** UpdateContactRequest updateMask */
                    updateMask?: (google.protobuf.IFieldMask|null);
                }

                /** Represents an UpdateContactRequest. */
                class UpdateContactRequest implements IUpdateContactRequest {

                    /**
                     * Constructs a new UpdateContactRequest.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IUpdateContactRequest);

                    /** UpdateContactRequest contact. */
                    public contact?: (google.ads.admanager.v1.IContact|null);

                    /** UpdateContactRequest updateMask. */
                    public updateMask?: (google.protobuf.IFieldMask|null);

                    /**
                     * Creates a new UpdateContactRequest instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns UpdateContactRequest instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IUpdateContactRequest): google.ads.admanager.v1.UpdateContactRequest;

                    /**
                     * Encodes the specified UpdateContactRequest message. Does not implicitly {@link google.ads.admanager.v1.UpdateContactRequest.verify|verify} messages.
                     * @param message UpdateContactRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IUpdateContactRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified UpdateContactRequest message, length delimited. Does not implicitly {@link google.ads.admanager.v1.UpdateContactRequest.verify|verify} messages.
                     * @param message UpdateContactRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IUpdateContactRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes an UpdateContactRequest message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns UpdateContactRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.UpdateContactRequest;

                    /**
                     * Decodes an UpdateContactRequest message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns UpdateContactRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.UpdateContactRequest;

                    /**
                     * Verifies an UpdateContactRequest message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates an UpdateContactRequest message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns UpdateContactRequest
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.UpdateContactRequest;

                    /**
                     * Creates a plain object from an UpdateContactRequest message. Also converts values to other types if specified.
                     * @param message UpdateContactRequest
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.UpdateContactRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this UpdateContactRequest to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for UpdateContactRequest
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a BatchUpdateContactsRequest. */
                interface IBatchUpdateContactsRequest {

                    /** BatchUpdateContactsRequest parent */
                    parent?: (string|null);

                    /** BatchUpdateContactsRequest requests */
                    requests?: (google.ads.admanager.v1.IUpdateContactRequest[]|null);
                }

                /** Represents a BatchUpdateContactsRequest. */
                class BatchUpdateContactsRequest implements IBatchUpdateContactsRequest {

                    /**
                     * Constructs a new BatchUpdateContactsRequest.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IBatchUpdateContactsRequest);

                    /** BatchUpdateContactsRequest parent. */
                    public parent: string;

                    /** BatchUpdateContactsRequest requests. */
                    public requests: google.ads.admanager.v1.IUpdateContactRequest[];

                    /**
                     * Creates a new BatchUpdateContactsRequest instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns BatchUpdateContactsRequest instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IBatchUpdateContactsRequest): google.ads.admanager.v1.BatchUpdateContactsRequest;

                    /**
                     * Encodes the specified BatchUpdateContactsRequest message. Does not implicitly {@link google.ads.admanager.v1.BatchUpdateContactsRequest.verify|verify} messages.
                     * @param message BatchUpdateContactsRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IBatchUpdateContactsRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified BatchUpdateContactsRequest message, length delimited. Does not implicitly {@link google.ads.admanager.v1.BatchUpdateContactsRequest.verify|verify} messages.
                     * @param message BatchUpdateContactsRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IBatchUpdateContactsRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a BatchUpdateContactsRequest message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns BatchUpdateContactsRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.BatchUpdateContactsRequest;

                    /**
                     * Decodes a BatchUpdateContactsRequest message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns BatchUpdateContactsRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.BatchUpdateContactsRequest;

                    /**
                     * Verifies a BatchUpdateContactsRequest message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a BatchUpdateContactsRequest message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns BatchUpdateContactsRequest
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.BatchUpdateContactsRequest;

                    /**
                     * Creates a plain object from a BatchUpdateContactsRequest message. Also converts values to other types if specified.
                     * @param message BatchUpdateContactsRequest
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.BatchUpdateContactsRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this BatchUpdateContactsRequest to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for BatchUpdateContactsRequest
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a BatchUpdateContactsResponse. */
                interface IBatchUpdateContactsResponse {

                    /** BatchUpdateContactsResponse contacts */
                    contacts?: (google.ads.admanager.v1.IContact[]|null);
                }

                /** Represents a BatchUpdateContactsResponse. */
                class BatchUpdateContactsResponse implements IBatchUpdateContactsResponse {

                    /**
                     * Constructs a new BatchUpdateContactsResponse.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IBatchUpdateContactsResponse);

                    /** BatchUpdateContactsResponse contacts. */
                    public contacts: google.ads.admanager.v1.IContact[];

                    /**
                     * Creates a new BatchUpdateContactsResponse instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns BatchUpdateContactsResponse instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IBatchUpdateContactsResponse): google.ads.admanager.v1.BatchUpdateContactsResponse;

                    /**
                     * Encodes the specified BatchUpdateContactsResponse message. Does not implicitly {@link google.ads.admanager.v1.BatchUpdateContactsResponse.verify|verify} messages.
                     * @param message BatchUpdateContactsResponse message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IBatchUpdateContactsResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified BatchUpdateContactsResponse message, length delimited. Does not implicitly {@link google.ads.admanager.v1.BatchUpdateContactsResponse.verify|verify} messages.
                     * @param message BatchUpdateContactsResponse message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IBatchUpdateContactsResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a BatchUpdateContactsResponse message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns BatchUpdateContactsResponse
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.BatchUpdateContactsResponse;

                    /**
                     * Decodes a BatchUpdateContactsResponse message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns BatchUpdateContactsResponse
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.BatchUpdateContactsResponse;

                    /**
                     * Verifies a BatchUpdateContactsResponse message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a BatchUpdateContactsResponse message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns BatchUpdateContactsResponse
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.BatchUpdateContactsResponse;

                    /**
                     * Creates a plain object from a BatchUpdateContactsResponse message. Also converts values to other types if specified.
                     * @param message BatchUpdateContactsResponse
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.BatchUpdateContactsResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this BatchUpdateContactsResponse to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for BatchUpdateContactsResponse
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a ContentBundle. */
                interface IContentBundle {

                    /** ContentBundle name */
                    name?: (string|null);

                    /** ContentBundle displayName */
                    displayName?: (string|null);
                }

                /** Represents a ContentBundle. */
                class ContentBundle implements IContentBundle {

                    /**
                     * Constructs a new ContentBundle.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IContentBundle);

                    /** ContentBundle name. */
                    public name: string;

                    /** ContentBundle displayName. */
                    public displayName: string;

                    /**
                     * Creates a new ContentBundle instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns ContentBundle instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IContentBundle): google.ads.admanager.v1.ContentBundle;

                    /**
                     * Encodes the specified ContentBundle message. Does not implicitly {@link google.ads.admanager.v1.ContentBundle.verify|verify} messages.
                     * @param message ContentBundle message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IContentBundle, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified ContentBundle message, length delimited. Does not implicitly {@link google.ads.admanager.v1.ContentBundle.verify|verify} messages.
                     * @param message ContentBundle message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IContentBundle, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a ContentBundle message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns ContentBundle
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.ContentBundle;

                    /**
                     * Decodes a ContentBundle message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns ContentBundle
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.ContentBundle;

                    /**
                     * Verifies a ContentBundle message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a ContentBundle message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns ContentBundle
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.ContentBundle;

                    /**
                     * Creates a plain object from a ContentBundle message. Also converts values to other types if specified.
                     * @param message ContentBundle
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.ContentBundle, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this ContentBundle to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for ContentBundle
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Represents a ContentBundleService */
                class ContentBundleService extends $protobuf.rpc.Service {

                    /**
                     * Constructs a new ContentBundleService service.
                     * @param rpcImpl RPC implementation
                     * @param [requestDelimited=false] Whether requests are length-delimited
                     * @param [responseDelimited=false] Whether responses are length-delimited
                     */
                    constructor(rpcImpl: $protobuf.RPCImpl, requestDelimited?: boolean, responseDelimited?: boolean);

                    /**
                     * Creates new ContentBundleService service using the specified rpc implementation.
                     * @param rpcImpl RPC implementation
                     * @param [requestDelimited=false] Whether requests are length-delimited
                     * @param [responseDelimited=false] Whether responses are length-delimited
                     * @returns RPC service. Useful where requests and/or responses are streamed.
                     */
                    public static create(rpcImpl: $protobuf.RPCImpl, requestDelimited?: boolean, responseDelimited?: boolean): ContentBundleService;

                    /**
                     * Calls GetContentBundle.
                     * @param request GetContentBundleRequest message or plain object
                     * @param callback Node-style callback called with the error, if any, and ContentBundle
                     */
                    public getContentBundle(request: google.ads.admanager.v1.IGetContentBundleRequest, callback: google.ads.admanager.v1.ContentBundleService.GetContentBundleCallback): void;

                    /**
                     * Calls GetContentBundle.
                     * @param request GetContentBundleRequest message or plain object
                     * @returns Promise
                     */
                    public getContentBundle(request: google.ads.admanager.v1.IGetContentBundleRequest): Promise<google.ads.admanager.v1.ContentBundle>;

                    /**
                     * Calls ListContentBundles.
                     * @param request ListContentBundlesRequest message or plain object
                     * @param callback Node-style callback called with the error, if any, and ListContentBundlesResponse
                     */
                    public listContentBundles(request: google.ads.admanager.v1.IListContentBundlesRequest, callback: google.ads.admanager.v1.ContentBundleService.ListContentBundlesCallback): void;

                    /**
                     * Calls ListContentBundles.
                     * @param request ListContentBundlesRequest message or plain object
                     * @returns Promise
                     */
                    public listContentBundles(request: google.ads.admanager.v1.IListContentBundlesRequest): Promise<google.ads.admanager.v1.ListContentBundlesResponse>;
                }

                namespace ContentBundleService {

                    /**
                     * Callback as used by {@link google.ads.admanager.v1.ContentBundleService|getContentBundle}.
                     * @param error Error, if any
                     * @param [response] ContentBundle
                     */
                    type GetContentBundleCallback = (error: (Error|null), response?: google.ads.admanager.v1.ContentBundle) => void;

                    /**
                     * Callback as used by {@link google.ads.admanager.v1.ContentBundleService|listContentBundles}.
                     * @param error Error, if any
                     * @param [response] ListContentBundlesResponse
                     */
                    type ListContentBundlesCallback = (error: (Error|null), response?: google.ads.admanager.v1.ListContentBundlesResponse) => void;
                }

                /** Properties of a GetContentBundleRequest. */
                interface IGetContentBundleRequest {

                    /** GetContentBundleRequest name */
                    name?: (string|null);
                }

                /** Represents a GetContentBundleRequest. */
                class GetContentBundleRequest implements IGetContentBundleRequest {

                    /**
                     * Constructs a new GetContentBundleRequest.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IGetContentBundleRequest);

                    /** GetContentBundleRequest name. */
                    public name: string;

                    /**
                     * Creates a new GetContentBundleRequest instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns GetContentBundleRequest instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IGetContentBundleRequest): google.ads.admanager.v1.GetContentBundleRequest;

                    /**
                     * Encodes the specified GetContentBundleRequest message. Does not implicitly {@link google.ads.admanager.v1.GetContentBundleRequest.verify|verify} messages.
                     * @param message GetContentBundleRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IGetContentBundleRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified GetContentBundleRequest message, length delimited. Does not implicitly {@link google.ads.admanager.v1.GetContentBundleRequest.verify|verify} messages.
                     * @param message GetContentBundleRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IGetContentBundleRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a GetContentBundleRequest message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns GetContentBundleRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.GetContentBundleRequest;

                    /**
                     * Decodes a GetContentBundleRequest message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns GetContentBundleRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.GetContentBundleRequest;

                    /**
                     * Verifies a GetContentBundleRequest message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a GetContentBundleRequest message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns GetContentBundleRequest
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.GetContentBundleRequest;

                    /**
                     * Creates a plain object from a GetContentBundleRequest message. Also converts values to other types if specified.
                     * @param message GetContentBundleRequest
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.GetContentBundleRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this GetContentBundleRequest to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for GetContentBundleRequest
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a ListContentBundlesRequest. */
                interface IListContentBundlesRequest {

                    /** ListContentBundlesRequest parent */
                    parent?: (string|null);

                    /** ListContentBundlesRequest pageSize */
                    pageSize?: (number|null);

                    /** ListContentBundlesRequest pageToken */
                    pageToken?: (string|null);

                    /** ListContentBundlesRequest filter */
                    filter?: (string|null);

                    /** ListContentBundlesRequest orderBy */
                    orderBy?: (string|null);

                    /** ListContentBundlesRequest skip */
                    skip?: (number|null);
                }

                /** Represents a ListContentBundlesRequest. */
                class ListContentBundlesRequest implements IListContentBundlesRequest {

                    /**
                     * Constructs a new ListContentBundlesRequest.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IListContentBundlesRequest);

                    /** ListContentBundlesRequest parent. */
                    public parent: string;

                    /** ListContentBundlesRequest pageSize. */
                    public pageSize: number;

                    /** ListContentBundlesRequest pageToken. */
                    public pageToken: string;

                    /** ListContentBundlesRequest filter. */
                    public filter: string;

                    /** ListContentBundlesRequest orderBy. */
                    public orderBy: string;

                    /** ListContentBundlesRequest skip. */
                    public skip: number;

                    /**
                     * Creates a new ListContentBundlesRequest instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns ListContentBundlesRequest instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IListContentBundlesRequest): google.ads.admanager.v1.ListContentBundlesRequest;

                    /**
                     * Encodes the specified ListContentBundlesRequest message. Does not implicitly {@link google.ads.admanager.v1.ListContentBundlesRequest.verify|verify} messages.
                     * @param message ListContentBundlesRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IListContentBundlesRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified ListContentBundlesRequest message, length delimited. Does not implicitly {@link google.ads.admanager.v1.ListContentBundlesRequest.verify|verify} messages.
                     * @param message ListContentBundlesRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IListContentBundlesRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a ListContentBundlesRequest message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns ListContentBundlesRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.ListContentBundlesRequest;

                    /**
                     * Decodes a ListContentBundlesRequest message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns ListContentBundlesRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.ListContentBundlesRequest;

                    /**
                     * Verifies a ListContentBundlesRequest message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a ListContentBundlesRequest message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns ListContentBundlesRequest
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.ListContentBundlesRequest;

                    /**
                     * Creates a plain object from a ListContentBundlesRequest message. Also converts values to other types if specified.
                     * @param message ListContentBundlesRequest
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.ListContentBundlesRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this ListContentBundlesRequest to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for ListContentBundlesRequest
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a ListContentBundlesResponse. */
                interface IListContentBundlesResponse {

                    /** ListContentBundlesResponse contentBundles */
                    contentBundles?: (google.ads.admanager.v1.IContentBundle[]|null);

                    /** ListContentBundlesResponse nextPageToken */
                    nextPageToken?: (string|null);

                    /** ListContentBundlesResponse totalSize */
                    totalSize?: (number|null);
                }

                /** Represents a ListContentBundlesResponse. */
                class ListContentBundlesResponse implements IListContentBundlesResponse {

                    /**
                     * Constructs a new ListContentBundlesResponse.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IListContentBundlesResponse);

                    /** ListContentBundlesResponse contentBundles. */
                    public contentBundles: google.ads.admanager.v1.IContentBundle[];

                    /** ListContentBundlesResponse nextPageToken. */
                    public nextPageToken: string;

                    /** ListContentBundlesResponse totalSize. */
                    public totalSize: number;

                    /**
                     * Creates a new ListContentBundlesResponse instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns ListContentBundlesResponse instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IListContentBundlesResponse): google.ads.admanager.v1.ListContentBundlesResponse;

                    /**
                     * Encodes the specified ListContentBundlesResponse message. Does not implicitly {@link google.ads.admanager.v1.ListContentBundlesResponse.verify|verify} messages.
                     * @param message ListContentBundlesResponse message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IListContentBundlesResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified ListContentBundlesResponse message, length delimited. Does not implicitly {@link google.ads.admanager.v1.ListContentBundlesResponse.verify|verify} messages.
                     * @param message ListContentBundlesResponse message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IListContentBundlesResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a ListContentBundlesResponse message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns ListContentBundlesResponse
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.ListContentBundlesResponse;

                    /**
                     * Decodes a ListContentBundlesResponse message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns ListContentBundlesResponse
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.ListContentBundlesResponse;

                    /**
                     * Verifies a ListContentBundlesResponse message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a ListContentBundlesResponse message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns ListContentBundlesResponse
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.ListContentBundlesResponse;

                    /**
                     * Creates a plain object from a ListContentBundlesResponse message. Also converts values to other types if specified.
                     * @param message ListContentBundlesResponse
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.ListContentBundlesResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this ListContentBundlesResponse to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for ListContentBundlesResponse
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a ContentLabel. */
                interface IContentLabel {

                    /** ContentLabel name */
                    name?: (string|null);

                    /** ContentLabel displayName */
                    displayName?: (string|null);
                }

                /** Represents a ContentLabel. */
                class ContentLabel implements IContentLabel {

                    /**
                     * Constructs a new ContentLabel.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IContentLabel);

                    /** ContentLabel name. */
                    public name: string;

                    /** ContentLabel displayName. */
                    public displayName: string;

                    /**
                     * Creates a new ContentLabel instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns ContentLabel instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IContentLabel): google.ads.admanager.v1.ContentLabel;

                    /**
                     * Encodes the specified ContentLabel message. Does not implicitly {@link google.ads.admanager.v1.ContentLabel.verify|verify} messages.
                     * @param message ContentLabel message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IContentLabel, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified ContentLabel message, length delimited. Does not implicitly {@link google.ads.admanager.v1.ContentLabel.verify|verify} messages.
                     * @param message ContentLabel message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IContentLabel, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a ContentLabel message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns ContentLabel
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.ContentLabel;

                    /**
                     * Decodes a ContentLabel message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns ContentLabel
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.ContentLabel;

                    /**
                     * Verifies a ContentLabel message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a ContentLabel message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns ContentLabel
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.ContentLabel;

                    /**
                     * Creates a plain object from a ContentLabel message. Also converts values to other types if specified.
                     * @param message ContentLabel
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.ContentLabel, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this ContentLabel to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for ContentLabel
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Represents a ContentLabelService */
                class ContentLabelService extends $protobuf.rpc.Service {

                    /**
                     * Constructs a new ContentLabelService service.
                     * @param rpcImpl RPC implementation
                     * @param [requestDelimited=false] Whether requests are length-delimited
                     * @param [responseDelimited=false] Whether responses are length-delimited
                     */
                    constructor(rpcImpl: $protobuf.RPCImpl, requestDelimited?: boolean, responseDelimited?: boolean);

                    /**
                     * Creates new ContentLabelService service using the specified rpc implementation.
                     * @param rpcImpl RPC implementation
                     * @param [requestDelimited=false] Whether requests are length-delimited
                     * @param [responseDelimited=false] Whether responses are length-delimited
                     * @returns RPC service. Useful where requests and/or responses are streamed.
                     */
                    public static create(rpcImpl: $protobuf.RPCImpl, requestDelimited?: boolean, responseDelimited?: boolean): ContentLabelService;

                    /**
                     * Calls GetContentLabel.
                     * @param request GetContentLabelRequest message or plain object
                     * @param callback Node-style callback called with the error, if any, and ContentLabel
                     */
                    public getContentLabel(request: google.ads.admanager.v1.IGetContentLabelRequest, callback: google.ads.admanager.v1.ContentLabelService.GetContentLabelCallback): void;

                    /**
                     * Calls GetContentLabel.
                     * @param request GetContentLabelRequest message or plain object
                     * @returns Promise
                     */
                    public getContentLabel(request: google.ads.admanager.v1.IGetContentLabelRequest): Promise<google.ads.admanager.v1.ContentLabel>;

                    /**
                     * Calls ListContentLabels.
                     * @param request ListContentLabelsRequest message or plain object
                     * @param callback Node-style callback called with the error, if any, and ListContentLabelsResponse
                     */
                    public listContentLabels(request: google.ads.admanager.v1.IListContentLabelsRequest, callback: google.ads.admanager.v1.ContentLabelService.ListContentLabelsCallback): void;

                    /**
                     * Calls ListContentLabels.
                     * @param request ListContentLabelsRequest message or plain object
                     * @returns Promise
                     */
                    public listContentLabels(request: google.ads.admanager.v1.IListContentLabelsRequest): Promise<google.ads.admanager.v1.ListContentLabelsResponse>;
                }

                namespace ContentLabelService {

                    /**
                     * Callback as used by {@link google.ads.admanager.v1.ContentLabelService|getContentLabel}.
                     * @param error Error, if any
                     * @param [response] ContentLabel
                     */
                    type GetContentLabelCallback = (error: (Error|null), response?: google.ads.admanager.v1.ContentLabel) => void;

                    /**
                     * Callback as used by {@link google.ads.admanager.v1.ContentLabelService|listContentLabels}.
                     * @param error Error, if any
                     * @param [response] ListContentLabelsResponse
                     */
                    type ListContentLabelsCallback = (error: (Error|null), response?: google.ads.admanager.v1.ListContentLabelsResponse) => void;
                }

                /** Properties of a GetContentLabelRequest. */
                interface IGetContentLabelRequest {

                    /** GetContentLabelRequest name */
                    name?: (string|null);
                }

                /** Represents a GetContentLabelRequest. */
                class GetContentLabelRequest implements IGetContentLabelRequest {

                    /**
                     * Constructs a new GetContentLabelRequest.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IGetContentLabelRequest);

                    /** GetContentLabelRequest name. */
                    public name: string;

                    /**
                     * Creates a new GetContentLabelRequest instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns GetContentLabelRequest instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IGetContentLabelRequest): google.ads.admanager.v1.GetContentLabelRequest;

                    /**
                     * Encodes the specified GetContentLabelRequest message. Does not implicitly {@link google.ads.admanager.v1.GetContentLabelRequest.verify|verify} messages.
                     * @param message GetContentLabelRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IGetContentLabelRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified GetContentLabelRequest message, length delimited. Does not implicitly {@link google.ads.admanager.v1.GetContentLabelRequest.verify|verify} messages.
                     * @param message GetContentLabelRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IGetContentLabelRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a GetContentLabelRequest message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns GetContentLabelRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.GetContentLabelRequest;

                    /**
                     * Decodes a GetContentLabelRequest message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns GetContentLabelRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.GetContentLabelRequest;

                    /**
                     * Verifies a GetContentLabelRequest message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a GetContentLabelRequest message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns GetContentLabelRequest
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.GetContentLabelRequest;

                    /**
                     * Creates a plain object from a GetContentLabelRequest message. Also converts values to other types if specified.
                     * @param message GetContentLabelRequest
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.GetContentLabelRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this GetContentLabelRequest to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for GetContentLabelRequest
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a ListContentLabelsRequest. */
                interface IListContentLabelsRequest {

                    /** ListContentLabelsRequest parent */
                    parent?: (string|null);

                    /** ListContentLabelsRequest pageSize */
                    pageSize?: (number|null);

                    /** ListContentLabelsRequest pageToken */
                    pageToken?: (string|null);

                    /** ListContentLabelsRequest filter */
                    filter?: (string|null);

                    /** ListContentLabelsRequest orderBy */
                    orderBy?: (string|null);

                    /** ListContentLabelsRequest skip */
                    skip?: (number|null);
                }

                /** Represents a ListContentLabelsRequest. */
                class ListContentLabelsRequest implements IListContentLabelsRequest {

                    /**
                     * Constructs a new ListContentLabelsRequest.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IListContentLabelsRequest);

                    /** ListContentLabelsRequest parent. */
                    public parent: string;

                    /** ListContentLabelsRequest pageSize. */
                    public pageSize: number;

                    /** ListContentLabelsRequest pageToken. */
                    public pageToken: string;

                    /** ListContentLabelsRequest filter. */
                    public filter: string;

                    /** ListContentLabelsRequest orderBy. */
                    public orderBy: string;

                    /** ListContentLabelsRequest skip. */
                    public skip: number;

                    /**
                     * Creates a new ListContentLabelsRequest instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns ListContentLabelsRequest instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IListContentLabelsRequest): google.ads.admanager.v1.ListContentLabelsRequest;

                    /**
                     * Encodes the specified ListContentLabelsRequest message. Does not implicitly {@link google.ads.admanager.v1.ListContentLabelsRequest.verify|verify} messages.
                     * @param message ListContentLabelsRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IListContentLabelsRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified ListContentLabelsRequest message, length delimited. Does not implicitly {@link google.ads.admanager.v1.ListContentLabelsRequest.verify|verify} messages.
                     * @param message ListContentLabelsRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IListContentLabelsRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a ListContentLabelsRequest message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns ListContentLabelsRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.ListContentLabelsRequest;

                    /**
                     * Decodes a ListContentLabelsRequest message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns ListContentLabelsRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.ListContentLabelsRequest;

                    /**
                     * Verifies a ListContentLabelsRequest message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a ListContentLabelsRequest message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns ListContentLabelsRequest
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.ListContentLabelsRequest;

                    /**
                     * Creates a plain object from a ListContentLabelsRequest message. Also converts values to other types if specified.
                     * @param message ListContentLabelsRequest
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.ListContentLabelsRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this ListContentLabelsRequest to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for ListContentLabelsRequest
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a ListContentLabelsResponse. */
                interface IListContentLabelsResponse {

                    /** ListContentLabelsResponse contentLabels */
                    contentLabels?: (google.ads.admanager.v1.IContentLabel[]|null);

                    /** ListContentLabelsResponse nextPageToken */
                    nextPageToken?: (string|null);

                    /** ListContentLabelsResponse totalSize */
                    totalSize?: (number|null);
                }

                /** Represents a ListContentLabelsResponse. */
                class ListContentLabelsResponse implements IListContentLabelsResponse {

                    /**
                     * Constructs a new ListContentLabelsResponse.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IListContentLabelsResponse);

                    /** ListContentLabelsResponse contentLabels. */
                    public contentLabels: google.ads.admanager.v1.IContentLabel[];

                    /** ListContentLabelsResponse nextPageToken. */
                    public nextPageToken: string;

                    /** ListContentLabelsResponse totalSize. */
                    public totalSize: number;

                    /**
                     * Creates a new ListContentLabelsResponse instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns ListContentLabelsResponse instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IListContentLabelsResponse): google.ads.admanager.v1.ListContentLabelsResponse;

                    /**
                     * Encodes the specified ListContentLabelsResponse message. Does not implicitly {@link google.ads.admanager.v1.ListContentLabelsResponse.verify|verify} messages.
                     * @param message ListContentLabelsResponse message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IListContentLabelsResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified ListContentLabelsResponse message, length delimited. Does not implicitly {@link google.ads.admanager.v1.ListContentLabelsResponse.verify|verify} messages.
                     * @param message ListContentLabelsResponse message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IListContentLabelsResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a ListContentLabelsResponse message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns ListContentLabelsResponse
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.ListContentLabelsResponse;

                    /**
                     * Decodes a ListContentLabelsResponse message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns ListContentLabelsResponse
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.ListContentLabelsResponse;

                    /**
                     * Verifies a ListContentLabelsResponse message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a ListContentLabelsResponse message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns ListContentLabelsResponse
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.ListContentLabelsResponse;

                    /**
                     * Creates a plain object from a ListContentLabelsResponse message. Also converts values to other types if specified.
                     * @param message ListContentLabelsResponse
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.ListContentLabelsResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this ListContentLabelsResponse to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for ListContentLabelsResponse
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a Content. */
                interface IContent {

                    /** Content name */
                    name?: (string|null);

                    /** Content displayName */
                    displayName?: (string|null);
                }

                /** Represents a Content. */
                class Content implements IContent {

                    /**
                     * Constructs a new Content.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IContent);

                    /** Content name. */
                    public name: string;

                    /** Content displayName. */
                    public displayName?: (string|null);

                    /**
                     * Creates a new Content instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns Content instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IContent): google.ads.admanager.v1.Content;

                    /**
                     * Encodes the specified Content message. Does not implicitly {@link google.ads.admanager.v1.Content.verify|verify} messages.
                     * @param message Content message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IContent, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified Content message, length delimited. Does not implicitly {@link google.ads.admanager.v1.Content.verify|verify} messages.
                     * @param message Content message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IContent, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a Content message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns Content
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.Content;

                    /**
                     * Decodes a Content message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns Content
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.Content;

                    /**
                     * Verifies a Content message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a Content message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns Content
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.Content;

                    /**
                     * Creates a plain object from a Content message. Also converts values to other types if specified.
                     * @param message Content
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.Content, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this Content to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for Content
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Represents a ContentService */
                class ContentService extends $protobuf.rpc.Service {

                    /**
                     * Constructs a new ContentService service.
                     * @param rpcImpl RPC implementation
                     * @param [requestDelimited=false] Whether requests are length-delimited
                     * @param [responseDelimited=false] Whether responses are length-delimited
                     */
                    constructor(rpcImpl: $protobuf.RPCImpl, requestDelimited?: boolean, responseDelimited?: boolean);

                    /**
                     * Creates new ContentService service using the specified rpc implementation.
                     * @param rpcImpl RPC implementation
                     * @param [requestDelimited=false] Whether requests are length-delimited
                     * @param [responseDelimited=false] Whether responses are length-delimited
                     * @returns RPC service. Useful where requests and/or responses are streamed.
                     */
                    public static create(rpcImpl: $protobuf.RPCImpl, requestDelimited?: boolean, responseDelimited?: boolean): ContentService;

                    /**
                     * Calls GetContent.
                     * @param request GetContentRequest message or plain object
                     * @param callback Node-style callback called with the error, if any, and Content
                     */
                    public getContent(request: google.ads.admanager.v1.IGetContentRequest, callback: google.ads.admanager.v1.ContentService.GetContentCallback): void;

                    /**
                     * Calls GetContent.
                     * @param request GetContentRequest message or plain object
                     * @returns Promise
                     */
                    public getContent(request: google.ads.admanager.v1.IGetContentRequest): Promise<google.ads.admanager.v1.Content>;

                    /**
                     * Calls ListContent.
                     * @param request ListContentRequest message or plain object
                     * @param callback Node-style callback called with the error, if any, and ListContentResponse
                     */
                    public listContent(request: google.ads.admanager.v1.IListContentRequest, callback: google.ads.admanager.v1.ContentService.ListContentCallback): void;

                    /**
                     * Calls ListContent.
                     * @param request ListContentRequest message or plain object
                     * @returns Promise
                     */
                    public listContent(request: google.ads.admanager.v1.IListContentRequest): Promise<google.ads.admanager.v1.ListContentResponse>;
                }

                namespace ContentService {

                    /**
                     * Callback as used by {@link google.ads.admanager.v1.ContentService|getContent}.
                     * @param error Error, if any
                     * @param [response] Content
                     */
                    type GetContentCallback = (error: (Error|null), response?: google.ads.admanager.v1.Content) => void;

                    /**
                     * Callback as used by {@link google.ads.admanager.v1.ContentService|listContent}.
                     * @param error Error, if any
                     * @param [response] ListContentResponse
                     */
                    type ListContentCallback = (error: (Error|null), response?: google.ads.admanager.v1.ListContentResponse) => void;
                }

                /** Properties of a GetContentRequest. */
                interface IGetContentRequest {

                    /** GetContentRequest name */
                    name?: (string|null);
                }

                /** Represents a GetContentRequest. */
                class GetContentRequest implements IGetContentRequest {

                    /**
                     * Constructs a new GetContentRequest.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IGetContentRequest);

                    /** GetContentRequest name. */
                    public name: string;

                    /**
                     * Creates a new GetContentRequest instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns GetContentRequest instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IGetContentRequest): google.ads.admanager.v1.GetContentRequest;

                    /**
                     * Encodes the specified GetContentRequest message. Does not implicitly {@link google.ads.admanager.v1.GetContentRequest.verify|verify} messages.
                     * @param message GetContentRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IGetContentRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified GetContentRequest message, length delimited. Does not implicitly {@link google.ads.admanager.v1.GetContentRequest.verify|verify} messages.
                     * @param message GetContentRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IGetContentRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a GetContentRequest message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns GetContentRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.GetContentRequest;

                    /**
                     * Decodes a GetContentRequest message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns GetContentRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.GetContentRequest;

                    /**
                     * Verifies a GetContentRequest message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a GetContentRequest message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns GetContentRequest
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.GetContentRequest;

                    /**
                     * Creates a plain object from a GetContentRequest message. Also converts values to other types if specified.
                     * @param message GetContentRequest
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.GetContentRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this GetContentRequest to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for GetContentRequest
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a ListContentRequest. */
                interface IListContentRequest {

                    /** ListContentRequest parent */
                    parent?: (string|null);

                    /** ListContentRequest pageSize */
                    pageSize?: (number|null);

                    /** ListContentRequest pageToken */
                    pageToken?: (string|null);

                    /** ListContentRequest filter */
                    filter?: (string|null);

                    /** ListContentRequest orderBy */
                    orderBy?: (string|null);

                    /** ListContentRequest skip */
                    skip?: (number|null);
                }

                /** Represents a ListContentRequest. */
                class ListContentRequest implements IListContentRequest {

                    /**
                     * Constructs a new ListContentRequest.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IListContentRequest);

                    /** ListContentRequest parent. */
                    public parent: string;

                    /** ListContentRequest pageSize. */
                    public pageSize: number;

                    /** ListContentRequest pageToken. */
                    public pageToken: string;

                    /** ListContentRequest filter. */
                    public filter: string;

                    /** ListContentRequest orderBy. */
                    public orderBy: string;

                    /** ListContentRequest skip. */
                    public skip: number;

                    /**
                     * Creates a new ListContentRequest instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns ListContentRequest instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IListContentRequest): google.ads.admanager.v1.ListContentRequest;

                    /**
                     * Encodes the specified ListContentRequest message. Does not implicitly {@link google.ads.admanager.v1.ListContentRequest.verify|verify} messages.
                     * @param message ListContentRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IListContentRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified ListContentRequest message, length delimited. Does not implicitly {@link google.ads.admanager.v1.ListContentRequest.verify|verify} messages.
                     * @param message ListContentRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IListContentRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a ListContentRequest message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns ListContentRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.ListContentRequest;

                    /**
                     * Decodes a ListContentRequest message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns ListContentRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.ListContentRequest;

                    /**
                     * Verifies a ListContentRequest message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a ListContentRequest message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns ListContentRequest
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.ListContentRequest;

                    /**
                     * Creates a plain object from a ListContentRequest message. Also converts values to other types if specified.
                     * @param message ListContentRequest
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.ListContentRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this ListContentRequest to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for ListContentRequest
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a ListContentResponse. */
                interface IListContentResponse {

                    /** ListContentResponse content */
                    content?: (google.ads.admanager.v1.IContent[]|null);

                    /** ListContentResponse nextPageToken */
                    nextPageToken?: (string|null);

                    /** ListContentResponse totalSize */
                    totalSize?: (number|null);
                }

                /** Represents a ListContentResponse. */
                class ListContentResponse implements IListContentResponse {

                    /**
                     * Constructs a new ListContentResponse.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IListContentResponse);

                    /** ListContentResponse content. */
                    public content: google.ads.admanager.v1.IContent[];

                    /** ListContentResponse nextPageToken. */
                    public nextPageToken: string;

                    /** ListContentResponse totalSize. */
                    public totalSize: number;

                    /**
                     * Creates a new ListContentResponse instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns ListContentResponse instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IListContentResponse): google.ads.admanager.v1.ListContentResponse;

                    /**
                     * Encodes the specified ListContentResponse message. Does not implicitly {@link google.ads.admanager.v1.ListContentResponse.verify|verify} messages.
                     * @param message ListContentResponse message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IListContentResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified ListContentResponse message, length delimited. Does not implicitly {@link google.ads.admanager.v1.ListContentResponse.verify|verify} messages.
                     * @param message ListContentResponse message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IListContentResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a ListContentResponse message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns ListContentResponse
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.ListContentResponse;

                    /**
                     * Decodes a ListContentResponse message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns ListContentResponse
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.ListContentResponse;

                    /**
                     * Verifies a ListContentResponse message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a ListContentResponse message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns ListContentResponse
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.ListContentResponse;

                    /**
                     * Creates a plain object from a ListContentResponse message. Also converts values to other types if specified.
                     * @param message ListContentResponse
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.ListContentResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this ListContentResponse to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for ListContentResponse
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a CreativeTemplateTypeEnum. */
                interface ICreativeTemplateTypeEnum {
                }

                /** Represents a CreativeTemplateTypeEnum. */
                class CreativeTemplateTypeEnum implements ICreativeTemplateTypeEnum {

                    /**
                     * Constructs a new CreativeTemplateTypeEnum.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.ICreativeTemplateTypeEnum);

                    /**
                     * Creates a new CreativeTemplateTypeEnum instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns CreativeTemplateTypeEnum instance
                     */
                    public static create(properties?: google.ads.admanager.v1.ICreativeTemplateTypeEnum): google.ads.admanager.v1.CreativeTemplateTypeEnum;

                    /**
                     * Encodes the specified CreativeTemplateTypeEnum message. Does not implicitly {@link google.ads.admanager.v1.CreativeTemplateTypeEnum.verify|verify} messages.
                     * @param message CreativeTemplateTypeEnum message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.ICreativeTemplateTypeEnum, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified CreativeTemplateTypeEnum message, length delimited. Does not implicitly {@link google.ads.admanager.v1.CreativeTemplateTypeEnum.verify|verify} messages.
                     * @param message CreativeTemplateTypeEnum message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.ICreativeTemplateTypeEnum, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a CreativeTemplateTypeEnum message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns CreativeTemplateTypeEnum
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.CreativeTemplateTypeEnum;

                    /**
                     * Decodes a CreativeTemplateTypeEnum message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns CreativeTemplateTypeEnum
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.CreativeTemplateTypeEnum;

                    /**
                     * Verifies a CreativeTemplateTypeEnum message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a CreativeTemplateTypeEnum message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns CreativeTemplateTypeEnum
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.CreativeTemplateTypeEnum;

                    /**
                     * Creates a plain object from a CreativeTemplateTypeEnum message. Also converts values to other types if specified.
                     * @param message CreativeTemplateTypeEnum
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.CreativeTemplateTypeEnum, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this CreativeTemplateTypeEnum to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for CreativeTemplateTypeEnum
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                namespace CreativeTemplateTypeEnum {

                    /** CreativeTemplateType enum. */
                    enum CreativeTemplateType {
                        CREATIVE_TEMPLATE_TYPE_UNSPECIFIED = 0,
                        STANDARD = 1,
                        CUSTOM = 2
                    }
                }

                /** Properties of a CreativeTemplateStatusEnum. */
                interface ICreativeTemplateStatusEnum {
                }

                /** Represents a CreativeTemplateStatusEnum. */
                class CreativeTemplateStatusEnum implements ICreativeTemplateStatusEnum {

                    /**
                     * Constructs a new CreativeTemplateStatusEnum.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.ICreativeTemplateStatusEnum);

                    /**
                     * Creates a new CreativeTemplateStatusEnum instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns CreativeTemplateStatusEnum instance
                     */
                    public static create(properties?: google.ads.admanager.v1.ICreativeTemplateStatusEnum): google.ads.admanager.v1.CreativeTemplateStatusEnum;

                    /**
                     * Encodes the specified CreativeTemplateStatusEnum message. Does not implicitly {@link google.ads.admanager.v1.CreativeTemplateStatusEnum.verify|verify} messages.
                     * @param message CreativeTemplateStatusEnum message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.ICreativeTemplateStatusEnum, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified CreativeTemplateStatusEnum message, length delimited. Does not implicitly {@link google.ads.admanager.v1.CreativeTemplateStatusEnum.verify|verify} messages.
                     * @param message CreativeTemplateStatusEnum message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.ICreativeTemplateStatusEnum, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a CreativeTemplateStatusEnum message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns CreativeTemplateStatusEnum
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.CreativeTemplateStatusEnum;

                    /**
                     * Decodes a CreativeTemplateStatusEnum message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns CreativeTemplateStatusEnum
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.CreativeTemplateStatusEnum;

                    /**
                     * Verifies a CreativeTemplateStatusEnum message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a CreativeTemplateStatusEnum message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns CreativeTemplateStatusEnum
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.CreativeTemplateStatusEnum;

                    /**
                     * Creates a plain object from a CreativeTemplateStatusEnum message. Also converts values to other types if specified.
                     * @param message CreativeTemplateStatusEnum
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.CreativeTemplateStatusEnum, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this CreativeTemplateStatusEnum to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for CreativeTemplateStatusEnum
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                namespace CreativeTemplateStatusEnum {

                    /** CreativeTemplateStatus enum. */
                    enum CreativeTemplateStatus {
                        CREATIVE_TEMPLATE_STATUS_UNSPECIFIED = 0,
                        ACTIVE = 1,
                        DELETED = 2,
                        INACTIVE = 3
                    }
                }

                /** Properties of a CreativeTemplate. */
                interface ICreativeTemplate {

                    /** CreativeTemplate name */
                    name?: (string|null);

                    /** CreativeTemplate displayName */
                    displayName?: (string|null);

                    /** CreativeTemplate description */
                    description?: (string|null);

                    /** CreativeTemplate snippet */
                    snippet?: (string|null);

                    /** CreativeTemplate status */
                    status?: (google.ads.admanager.v1.CreativeTemplateStatusEnum.CreativeTemplateStatus|keyof typeof google.ads.admanager.v1.CreativeTemplateStatusEnum.CreativeTemplateStatus|null);

                    /** CreativeTemplate type */
                    type?: (google.ads.admanager.v1.CreativeTemplateTypeEnum.CreativeTemplateType|keyof typeof google.ads.admanager.v1.CreativeTemplateTypeEnum.CreativeTemplateType|null);

                    /** CreativeTemplate interstitial */
                    interstitial?: (boolean|null);

                    /** CreativeTemplate nativeEligible */
                    nativeEligible?: (boolean|null);

                    /** CreativeTemplate nativeVideoEligible */
                    nativeVideoEligible?: (boolean|null);

                    /** CreativeTemplate safeFrameCompatible */
                    safeFrameCompatible?: (boolean|null);

                    /** CreativeTemplate variables */
                    variables?: (google.ads.admanager.v1.ICreativeTemplateVariable[]|null);
                }

                /** Represents a CreativeTemplate. */
                class CreativeTemplate implements ICreativeTemplate {

                    /**
                     * Constructs a new CreativeTemplate.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.ICreativeTemplate);

                    /** CreativeTemplate name. */
                    public name: string;

                    /** CreativeTemplate displayName. */
                    public displayName?: (string|null);

                    /** CreativeTemplate description. */
                    public description?: (string|null);

                    /** CreativeTemplate snippet. */
                    public snippet?: (string|null);

                    /** CreativeTemplate status. */
                    public status?: (google.ads.admanager.v1.CreativeTemplateStatusEnum.CreativeTemplateStatus|keyof typeof google.ads.admanager.v1.CreativeTemplateStatusEnum.CreativeTemplateStatus|null);

                    /** CreativeTemplate type. */
                    public type?: (google.ads.admanager.v1.CreativeTemplateTypeEnum.CreativeTemplateType|keyof typeof google.ads.admanager.v1.CreativeTemplateTypeEnum.CreativeTemplateType|null);

                    /** CreativeTemplate interstitial. */
                    public interstitial?: (boolean|null);

                    /** CreativeTemplate nativeEligible. */
                    public nativeEligible?: (boolean|null);

                    /** CreativeTemplate nativeVideoEligible. */
                    public nativeVideoEligible?: (boolean|null);

                    /** CreativeTemplate safeFrameCompatible. */
                    public safeFrameCompatible?: (boolean|null);

                    /** CreativeTemplate variables. */
                    public variables: google.ads.admanager.v1.ICreativeTemplateVariable[];

                    /**
                     * Creates a new CreativeTemplate instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns CreativeTemplate instance
                     */
                    public static create(properties?: google.ads.admanager.v1.ICreativeTemplate): google.ads.admanager.v1.CreativeTemplate;

                    /**
                     * Encodes the specified CreativeTemplate message. Does not implicitly {@link google.ads.admanager.v1.CreativeTemplate.verify|verify} messages.
                     * @param message CreativeTemplate message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.ICreativeTemplate, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified CreativeTemplate message, length delimited. Does not implicitly {@link google.ads.admanager.v1.CreativeTemplate.verify|verify} messages.
                     * @param message CreativeTemplate message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.ICreativeTemplate, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a CreativeTemplate message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns CreativeTemplate
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.CreativeTemplate;

                    /**
                     * Decodes a CreativeTemplate message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns CreativeTemplate
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.CreativeTemplate;

                    /**
                     * Verifies a CreativeTemplate message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a CreativeTemplate message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns CreativeTemplate
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.CreativeTemplate;

                    /**
                     * Creates a plain object from a CreativeTemplate message. Also converts values to other types if specified.
                     * @param message CreativeTemplate
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.CreativeTemplate, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this CreativeTemplate to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for CreativeTemplate
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a CreativeTemplateVariable. */
                interface ICreativeTemplateVariable {

                    /** CreativeTemplateVariable assetVariable */
                    assetVariable?: (google.ads.admanager.v1.CreativeTemplateVariable.IAssetCreativeTemplateVariable|null);

                    /** CreativeTemplateVariable listStringVariable */
                    listStringVariable?: (google.ads.admanager.v1.CreativeTemplateVariable.IListStringCreativeTemplateVariable|null);

                    /** CreativeTemplateVariable longVariable */
                    longVariable?: (google.ads.admanager.v1.CreativeTemplateVariable.ILongCreativeTemplateVariable|null);

                    /** CreativeTemplateVariable stringVariable */
                    stringVariable?: (google.ads.admanager.v1.CreativeTemplateVariable.IStringCreativeTemplateVariable|null);

                    /** CreativeTemplateVariable urlVariable */
                    urlVariable?: (google.ads.admanager.v1.CreativeTemplateVariable.IUrlCreativeTemplateVariable|null);

                    /** CreativeTemplateVariable label */
                    label?: (string|null);

                    /** CreativeTemplateVariable uniqueDisplayName */
                    uniqueDisplayName?: (string|null);

                    /** CreativeTemplateVariable description */
                    description?: (string|null);

                    /** CreativeTemplateVariable required */
                    required?: (boolean|null);
                }

                /** Represents a CreativeTemplateVariable. */
                class CreativeTemplateVariable implements ICreativeTemplateVariable {

                    /**
                     * Constructs a new CreativeTemplateVariable.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.ICreativeTemplateVariable);

                    /** CreativeTemplateVariable assetVariable. */
                    public assetVariable?: (google.ads.admanager.v1.CreativeTemplateVariable.IAssetCreativeTemplateVariable|null);

                    /** CreativeTemplateVariable listStringVariable. */
                    public listStringVariable?: (google.ads.admanager.v1.CreativeTemplateVariable.IListStringCreativeTemplateVariable|null);

                    /** CreativeTemplateVariable longVariable. */
                    public longVariable?: (google.ads.admanager.v1.CreativeTemplateVariable.ILongCreativeTemplateVariable|null);

                    /** CreativeTemplateVariable stringVariable. */
                    public stringVariable?: (google.ads.admanager.v1.CreativeTemplateVariable.IStringCreativeTemplateVariable|null);

                    /** CreativeTemplateVariable urlVariable. */
                    public urlVariable?: (google.ads.admanager.v1.CreativeTemplateVariable.IUrlCreativeTemplateVariable|null);

                    /** CreativeTemplateVariable label. */
                    public label?: (string|null);

                    /** CreativeTemplateVariable uniqueDisplayName. */
                    public uniqueDisplayName?: (string|null);

                    /** CreativeTemplateVariable description. */
                    public description?: (string|null);

                    /** CreativeTemplateVariable required. */
                    public required?: (boolean|null);

                    /** CreativeTemplateVariable SubType. */
                    public SubType?: ("assetVariable"|"listStringVariable"|"longVariable"|"stringVariable"|"urlVariable");

                    /**
                     * Creates a new CreativeTemplateVariable instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns CreativeTemplateVariable instance
                     */
                    public static create(properties?: google.ads.admanager.v1.ICreativeTemplateVariable): google.ads.admanager.v1.CreativeTemplateVariable;

                    /**
                     * Encodes the specified CreativeTemplateVariable message. Does not implicitly {@link google.ads.admanager.v1.CreativeTemplateVariable.verify|verify} messages.
                     * @param message CreativeTemplateVariable message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.ICreativeTemplateVariable, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified CreativeTemplateVariable message, length delimited. Does not implicitly {@link google.ads.admanager.v1.CreativeTemplateVariable.verify|verify} messages.
                     * @param message CreativeTemplateVariable message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.ICreativeTemplateVariable, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a CreativeTemplateVariable message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns CreativeTemplateVariable
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.CreativeTemplateVariable;

                    /**
                     * Decodes a CreativeTemplateVariable message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns CreativeTemplateVariable
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.CreativeTemplateVariable;

                    /**
                     * Verifies a CreativeTemplateVariable message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a CreativeTemplateVariable message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns CreativeTemplateVariable
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.CreativeTemplateVariable;

                    /**
                     * Creates a plain object from a CreativeTemplateVariable message. Also converts values to other types if specified.
                     * @param message CreativeTemplateVariable
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.CreativeTemplateVariable, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this CreativeTemplateVariable to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for CreativeTemplateVariable
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                namespace CreativeTemplateVariable {

                    /** Properties of an AssetCreativeTemplateVariable. */
                    interface IAssetCreativeTemplateVariable {

                        /** AssetCreativeTemplateVariable mimeTypes */
                        mimeTypes?: (google.ads.admanager.v1.CreativeTemplateVariable.AssetCreativeTemplateVariable.MimeType[]|null);
                    }

                    /** Represents an AssetCreativeTemplateVariable. */
                    class AssetCreativeTemplateVariable implements IAssetCreativeTemplateVariable {

                        /**
                         * Constructs a new AssetCreativeTemplateVariable.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.ads.admanager.v1.CreativeTemplateVariable.IAssetCreativeTemplateVariable);

                        /** AssetCreativeTemplateVariable mimeTypes. */
                        public mimeTypes: google.ads.admanager.v1.CreativeTemplateVariable.AssetCreativeTemplateVariable.MimeType[];

                        /**
                         * Creates a new AssetCreativeTemplateVariable instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns AssetCreativeTemplateVariable instance
                         */
                        public static create(properties?: google.ads.admanager.v1.CreativeTemplateVariable.IAssetCreativeTemplateVariable): google.ads.admanager.v1.CreativeTemplateVariable.AssetCreativeTemplateVariable;

                        /**
                         * Encodes the specified AssetCreativeTemplateVariable message. Does not implicitly {@link google.ads.admanager.v1.CreativeTemplateVariable.AssetCreativeTemplateVariable.verify|verify} messages.
                         * @param message AssetCreativeTemplateVariable message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.ads.admanager.v1.CreativeTemplateVariable.IAssetCreativeTemplateVariable, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified AssetCreativeTemplateVariable message, length delimited. Does not implicitly {@link google.ads.admanager.v1.CreativeTemplateVariable.AssetCreativeTemplateVariable.verify|verify} messages.
                         * @param message AssetCreativeTemplateVariable message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.ads.admanager.v1.CreativeTemplateVariable.IAssetCreativeTemplateVariable, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes an AssetCreativeTemplateVariable message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns AssetCreativeTemplateVariable
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.CreativeTemplateVariable.AssetCreativeTemplateVariable;

                        /**
                         * Decodes an AssetCreativeTemplateVariable message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns AssetCreativeTemplateVariable
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.CreativeTemplateVariable.AssetCreativeTemplateVariable;

                        /**
                         * Verifies an AssetCreativeTemplateVariable message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates an AssetCreativeTemplateVariable message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns AssetCreativeTemplateVariable
                         */
                        public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.CreativeTemplateVariable.AssetCreativeTemplateVariable;

                        /**
                         * Creates a plain object from an AssetCreativeTemplateVariable message. Also converts values to other types if specified.
                         * @param message AssetCreativeTemplateVariable
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.ads.admanager.v1.CreativeTemplateVariable.AssetCreativeTemplateVariable, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this AssetCreativeTemplateVariable to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for AssetCreativeTemplateVariable
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    namespace AssetCreativeTemplateVariable {

                        /** MimeType enum. */
                        enum MimeType {
                            MIME_TYPE_UNSPECIFIED = 0,
                            JPG = 1,
                            PNG = 2,
                            GIF = 3
                        }
                    }

                    /** Properties of a ListStringCreativeTemplateVariable. */
                    interface IListStringCreativeTemplateVariable {

                        /** ListStringCreativeTemplateVariable defaultValue */
                        defaultValue?: (string|null);

                        /** ListStringCreativeTemplateVariable sampleValue */
                        sampleValue?: (string|null);

                        /** ListStringCreativeTemplateVariable choices */
                        choices?: (google.ads.admanager.v1.CreativeTemplateVariable.ListStringCreativeTemplateVariable.IVariableChoice[]|null);

                        /** ListStringCreativeTemplateVariable allowOtherChoice */
                        allowOtherChoice?: (boolean|null);
                    }

                    /** Represents a ListStringCreativeTemplateVariable. */
                    class ListStringCreativeTemplateVariable implements IListStringCreativeTemplateVariable {

                        /**
                         * Constructs a new ListStringCreativeTemplateVariable.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.ads.admanager.v1.CreativeTemplateVariable.IListStringCreativeTemplateVariable);

                        /** ListStringCreativeTemplateVariable defaultValue. */
                        public defaultValue?: (string|null);

                        /** ListStringCreativeTemplateVariable sampleValue. */
                        public sampleValue?: (string|null);

                        /** ListStringCreativeTemplateVariable choices. */
                        public choices: google.ads.admanager.v1.CreativeTemplateVariable.ListStringCreativeTemplateVariable.IVariableChoice[];

                        /** ListStringCreativeTemplateVariable allowOtherChoice. */
                        public allowOtherChoice?: (boolean|null);

                        /**
                         * Creates a new ListStringCreativeTemplateVariable instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns ListStringCreativeTemplateVariable instance
                         */
                        public static create(properties?: google.ads.admanager.v1.CreativeTemplateVariable.IListStringCreativeTemplateVariable): google.ads.admanager.v1.CreativeTemplateVariable.ListStringCreativeTemplateVariable;

                        /**
                         * Encodes the specified ListStringCreativeTemplateVariable message. Does not implicitly {@link google.ads.admanager.v1.CreativeTemplateVariable.ListStringCreativeTemplateVariable.verify|verify} messages.
                         * @param message ListStringCreativeTemplateVariable message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.ads.admanager.v1.CreativeTemplateVariable.IListStringCreativeTemplateVariable, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified ListStringCreativeTemplateVariable message, length delimited. Does not implicitly {@link google.ads.admanager.v1.CreativeTemplateVariable.ListStringCreativeTemplateVariable.verify|verify} messages.
                         * @param message ListStringCreativeTemplateVariable message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.ads.admanager.v1.CreativeTemplateVariable.IListStringCreativeTemplateVariable, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a ListStringCreativeTemplateVariable message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns ListStringCreativeTemplateVariable
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.CreativeTemplateVariable.ListStringCreativeTemplateVariable;

                        /**
                         * Decodes a ListStringCreativeTemplateVariable message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns ListStringCreativeTemplateVariable
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.CreativeTemplateVariable.ListStringCreativeTemplateVariable;

                        /**
                         * Verifies a ListStringCreativeTemplateVariable message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a ListStringCreativeTemplateVariable message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns ListStringCreativeTemplateVariable
                         */
                        public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.CreativeTemplateVariable.ListStringCreativeTemplateVariable;

                        /**
                         * Creates a plain object from a ListStringCreativeTemplateVariable message. Also converts values to other types if specified.
                         * @param message ListStringCreativeTemplateVariable
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.ads.admanager.v1.CreativeTemplateVariable.ListStringCreativeTemplateVariable, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this ListStringCreativeTemplateVariable to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for ListStringCreativeTemplateVariable
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    namespace ListStringCreativeTemplateVariable {

                        /** Properties of a VariableChoice. */
                        interface IVariableChoice {

                            /** VariableChoice label */
                            label?: (string|null);

                            /** VariableChoice value */
                            value?: (string|null);
                        }

                        /** Represents a VariableChoice. */
                        class VariableChoice implements IVariableChoice {

                            /**
                             * Constructs a new VariableChoice.
                             * @param [properties] Properties to set
                             */
                            constructor(properties?: google.ads.admanager.v1.CreativeTemplateVariable.ListStringCreativeTemplateVariable.IVariableChoice);

                            /** VariableChoice label. */
                            public label?: (string|null);

                            /** VariableChoice value. */
                            public value?: (string|null);

                            /**
                             * Creates a new VariableChoice instance using the specified properties.
                             * @param [properties] Properties to set
                             * @returns VariableChoice instance
                             */
                            public static create(properties?: google.ads.admanager.v1.CreativeTemplateVariable.ListStringCreativeTemplateVariable.IVariableChoice): google.ads.admanager.v1.CreativeTemplateVariable.ListStringCreativeTemplateVariable.VariableChoice;

                            /**
                             * Encodes the specified VariableChoice message. Does not implicitly {@link google.ads.admanager.v1.CreativeTemplateVariable.ListStringCreativeTemplateVariable.VariableChoice.verify|verify} messages.
                             * @param message VariableChoice message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encode(message: google.ads.admanager.v1.CreativeTemplateVariable.ListStringCreativeTemplateVariable.IVariableChoice, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Encodes the specified VariableChoice message, length delimited. Does not implicitly {@link google.ads.admanager.v1.CreativeTemplateVariable.ListStringCreativeTemplateVariable.VariableChoice.verify|verify} messages.
                             * @param message VariableChoice message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encodeDelimited(message: google.ads.admanager.v1.CreativeTemplateVariable.ListStringCreativeTemplateVariable.IVariableChoice, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Decodes a VariableChoice message from the specified reader or buffer.
                             * @param reader Reader or buffer to decode from
                             * @param [length] Message length if known beforehand
                             * @returns VariableChoice
                             * @throws {Error} If the payload is not a reader or valid buffer
                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
                             */
                            public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.CreativeTemplateVariable.ListStringCreativeTemplateVariable.VariableChoice;

                            /**
                             * Decodes a VariableChoice message from the specified reader or buffer, length delimited.
                             * @param reader Reader or buffer to decode from
                             * @returns VariableChoice
                             * @throws {Error} If the payload is not a reader or valid buffer
                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
                             */
                            public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.CreativeTemplateVariable.ListStringCreativeTemplateVariable.VariableChoice;

                            /**
                             * Verifies a VariableChoice message.
                             * @param message Plain object to verify
                             * @returns `null` if valid, otherwise the reason why it is not
                             */
                            public static verify(message: { [k: string]: any }): (string|null);

                            /**
                             * Creates a VariableChoice message from a plain object. Also converts values to their respective internal types.
                             * @param object Plain object
                             * @returns VariableChoice
                             */
                            public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.CreativeTemplateVariable.ListStringCreativeTemplateVariable.VariableChoice;

                            /**
                             * Creates a plain object from a VariableChoice message. Also converts values to other types if specified.
                             * @param message VariableChoice
                             * @param [options] Conversion options
                             * @returns Plain object
                             */
                            public static toObject(message: google.ads.admanager.v1.CreativeTemplateVariable.ListStringCreativeTemplateVariable.VariableChoice, options?: $protobuf.IConversionOptions): { [k: string]: any };

                            /**
                             * Converts this VariableChoice to JSON.
                             * @returns JSON object
                             */
                            public toJSON(): { [k: string]: any };

                            /**
                             * Gets the default type url for VariableChoice
                             * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                             * @returns The default type url
                             */
                            public static getTypeUrl(typeUrlPrefix?: string): string;
                        }
                    }

                    /** Properties of a LongCreativeTemplateVariable. */
                    interface ILongCreativeTemplateVariable {

                        /** LongCreativeTemplateVariable defaultValue */
                        defaultValue?: (number|Long|string|null);

                        /** LongCreativeTemplateVariable sampleValue */
                        sampleValue?: (number|Long|string|null);
                    }

                    /** Represents a LongCreativeTemplateVariable. */
                    class LongCreativeTemplateVariable implements ILongCreativeTemplateVariable {

                        /**
                         * Constructs a new LongCreativeTemplateVariable.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.ads.admanager.v1.CreativeTemplateVariable.ILongCreativeTemplateVariable);

                        /** LongCreativeTemplateVariable defaultValue. */
                        public defaultValue?: (number|Long|string|null);

                        /** LongCreativeTemplateVariable sampleValue. */
                        public sampleValue?: (number|Long|string|null);

                        /**
                         * Creates a new LongCreativeTemplateVariable instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns LongCreativeTemplateVariable instance
                         */
                        public static create(properties?: google.ads.admanager.v1.CreativeTemplateVariable.ILongCreativeTemplateVariable): google.ads.admanager.v1.CreativeTemplateVariable.LongCreativeTemplateVariable;

                        /**
                         * Encodes the specified LongCreativeTemplateVariable message. Does not implicitly {@link google.ads.admanager.v1.CreativeTemplateVariable.LongCreativeTemplateVariable.verify|verify} messages.
                         * @param message LongCreativeTemplateVariable message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.ads.admanager.v1.CreativeTemplateVariable.ILongCreativeTemplateVariable, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified LongCreativeTemplateVariable message, length delimited. Does not implicitly {@link google.ads.admanager.v1.CreativeTemplateVariable.LongCreativeTemplateVariable.verify|verify} messages.
                         * @param message LongCreativeTemplateVariable message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.ads.admanager.v1.CreativeTemplateVariable.ILongCreativeTemplateVariable, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a LongCreativeTemplateVariable message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns LongCreativeTemplateVariable
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.CreativeTemplateVariable.LongCreativeTemplateVariable;

                        /**
                         * Decodes a LongCreativeTemplateVariable message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns LongCreativeTemplateVariable
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.CreativeTemplateVariable.LongCreativeTemplateVariable;

                        /**
                         * Verifies a LongCreativeTemplateVariable message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a LongCreativeTemplateVariable message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns LongCreativeTemplateVariable
                         */
                        public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.CreativeTemplateVariable.LongCreativeTemplateVariable;

                        /**
                         * Creates a plain object from a LongCreativeTemplateVariable message. Also converts values to other types if specified.
                         * @param message LongCreativeTemplateVariable
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.ads.admanager.v1.CreativeTemplateVariable.LongCreativeTemplateVariable, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this LongCreativeTemplateVariable to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for LongCreativeTemplateVariable
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a StringCreativeTemplateVariable. */
                    interface IStringCreativeTemplateVariable {

                        /** StringCreativeTemplateVariable defaultValue */
                        defaultValue?: (string|null);

                        /** StringCreativeTemplateVariable sampleValue */
                        sampleValue?: (string|null);
                    }

                    /** Represents a StringCreativeTemplateVariable. */
                    class StringCreativeTemplateVariable implements IStringCreativeTemplateVariable {

                        /**
                         * Constructs a new StringCreativeTemplateVariable.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.ads.admanager.v1.CreativeTemplateVariable.IStringCreativeTemplateVariable);

                        /** StringCreativeTemplateVariable defaultValue. */
                        public defaultValue?: (string|null);

                        /** StringCreativeTemplateVariable sampleValue. */
                        public sampleValue?: (string|null);

                        /**
                         * Creates a new StringCreativeTemplateVariable instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns StringCreativeTemplateVariable instance
                         */
                        public static create(properties?: google.ads.admanager.v1.CreativeTemplateVariable.IStringCreativeTemplateVariable): google.ads.admanager.v1.CreativeTemplateVariable.StringCreativeTemplateVariable;

                        /**
                         * Encodes the specified StringCreativeTemplateVariable message. Does not implicitly {@link google.ads.admanager.v1.CreativeTemplateVariable.StringCreativeTemplateVariable.verify|verify} messages.
                         * @param message StringCreativeTemplateVariable message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.ads.admanager.v1.CreativeTemplateVariable.IStringCreativeTemplateVariable, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified StringCreativeTemplateVariable message, length delimited. Does not implicitly {@link google.ads.admanager.v1.CreativeTemplateVariable.StringCreativeTemplateVariable.verify|verify} messages.
                         * @param message StringCreativeTemplateVariable message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.ads.admanager.v1.CreativeTemplateVariable.IStringCreativeTemplateVariable, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a StringCreativeTemplateVariable message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns StringCreativeTemplateVariable
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.CreativeTemplateVariable.StringCreativeTemplateVariable;

                        /**
                         * Decodes a StringCreativeTemplateVariable message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns StringCreativeTemplateVariable
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.CreativeTemplateVariable.StringCreativeTemplateVariable;

                        /**
                         * Verifies a StringCreativeTemplateVariable message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a StringCreativeTemplateVariable message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns StringCreativeTemplateVariable
                         */
                        public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.CreativeTemplateVariable.StringCreativeTemplateVariable;

                        /**
                         * Creates a plain object from a StringCreativeTemplateVariable message. Also converts values to other types if specified.
                         * @param message StringCreativeTemplateVariable
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.ads.admanager.v1.CreativeTemplateVariable.StringCreativeTemplateVariable, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this StringCreativeTemplateVariable to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for StringCreativeTemplateVariable
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of an UrlCreativeTemplateVariable. */
                    interface IUrlCreativeTemplateVariable {

                        /** UrlCreativeTemplateVariable defaultValue */
                        defaultValue?: (string|null);

                        /** UrlCreativeTemplateVariable sampleValue */
                        sampleValue?: (string|null);

                        /** UrlCreativeTemplateVariable urlType */
                        urlType?: (google.ads.admanager.v1.CreativeTemplateVariableUrlTypeEnum.CreativeTemplateVariableUrlType|keyof typeof google.ads.admanager.v1.CreativeTemplateVariableUrlTypeEnum.CreativeTemplateVariableUrlType|null);
                    }

                    /** Represents an UrlCreativeTemplateVariable. */
                    class UrlCreativeTemplateVariable implements IUrlCreativeTemplateVariable {

                        /**
                         * Constructs a new UrlCreativeTemplateVariable.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.ads.admanager.v1.CreativeTemplateVariable.IUrlCreativeTemplateVariable);

                        /** UrlCreativeTemplateVariable defaultValue. */
                        public defaultValue?: (string|null);

                        /** UrlCreativeTemplateVariable sampleValue. */
                        public sampleValue?: (string|null);

                        /** UrlCreativeTemplateVariable urlType. */
                        public urlType?: (google.ads.admanager.v1.CreativeTemplateVariableUrlTypeEnum.CreativeTemplateVariableUrlType|keyof typeof google.ads.admanager.v1.CreativeTemplateVariableUrlTypeEnum.CreativeTemplateVariableUrlType|null);

                        /**
                         * Creates a new UrlCreativeTemplateVariable instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns UrlCreativeTemplateVariable instance
                         */
                        public static create(properties?: google.ads.admanager.v1.CreativeTemplateVariable.IUrlCreativeTemplateVariable): google.ads.admanager.v1.CreativeTemplateVariable.UrlCreativeTemplateVariable;

                        /**
                         * Encodes the specified UrlCreativeTemplateVariable message. Does not implicitly {@link google.ads.admanager.v1.CreativeTemplateVariable.UrlCreativeTemplateVariable.verify|verify} messages.
                         * @param message UrlCreativeTemplateVariable message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.ads.admanager.v1.CreativeTemplateVariable.IUrlCreativeTemplateVariable, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified UrlCreativeTemplateVariable message, length delimited. Does not implicitly {@link google.ads.admanager.v1.CreativeTemplateVariable.UrlCreativeTemplateVariable.verify|verify} messages.
                         * @param message UrlCreativeTemplateVariable message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.ads.admanager.v1.CreativeTemplateVariable.IUrlCreativeTemplateVariable, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes an UrlCreativeTemplateVariable message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns UrlCreativeTemplateVariable
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.CreativeTemplateVariable.UrlCreativeTemplateVariable;

                        /**
                         * Decodes an UrlCreativeTemplateVariable message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns UrlCreativeTemplateVariable
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.CreativeTemplateVariable.UrlCreativeTemplateVariable;

                        /**
                         * Verifies an UrlCreativeTemplateVariable message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates an UrlCreativeTemplateVariable message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns UrlCreativeTemplateVariable
                         */
                        public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.CreativeTemplateVariable.UrlCreativeTemplateVariable;

                        /**
                         * Creates a plain object from an UrlCreativeTemplateVariable message. Also converts values to other types if specified.
                         * @param message UrlCreativeTemplateVariable
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.ads.admanager.v1.CreativeTemplateVariable.UrlCreativeTemplateVariable, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this UrlCreativeTemplateVariable to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for UrlCreativeTemplateVariable
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }
                }

                /** Properties of a CreativeTemplateVariableUrlTypeEnum. */
                interface ICreativeTemplateVariableUrlTypeEnum {
                }

                /** Represents a CreativeTemplateVariableUrlTypeEnum. */
                class CreativeTemplateVariableUrlTypeEnum implements ICreativeTemplateVariableUrlTypeEnum {

                    /**
                     * Constructs a new CreativeTemplateVariableUrlTypeEnum.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.ICreativeTemplateVariableUrlTypeEnum);

                    /**
                     * Creates a new CreativeTemplateVariableUrlTypeEnum instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns CreativeTemplateVariableUrlTypeEnum instance
                     */
                    public static create(properties?: google.ads.admanager.v1.ICreativeTemplateVariableUrlTypeEnum): google.ads.admanager.v1.CreativeTemplateVariableUrlTypeEnum;

                    /**
                     * Encodes the specified CreativeTemplateVariableUrlTypeEnum message. Does not implicitly {@link google.ads.admanager.v1.CreativeTemplateVariableUrlTypeEnum.verify|verify} messages.
                     * @param message CreativeTemplateVariableUrlTypeEnum message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.ICreativeTemplateVariableUrlTypeEnum, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified CreativeTemplateVariableUrlTypeEnum message, length delimited. Does not implicitly {@link google.ads.admanager.v1.CreativeTemplateVariableUrlTypeEnum.verify|verify} messages.
                     * @param message CreativeTemplateVariableUrlTypeEnum message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.ICreativeTemplateVariableUrlTypeEnum, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a CreativeTemplateVariableUrlTypeEnum message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns CreativeTemplateVariableUrlTypeEnum
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.CreativeTemplateVariableUrlTypeEnum;

                    /**
                     * Decodes a CreativeTemplateVariableUrlTypeEnum message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns CreativeTemplateVariableUrlTypeEnum
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.CreativeTemplateVariableUrlTypeEnum;

                    /**
                     * Verifies a CreativeTemplateVariableUrlTypeEnum message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a CreativeTemplateVariableUrlTypeEnum message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns CreativeTemplateVariableUrlTypeEnum
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.CreativeTemplateVariableUrlTypeEnum;

                    /**
                     * Creates a plain object from a CreativeTemplateVariableUrlTypeEnum message. Also converts values to other types if specified.
                     * @param message CreativeTemplateVariableUrlTypeEnum
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.CreativeTemplateVariableUrlTypeEnum, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this CreativeTemplateVariableUrlTypeEnum to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for CreativeTemplateVariableUrlTypeEnum
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                namespace CreativeTemplateVariableUrlTypeEnum {

                    /** CreativeTemplateVariableUrlType enum. */
                    enum CreativeTemplateVariableUrlType {
                        CREATIVE_TEMPLATE_VARIABLE_URL_TYPE_UNSPECIFIED = 0,
                        CLICK_TRACKER = 1,
                        DEEPLINK = 2,
                        IMPRESSION_TRACKER = 3,
                        STANDARD_HTTP = 4
                    }
                }

                /** Represents a CreativeTemplateService */
                class CreativeTemplateService extends $protobuf.rpc.Service {

                    /**
                     * Constructs a new CreativeTemplateService service.
                     * @param rpcImpl RPC implementation
                     * @param [requestDelimited=false] Whether requests are length-delimited
                     * @param [responseDelimited=false] Whether responses are length-delimited
                     */
                    constructor(rpcImpl: $protobuf.RPCImpl, requestDelimited?: boolean, responseDelimited?: boolean);

                    /**
                     * Creates new CreativeTemplateService service using the specified rpc implementation.
                     * @param rpcImpl RPC implementation
                     * @param [requestDelimited=false] Whether requests are length-delimited
                     * @param [responseDelimited=false] Whether responses are length-delimited
                     * @returns RPC service. Useful where requests and/or responses are streamed.
                     */
                    public static create(rpcImpl: $protobuf.RPCImpl, requestDelimited?: boolean, responseDelimited?: boolean): CreativeTemplateService;

                    /**
                     * Calls GetCreativeTemplate.
                     * @param request GetCreativeTemplateRequest message or plain object
                     * @param callback Node-style callback called with the error, if any, and CreativeTemplate
                     */
                    public getCreativeTemplate(request: google.ads.admanager.v1.IGetCreativeTemplateRequest, callback: google.ads.admanager.v1.CreativeTemplateService.GetCreativeTemplateCallback): void;

                    /**
                     * Calls GetCreativeTemplate.
                     * @param request GetCreativeTemplateRequest message or plain object
                     * @returns Promise
                     */
                    public getCreativeTemplate(request: google.ads.admanager.v1.IGetCreativeTemplateRequest): Promise<google.ads.admanager.v1.CreativeTemplate>;

                    /**
                     * Calls ListCreativeTemplates.
                     * @param request ListCreativeTemplatesRequest message or plain object
                     * @param callback Node-style callback called with the error, if any, and ListCreativeTemplatesResponse
                     */
                    public listCreativeTemplates(request: google.ads.admanager.v1.IListCreativeTemplatesRequest, callback: google.ads.admanager.v1.CreativeTemplateService.ListCreativeTemplatesCallback): void;

                    /**
                     * Calls ListCreativeTemplates.
                     * @param request ListCreativeTemplatesRequest message or plain object
                     * @returns Promise
                     */
                    public listCreativeTemplates(request: google.ads.admanager.v1.IListCreativeTemplatesRequest): Promise<google.ads.admanager.v1.ListCreativeTemplatesResponse>;
                }

                namespace CreativeTemplateService {

                    /**
                     * Callback as used by {@link google.ads.admanager.v1.CreativeTemplateService|getCreativeTemplate}.
                     * @param error Error, if any
                     * @param [response] CreativeTemplate
                     */
                    type GetCreativeTemplateCallback = (error: (Error|null), response?: google.ads.admanager.v1.CreativeTemplate) => void;

                    /**
                     * Callback as used by {@link google.ads.admanager.v1.CreativeTemplateService|listCreativeTemplates}.
                     * @param error Error, if any
                     * @param [response] ListCreativeTemplatesResponse
                     */
                    type ListCreativeTemplatesCallback = (error: (Error|null), response?: google.ads.admanager.v1.ListCreativeTemplatesResponse) => void;
                }

                /** Properties of a GetCreativeTemplateRequest. */
                interface IGetCreativeTemplateRequest {

                    /** GetCreativeTemplateRequest name */
                    name?: (string|null);
                }

                /** Represents a GetCreativeTemplateRequest. */
                class GetCreativeTemplateRequest implements IGetCreativeTemplateRequest {

                    /**
                     * Constructs a new GetCreativeTemplateRequest.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IGetCreativeTemplateRequest);

                    /** GetCreativeTemplateRequest name. */
                    public name: string;

                    /**
                     * Creates a new GetCreativeTemplateRequest instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns GetCreativeTemplateRequest instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IGetCreativeTemplateRequest): google.ads.admanager.v1.GetCreativeTemplateRequest;

                    /**
                     * Encodes the specified GetCreativeTemplateRequest message. Does not implicitly {@link google.ads.admanager.v1.GetCreativeTemplateRequest.verify|verify} messages.
                     * @param message GetCreativeTemplateRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IGetCreativeTemplateRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified GetCreativeTemplateRequest message, length delimited. Does not implicitly {@link google.ads.admanager.v1.GetCreativeTemplateRequest.verify|verify} messages.
                     * @param message GetCreativeTemplateRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IGetCreativeTemplateRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a GetCreativeTemplateRequest message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns GetCreativeTemplateRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.GetCreativeTemplateRequest;

                    /**
                     * Decodes a GetCreativeTemplateRequest message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns GetCreativeTemplateRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.GetCreativeTemplateRequest;

                    /**
                     * Verifies a GetCreativeTemplateRequest message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a GetCreativeTemplateRequest message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns GetCreativeTemplateRequest
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.GetCreativeTemplateRequest;

                    /**
                     * Creates a plain object from a GetCreativeTemplateRequest message. Also converts values to other types if specified.
                     * @param message GetCreativeTemplateRequest
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.GetCreativeTemplateRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this GetCreativeTemplateRequest to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for GetCreativeTemplateRequest
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a ListCreativeTemplatesRequest. */
                interface IListCreativeTemplatesRequest {

                    /** ListCreativeTemplatesRequest parent */
                    parent?: (string|null);

                    /** ListCreativeTemplatesRequest pageSize */
                    pageSize?: (number|null);

                    /** ListCreativeTemplatesRequest pageToken */
                    pageToken?: (string|null);

                    /** ListCreativeTemplatesRequest filter */
                    filter?: (string|null);

                    /** ListCreativeTemplatesRequest orderBy */
                    orderBy?: (string|null);

                    /** ListCreativeTemplatesRequest skip */
                    skip?: (number|null);
                }

                /** Represents a ListCreativeTemplatesRequest. */
                class ListCreativeTemplatesRequest implements IListCreativeTemplatesRequest {

                    /**
                     * Constructs a new ListCreativeTemplatesRequest.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IListCreativeTemplatesRequest);

                    /** ListCreativeTemplatesRequest parent. */
                    public parent: string;

                    /** ListCreativeTemplatesRequest pageSize. */
                    public pageSize: number;

                    /** ListCreativeTemplatesRequest pageToken. */
                    public pageToken: string;

                    /** ListCreativeTemplatesRequest filter. */
                    public filter: string;

                    /** ListCreativeTemplatesRequest orderBy. */
                    public orderBy: string;

                    /** ListCreativeTemplatesRequest skip. */
                    public skip: number;

                    /**
                     * Creates a new ListCreativeTemplatesRequest instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns ListCreativeTemplatesRequest instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IListCreativeTemplatesRequest): google.ads.admanager.v1.ListCreativeTemplatesRequest;

                    /**
                     * Encodes the specified ListCreativeTemplatesRequest message. Does not implicitly {@link google.ads.admanager.v1.ListCreativeTemplatesRequest.verify|verify} messages.
                     * @param message ListCreativeTemplatesRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IListCreativeTemplatesRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified ListCreativeTemplatesRequest message, length delimited. Does not implicitly {@link google.ads.admanager.v1.ListCreativeTemplatesRequest.verify|verify} messages.
                     * @param message ListCreativeTemplatesRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IListCreativeTemplatesRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a ListCreativeTemplatesRequest message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns ListCreativeTemplatesRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.ListCreativeTemplatesRequest;

                    /**
                     * Decodes a ListCreativeTemplatesRequest message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns ListCreativeTemplatesRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.ListCreativeTemplatesRequest;

                    /**
                     * Verifies a ListCreativeTemplatesRequest message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a ListCreativeTemplatesRequest message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns ListCreativeTemplatesRequest
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.ListCreativeTemplatesRequest;

                    /**
                     * Creates a plain object from a ListCreativeTemplatesRequest message. Also converts values to other types if specified.
                     * @param message ListCreativeTemplatesRequest
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.ListCreativeTemplatesRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this ListCreativeTemplatesRequest to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for ListCreativeTemplatesRequest
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a ListCreativeTemplatesResponse. */
                interface IListCreativeTemplatesResponse {

                    /** ListCreativeTemplatesResponse creativeTemplates */
                    creativeTemplates?: (google.ads.admanager.v1.ICreativeTemplate[]|null);

                    /** ListCreativeTemplatesResponse nextPageToken */
                    nextPageToken?: (string|null);

                    /** ListCreativeTemplatesResponse totalSize */
                    totalSize?: (number|null);
                }

                /** Represents a ListCreativeTemplatesResponse. */
                class ListCreativeTemplatesResponse implements IListCreativeTemplatesResponse {

                    /**
                     * Constructs a new ListCreativeTemplatesResponse.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IListCreativeTemplatesResponse);

                    /** ListCreativeTemplatesResponse creativeTemplates. */
                    public creativeTemplates: google.ads.admanager.v1.ICreativeTemplate[];

                    /** ListCreativeTemplatesResponse nextPageToken. */
                    public nextPageToken: string;

                    /** ListCreativeTemplatesResponse totalSize. */
                    public totalSize: number;

                    /**
                     * Creates a new ListCreativeTemplatesResponse instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns ListCreativeTemplatesResponse instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IListCreativeTemplatesResponse): google.ads.admanager.v1.ListCreativeTemplatesResponse;

                    /**
                     * Encodes the specified ListCreativeTemplatesResponse message. Does not implicitly {@link google.ads.admanager.v1.ListCreativeTemplatesResponse.verify|verify} messages.
                     * @param message ListCreativeTemplatesResponse message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IListCreativeTemplatesResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified ListCreativeTemplatesResponse message, length delimited. Does not implicitly {@link google.ads.admanager.v1.ListCreativeTemplatesResponse.verify|verify} messages.
                     * @param message ListCreativeTemplatesResponse message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IListCreativeTemplatesResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a ListCreativeTemplatesResponse message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns ListCreativeTemplatesResponse
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.ListCreativeTemplatesResponse;

                    /**
                     * Decodes a ListCreativeTemplatesResponse message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns ListCreativeTemplatesResponse
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.ListCreativeTemplatesResponse;

                    /**
                     * Verifies a ListCreativeTemplatesResponse message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a ListCreativeTemplatesResponse message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns ListCreativeTemplatesResponse
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.ListCreativeTemplatesResponse;

                    /**
                     * Creates a plain object from a ListCreativeTemplatesResponse message. Also converts values to other types if specified.
                     * @param message ListCreativeTemplatesResponse
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.ListCreativeTemplatesResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this ListCreativeTemplatesResponse to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for ListCreativeTemplatesResponse
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a CustomFieldDataTypeEnum. */
                interface ICustomFieldDataTypeEnum {
                }

                /** Represents a CustomFieldDataTypeEnum. */
                class CustomFieldDataTypeEnum implements ICustomFieldDataTypeEnum {

                    /**
                     * Constructs a new CustomFieldDataTypeEnum.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.ICustomFieldDataTypeEnum);

                    /**
                     * Creates a new CustomFieldDataTypeEnum instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns CustomFieldDataTypeEnum instance
                     */
                    public static create(properties?: google.ads.admanager.v1.ICustomFieldDataTypeEnum): google.ads.admanager.v1.CustomFieldDataTypeEnum;

                    /**
                     * Encodes the specified CustomFieldDataTypeEnum message. Does not implicitly {@link google.ads.admanager.v1.CustomFieldDataTypeEnum.verify|verify} messages.
                     * @param message CustomFieldDataTypeEnum message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.ICustomFieldDataTypeEnum, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified CustomFieldDataTypeEnum message, length delimited. Does not implicitly {@link google.ads.admanager.v1.CustomFieldDataTypeEnum.verify|verify} messages.
                     * @param message CustomFieldDataTypeEnum message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.ICustomFieldDataTypeEnum, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a CustomFieldDataTypeEnum message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns CustomFieldDataTypeEnum
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.CustomFieldDataTypeEnum;

                    /**
                     * Decodes a CustomFieldDataTypeEnum message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns CustomFieldDataTypeEnum
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.CustomFieldDataTypeEnum;

                    /**
                     * Verifies a CustomFieldDataTypeEnum message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a CustomFieldDataTypeEnum message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns CustomFieldDataTypeEnum
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.CustomFieldDataTypeEnum;

                    /**
                     * Creates a plain object from a CustomFieldDataTypeEnum message. Also converts values to other types if specified.
                     * @param message CustomFieldDataTypeEnum
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.CustomFieldDataTypeEnum, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this CustomFieldDataTypeEnum to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for CustomFieldDataTypeEnum
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                namespace CustomFieldDataTypeEnum {

                    /** CustomFieldDataType enum. */
                    enum CustomFieldDataType {
                        CUSTOM_FIELD_DATA_TYPE_UNSPECIFIED = 0,
                        STRING = 1,
                        NUMBER = 2,
                        TOGGLE = 3,
                        DROP_DOWN = 4
                    }
                }

                /** Properties of a CustomFieldEntityTypeEnum. */
                interface ICustomFieldEntityTypeEnum {
                }

                /** Represents a CustomFieldEntityTypeEnum. */
                class CustomFieldEntityTypeEnum implements ICustomFieldEntityTypeEnum {

                    /**
                     * Constructs a new CustomFieldEntityTypeEnum.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.ICustomFieldEntityTypeEnum);

                    /**
                     * Creates a new CustomFieldEntityTypeEnum instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns CustomFieldEntityTypeEnum instance
                     */
                    public static create(properties?: google.ads.admanager.v1.ICustomFieldEntityTypeEnum): google.ads.admanager.v1.CustomFieldEntityTypeEnum;

                    /**
                     * Encodes the specified CustomFieldEntityTypeEnum message. Does not implicitly {@link google.ads.admanager.v1.CustomFieldEntityTypeEnum.verify|verify} messages.
                     * @param message CustomFieldEntityTypeEnum message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.ICustomFieldEntityTypeEnum, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified CustomFieldEntityTypeEnum message, length delimited. Does not implicitly {@link google.ads.admanager.v1.CustomFieldEntityTypeEnum.verify|verify} messages.
                     * @param message CustomFieldEntityTypeEnum message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.ICustomFieldEntityTypeEnum, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a CustomFieldEntityTypeEnum message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns CustomFieldEntityTypeEnum
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.CustomFieldEntityTypeEnum;

                    /**
                     * Decodes a CustomFieldEntityTypeEnum message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns CustomFieldEntityTypeEnum
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.CustomFieldEntityTypeEnum;

                    /**
                     * Verifies a CustomFieldEntityTypeEnum message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a CustomFieldEntityTypeEnum message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns CustomFieldEntityTypeEnum
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.CustomFieldEntityTypeEnum;

                    /**
                     * Creates a plain object from a CustomFieldEntityTypeEnum message. Also converts values to other types if specified.
                     * @param message CustomFieldEntityTypeEnum
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.CustomFieldEntityTypeEnum, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this CustomFieldEntityTypeEnum to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for CustomFieldEntityTypeEnum
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                namespace CustomFieldEntityTypeEnum {

                    /** CustomFieldEntityType enum. */
                    enum CustomFieldEntityType {
                        CUSTOM_FIELD_ENTITY_TYPE_UNSPECIFIED = 0,
                        LINE_ITEM = 1,
                        ORDER = 2,
                        CREATIVE = 3,
                        PROPOSAL = 4,
                        PROPOSAL_LINE_ITEM = 5
                    }
                }

                /** Properties of a CustomFieldStatusEnum. */
                interface ICustomFieldStatusEnum {
                }

                /** Represents a CustomFieldStatusEnum. */
                class CustomFieldStatusEnum implements ICustomFieldStatusEnum {

                    /**
                     * Constructs a new CustomFieldStatusEnum.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.ICustomFieldStatusEnum);

                    /**
                     * Creates a new CustomFieldStatusEnum instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns CustomFieldStatusEnum instance
                     */
                    public static create(properties?: google.ads.admanager.v1.ICustomFieldStatusEnum): google.ads.admanager.v1.CustomFieldStatusEnum;

                    /**
                     * Encodes the specified CustomFieldStatusEnum message. Does not implicitly {@link google.ads.admanager.v1.CustomFieldStatusEnum.verify|verify} messages.
                     * @param message CustomFieldStatusEnum message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.ICustomFieldStatusEnum, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified CustomFieldStatusEnum message, length delimited. Does not implicitly {@link google.ads.admanager.v1.CustomFieldStatusEnum.verify|verify} messages.
                     * @param message CustomFieldStatusEnum message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.ICustomFieldStatusEnum, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a CustomFieldStatusEnum message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns CustomFieldStatusEnum
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.CustomFieldStatusEnum;

                    /**
                     * Decodes a CustomFieldStatusEnum message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns CustomFieldStatusEnum
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.CustomFieldStatusEnum;

                    /**
                     * Verifies a CustomFieldStatusEnum message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a CustomFieldStatusEnum message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns CustomFieldStatusEnum
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.CustomFieldStatusEnum;

                    /**
                     * Creates a plain object from a CustomFieldStatusEnum message. Also converts values to other types if specified.
                     * @param message CustomFieldStatusEnum
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.CustomFieldStatusEnum, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this CustomFieldStatusEnum to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for CustomFieldStatusEnum
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                namespace CustomFieldStatusEnum {

                    /** CustomFieldStatus enum. */
                    enum CustomFieldStatus {
                        CUSTOM_FIELD_STATUS_UNSPECIFIED = 0,
                        ACTIVE = 1,
                        INACTIVE = 2
                    }
                }

                /** Properties of a CustomFieldVisibilityEnum. */
                interface ICustomFieldVisibilityEnum {
                }

                /** Represents a CustomFieldVisibilityEnum. */
                class CustomFieldVisibilityEnum implements ICustomFieldVisibilityEnum {

                    /**
                     * Constructs a new CustomFieldVisibilityEnum.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.ICustomFieldVisibilityEnum);

                    /**
                     * Creates a new CustomFieldVisibilityEnum instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns CustomFieldVisibilityEnum instance
                     */
                    public static create(properties?: google.ads.admanager.v1.ICustomFieldVisibilityEnum): google.ads.admanager.v1.CustomFieldVisibilityEnum;

                    /**
                     * Encodes the specified CustomFieldVisibilityEnum message. Does not implicitly {@link google.ads.admanager.v1.CustomFieldVisibilityEnum.verify|verify} messages.
                     * @param message CustomFieldVisibilityEnum message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.ICustomFieldVisibilityEnum, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified CustomFieldVisibilityEnum message, length delimited. Does not implicitly {@link google.ads.admanager.v1.CustomFieldVisibilityEnum.verify|verify} messages.
                     * @param message CustomFieldVisibilityEnum message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.ICustomFieldVisibilityEnum, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a CustomFieldVisibilityEnum message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns CustomFieldVisibilityEnum
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.CustomFieldVisibilityEnum;

                    /**
                     * Decodes a CustomFieldVisibilityEnum message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns CustomFieldVisibilityEnum
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.CustomFieldVisibilityEnum;

                    /**
                     * Verifies a CustomFieldVisibilityEnum message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a CustomFieldVisibilityEnum message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns CustomFieldVisibilityEnum
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.CustomFieldVisibilityEnum;

                    /**
                     * Creates a plain object from a CustomFieldVisibilityEnum message. Also converts values to other types if specified.
                     * @param message CustomFieldVisibilityEnum
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.CustomFieldVisibilityEnum, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this CustomFieldVisibilityEnum to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for CustomFieldVisibilityEnum
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                namespace CustomFieldVisibilityEnum {

                    /** CustomFieldVisibility enum. */
                    enum CustomFieldVisibility {
                        CUSTOM_FIELD_VISIBILITY_UNSPECIFIED = 0,
                        HIDDEN = 1,
                        READ_ONLY = 2,
                        EDITABLE = 3
                    }
                }

                /** Properties of a CustomField. */
                interface ICustomField {

                    /** CustomField name */
                    name?: (string|null);

                    /** CustomField customFieldId */
                    customFieldId?: (number|Long|string|null);

                    /** CustomField displayName */
                    displayName?: (string|null);

                    /** CustomField description */
                    description?: (string|null);

                    /** CustomField status */
                    status?: (google.ads.admanager.v1.CustomFieldStatusEnum.CustomFieldStatus|keyof typeof google.ads.admanager.v1.CustomFieldStatusEnum.CustomFieldStatus|null);

                    /** CustomField entityType */
                    entityType?: (google.ads.admanager.v1.CustomFieldEntityTypeEnum.CustomFieldEntityType|keyof typeof google.ads.admanager.v1.CustomFieldEntityTypeEnum.CustomFieldEntityType|null);

                    /** CustomField dataType */
                    dataType?: (google.ads.admanager.v1.CustomFieldDataTypeEnum.CustomFieldDataType|keyof typeof google.ads.admanager.v1.CustomFieldDataTypeEnum.CustomFieldDataType|null);

                    /** CustomField visibility */
                    visibility?: (google.ads.admanager.v1.CustomFieldVisibilityEnum.CustomFieldVisibility|keyof typeof google.ads.admanager.v1.CustomFieldVisibilityEnum.CustomFieldVisibility|null);

                    /** CustomField options */
                    options?: (google.ads.admanager.v1.ICustomFieldOption[]|null);
                }

                /** Represents a CustomField. */
                class CustomField implements ICustomField {

                    /**
                     * Constructs a new CustomField.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.ICustomField);

                    /** CustomField name. */
                    public name: string;

                    /** CustomField customFieldId. */
                    public customFieldId?: (number|Long|string|null);

                    /** CustomField displayName. */
                    public displayName?: (string|null);

                    /** CustomField description. */
                    public description?: (string|null);

                    /** CustomField status. */
                    public status?: (google.ads.admanager.v1.CustomFieldStatusEnum.CustomFieldStatus|keyof typeof google.ads.admanager.v1.CustomFieldStatusEnum.CustomFieldStatus|null);

                    /** CustomField entityType. */
                    public entityType?: (google.ads.admanager.v1.CustomFieldEntityTypeEnum.CustomFieldEntityType|keyof typeof google.ads.admanager.v1.CustomFieldEntityTypeEnum.CustomFieldEntityType|null);

                    /** CustomField dataType. */
                    public dataType?: (google.ads.admanager.v1.CustomFieldDataTypeEnum.CustomFieldDataType|keyof typeof google.ads.admanager.v1.CustomFieldDataTypeEnum.CustomFieldDataType|null);

                    /** CustomField visibility. */
                    public visibility?: (google.ads.admanager.v1.CustomFieldVisibilityEnum.CustomFieldVisibility|keyof typeof google.ads.admanager.v1.CustomFieldVisibilityEnum.CustomFieldVisibility|null);

                    /** CustomField options. */
                    public options: google.ads.admanager.v1.ICustomFieldOption[];

                    /**
                     * Creates a new CustomField instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns CustomField instance
                     */
                    public static create(properties?: google.ads.admanager.v1.ICustomField): google.ads.admanager.v1.CustomField;

                    /**
                     * Encodes the specified CustomField message. Does not implicitly {@link google.ads.admanager.v1.CustomField.verify|verify} messages.
                     * @param message CustomField message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.ICustomField, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified CustomField message, length delimited. Does not implicitly {@link google.ads.admanager.v1.CustomField.verify|verify} messages.
                     * @param message CustomField message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.ICustomField, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a CustomField message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns CustomField
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.CustomField;

                    /**
                     * Decodes a CustomField message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns CustomField
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.CustomField;

                    /**
                     * Verifies a CustomField message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a CustomField message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns CustomField
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.CustomField;

                    /**
                     * Creates a plain object from a CustomField message. Also converts values to other types if specified.
                     * @param message CustomField
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.CustomField, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this CustomField to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for CustomField
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a CustomFieldOption. */
                interface ICustomFieldOption {

                    /** CustomFieldOption customFieldOptionId */
                    customFieldOptionId?: (number|Long|string|null);

                    /** CustomFieldOption displayName */
                    displayName?: (string|null);
                }

                /** Represents a CustomFieldOption. */
                class CustomFieldOption implements ICustomFieldOption {

                    /**
                     * Constructs a new CustomFieldOption.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.ICustomFieldOption);

                    /** CustomFieldOption customFieldOptionId. */
                    public customFieldOptionId: (number|Long|string);

                    /** CustomFieldOption displayName. */
                    public displayName: string;

                    /**
                     * Creates a new CustomFieldOption instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns CustomFieldOption instance
                     */
                    public static create(properties?: google.ads.admanager.v1.ICustomFieldOption): google.ads.admanager.v1.CustomFieldOption;

                    /**
                     * Encodes the specified CustomFieldOption message. Does not implicitly {@link google.ads.admanager.v1.CustomFieldOption.verify|verify} messages.
                     * @param message CustomFieldOption message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.ICustomFieldOption, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified CustomFieldOption message, length delimited. Does not implicitly {@link google.ads.admanager.v1.CustomFieldOption.verify|verify} messages.
                     * @param message CustomFieldOption message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.ICustomFieldOption, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a CustomFieldOption message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns CustomFieldOption
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.CustomFieldOption;

                    /**
                     * Decodes a CustomFieldOption message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns CustomFieldOption
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.CustomFieldOption;

                    /**
                     * Verifies a CustomFieldOption message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a CustomFieldOption message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns CustomFieldOption
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.CustomFieldOption;

                    /**
                     * Creates a plain object from a CustomFieldOption message. Also converts values to other types if specified.
                     * @param message CustomFieldOption
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.CustomFieldOption, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this CustomFieldOption to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for CustomFieldOption
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Represents a CustomFieldService */
                class CustomFieldService extends $protobuf.rpc.Service {

                    /**
                     * Constructs a new CustomFieldService service.
                     * @param rpcImpl RPC implementation
                     * @param [requestDelimited=false] Whether requests are length-delimited
                     * @param [responseDelimited=false] Whether responses are length-delimited
                     */
                    constructor(rpcImpl: $protobuf.RPCImpl, requestDelimited?: boolean, responseDelimited?: boolean);

                    /**
                     * Creates new CustomFieldService service using the specified rpc implementation.
                     * @param rpcImpl RPC implementation
                     * @param [requestDelimited=false] Whether requests are length-delimited
                     * @param [responseDelimited=false] Whether responses are length-delimited
                     * @returns RPC service. Useful where requests and/or responses are streamed.
                     */
                    public static create(rpcImpl: $protobuf.RPCImpl, requestDelimited?: boolean, responseDelimited?: boolean): CustomFieldService;

                    /**
                     * Calls GetCustomField.
                     * @param request GetCustomFieldRequest message or plain object
                     * @param callback Node-style callback called with the error, if any, and CustomField
                     */
                    public getCustomField(request: google.ads.admanager.v1.IGetCustomFieldRequest, callback: google.ads.admanager.v1.CustomFieldService.GetCustomFieldCallback): void;

                    /**
                     * Calls GetCustomField.
                     * @param request GetCustomFieldRequest message or plain object
                     * @returns Promise
                     */
                    public getCustomField(request: google.ads.admanager.v1.IGetCustomFieldRequest): Promise<google.ads.admanager.v1.CustomField>;

                    /**
                     * Calls ListCustomFields.
                     * @param request ListCustomFieldsRequest message or plain object
                     * @param callback Node-style callback called with the error, if any, and ListCustomFieldsResponse
                     */
                    public listCustomFields(request: google.ads.admanager.v1.IListCustomFieldsRequest, callback: google.ads.admanager.v1.CustomFieldService.ListCustomFieldsCallback): void;

                    /**
                     * Calls ListCustomFields.
                     * @param request ListCustomFieldsRequest message or plain object
                     * @returns Promise
                     */
                    public listCustomFields(request: google.ads.admanager.v1.IListCustomFieldsRequest): Promise<google.ads.admanager.v1.ListCustomFieldsResponse>;

                    /**
                     * Calls CreateCustomField.
                     * @param request CreateCustomFieldRequest message or plain object
                     * @param callback Node-style callback called with the error, if any, and CustomField
                     */
                    public createCustomField(request: google.ads.admanager.v1.ICreateCustomFieldRequest, callback: google.ads.admanager.v1.CustomFieldService.CreateCustomFieldCallback): void;

                    /**
                     * Calls CreateCustomField.
                     * @param request CreateCustomFieldRequest message or plain object
                     * @returns Promise
                     */
                    public createCustomField(request: google.ads.admanager.v1.ICreateCustomFieldRequest): Promise<google.ads.admanager.v1.CustomField>;

                    /**
                     * Calls BatchCreateCustomFields.
                     * @param request BatchCreateCustomFieldsRequest message or plain object
                     * @param callback Node-style callback called with the error, if any, and BatchCreateCustomFieldsResponse
                     */
                    public batchCreateCustomFields(request: google.ads.admanager.v1.IBatchCreateCustomFieldsRequest, callback: google.ads.admanager.v1.CustomFieldService.BatchCreateCustomFieldsCallback): void;

                    /**
                     * Calls BatchCreateCustomFields.
                     * @param request BatchCreateCustomFieldsRequest message or plain object
                     * @returns Promise
                     */
                    public batchCreateCustomFields(request: google.ads.admanager.v1.IBatchCreateCustomFieldsRequest): Promise<google.ads.admanager.v1.BatchCreateCustomFieldsResponse>;

                    /**
                     * Calls UpdateCustomField.
                     * @param request UpdateCustomFieldRequest message or plain object
                     * @param callback Node-style callback called with the error, if any, and CustomField
                     */
                    public updateCustomField(request: google.ads.admanager.v1.IUpdateCustomFieldRequest, callback: google.ads.admanager.v1.CustomFieldService.UpdateCustomFieldCallback): void;

                    /**
                     * Calls UpdateCustomField.
                     * @param request UpdateCustomFieldRequest message or plain object
                     * @returns Promise
                     */
                    public updateCustomField(request: google.ads.admanager.v1.IUpdateCustomFieldRequest): Promise<google.ads.admanager.v1.CustomField>;

                    /**
                     * Calls BatchUpdateCustomFields.
                     * @param request BatchUpdateCustomFieldsRequest message or plain object
                     * @param callback Node-style callback called with the error, if any, and BatchUpdateCustomFieldsResponse
                     */
                    public batchUpdateCustomFields(request: google.ads.admanager.v1.IBatchUpdateCustomFieldsRequest, callback: google.ads.admanager.v1.CustomFieldService.BatchUpdateCustomFieldsCallback): void;

                    /**
                     * Calls BatchUpdateCustomFields.
                     * @param request BatchUpdateCustomFieldsRequest message or plain object
                     * @returns Promise
                     */
                    public batchUpdateCustomFields(request: google.ads.admanager.v1.IBatchUpdateCustomFieldsRequest): Promise<google.ads.admanager.v1.BatchUpdateCustomFieldsResponse>;

                    /**
                     * Calls BatchActivateCustomFields.
                     * @param request BatchActivateCustomFieldsRequest message or plain object
                     * @param callback Node-style callback called with the error, if any, and BatchActivateCustomFieldsResponse
                     */
                    public batchActivateCustomFields(request: google.ads.admanager.v1.IBatchActivateCustomFieldsRequest, callback: google.ads.admanager.v1.CustomFieldService.BatchActivateCustomFieldsCallback): void;

                    /**
                     * Calls BatchActivateCustomFields.
                     * @param request BatchActivateCustomFieldsRequest message or plain object
                     * @returns Promise
                     */
                    public batchActivateCustomFields(request: google.ads.admanager.v1.IBatchActivateCustomFieldsRequest): Promise<google.ads.admanager.v1.BatchActivateCustomFieldsResponse>;

                    /**
                     * Calls BatchDeactivateCustomFields.
                     * @param request BatchDeactivateCustomFieldsRequest message or plain object
                     * @param callback Node-style callback called with the error, if any, and BatchDeactivateCustomFieldsResponse
                     */
                    public batchDeactivateCustomFields(request: google.ads.admanager.v1.IBatchDeactivateCustomFieldsRequest, callback: google.ads.admanager.v1.CustomFieldService.BatchDeactivateCustomFieldsCallback): void;

                    /**
                     * Calls BatchDeactivateCustomFields.
                     * @param request BatchDeactivateCustomFieldsRequest message or plain object
                     * @returns Promise
                     */
                    public batchDeactivateCustomFields(request: google.ads.admanager.v1.IBatchDeactivateCustomFieldsRequest): Promise<google.ads.admanager.v1.BatchDeactivateCustomFieldsResponse>;
                }

                namespace CustomFieldService {

                    /**
                     * Callback as used by {@link google.ads.admanager.v1.CustomFieldService|getCustomField}.
                     * @param error Error, if any
                     * @param [response] CustomField
                     */
                    type GetCustomFieldCallback = (error: (Error|null), response?: google.ads.admanager.v1.CustomField) => void;

                    /**
                     * Callback as used by {@link google.ads.admanager.v1.CustomFieldService|listCustomFields}.
                     * @param error Error, if any
                     * @param [response] ListCustomFieldsResponse
                     */
                    type ListCustomFieldsCallback = (error: (Error|null), response?: google.ads.admanager.v1.ListCustomFieldsResponse) => void;

                    /**
                     * Callback as used by {@link google.ads.admanager.v1.CustomFieldService|createCustomField}.
                     * @param error Error, if any
                     * @param [response] CustomField
                     */
                    type CreateCustomFieldCallback = (error: (Error|null), response?: google.ads.admanager.v1.CustomField) => void;

                    /**
                     * Callback as used by {@link google.ads.admanager.v1.CustomFieldService|batchCreateCustomFields}.
                     * @param error Error, if any
                     * @param [response] BatchCreateCustomFieldsResponse
                     */
                    type BatchCreateCustomFieldsCallback = (error: (Error|null), response?: google.ads.admanager.v1.BatchCreateCustomFieldsResponse) => void;

                    /**
                     * Callback as used by {@link google.ads.admanager.v1.CustomFieldService|updateCustomField}.
                     * @param error Error, if any
                     * @param [response] CustomField
                     */
                    type UpdateCustomFieldCallback = (error: (Error|null), response?: google.ads.admanager.v1.CustomField) => void;

                    /**
                     * Callback as used by {@link google.ads.admanager.v1.CustomFieldService|batchUpdateCustomFields}.
                     * @param error Error, if any
                     * @param [response] BatchUpdateCustomFieldsResponse
                     */
                    type BatchUpdateCustomFieldsCallback = (error: (Error|null), response?: google.ads.admanager.v1.BatchUpdateCustomFieldsResponse) => void;

                    /**
                     * Callback as used by {@link google.ads.admanager.v1.CustomFieldService|batchActivateCustomFields}.
                     * @param error Error, if any
                     * @param [response] BatchActivateCustomFieldsResponse
                     */
                    type BatchActivateCustomFieldsCallback = (error: (Error|null), response?: google.ads.admanager.v1.BatchActivateCustomFieldsResponse) => void;

                    /**
                     * Callback as used by {@link google.ads.admanager.v1.CustomFieldService|batchDeactivateCustomFields}.
                     * @param error Error, if any
                     * @param [response] BatchDeactivateCustomFieldsResponse
                     */
                    type BatchDeactivateCustomFieldsCallback = (error: (Error|null), response?: google.ads.admanager.v1.BatchDeactivateCustomFieldsResponse) => void;
                }

                /** Properties of a GetCustomFieldRequest. */
                interface IGetCustomFieldRequest {

                    /** GetCustomFieldRequest name */
                    name?: (string|null);
                }

                /** Represents a GetCustomFieldRequest. */
                class GetCustomFieldRequest implements IGetCustomFieldRequest {

                    /**
                     * Constructs a new GetCustomFieldRequest.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IGetCustomFieldRequest);

                    /** GetCustomFieldRequest name. */
                    public name: string;

                    /**
                     * Creates a new GetCustomFieldRequest instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns GetCustomFieldRequest instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IGetCustomFieldRequest): google.ads.admanager.v1.GetCustomFieldRequest;

                    /**
                     * Encodes the specified GetCustomFieldRequest message. Does not implicitly {@link google.ads.admanager.v1.GetCustomFieldRequest.verify|verify} messages.
                     * @param message GetCustomFieldRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IGetCustomFieldRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified GetCustomFieldRequest message, length delimited. Does not implicitly {@link google.ads.admanager.v1.GetCustomFieldRequest.verify|verify} messages.
                     * @param message GetCustomFieldRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IGetCustomFieldRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a GetCustomFieldRequest message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns GetCustomFieldRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.GetCustomFieldRequest;

                    /**
                     * Decodes a GetCustomFieldRequest message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns GetCustomFieldRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.GetCustomFieldRequest;

                    /**
                     * Verifies a GetCustomFieldRequest message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a GetCustomFieldRequest message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns GetCustomFieldRequest
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.GetCustomFieldRequest;

                    /**
                     * Creates a plain object from a GetCustomFieldRequest message. Also converts values to other types if specified.
                     * @param message GetCustomFieldRequest
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.GetCustomFieldRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this GetCustomFieldRequest to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for GetCustomFieldRequest
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a ListCustomFieldsRequest. */
                interface IListCustomFieldsRequest {

                    /** ListCustomFieldsRequest parent */
                    parent?: (string|null);

                    /** ListCustomFieldsRequest pageSize */
                    pageSize?: (number|null);

                    /** ListCustomFieldsRequest pageToken */
                    pageToken?: (string|null);

                    /** ListCustomFieldsRequest filter */
                    filter?: (string|null);

                    /** ListCustomFieldsRequest orderBy */
                    orderBy?: (string|null);

                    /** ListCustomFieldsRequest skip */
                    skip?: (number|null);
                }

                /** Represents a ListCustomFieldsRequest. */
                class ListCustomFieldsRequest implements IListCustomFieldsRequest {

                    /**
                     * Constructs a new ListCustomFieldsRequest.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IListCustomFieldsRequest);

                    /** ListCustomFieldsRequest parent. */
                    public parent: string;

                    /** ListCustomFieldsRequest pageSize. */
                    public pageSize: number;

                    /** ListCustomFieldsRequest pageToken. */
                    public pageToken: string;

                    /** ListCustomFieldsRequest filter. */
                    public filter: string;

                    /** ListCustomFieldsRequest orderBy. */
                    public orderBy: string;

                    /** ListCustomFieldsRequest skip. */
                    public skip: number;

                    /**
                     * Creates a new ListCustomFieldsRequest instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns ListCustomFieldsRequest instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IListCustomFieldsRequest): google.ads.admanager.v1.ListCustomFieldsRequest;

                    /**
                     * Encodes the specified ListCustomFieldsRequest message. Does not implicitly {@link google.ads.admanager.v1.ListCustomFieldsRequest.verify|verify} messages.
                     * @param message ListCustomFieldsRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IListCustomFieldsRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified ListCustomFieldsRequest message, length delimited. Does not implicitly {@link google.ads.admanager.v1.ListCustomFieldsRequest.verify|verify} messages.
                     * @param message ListCustomFieldsRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IListCustomFieldsRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a ListCustomFieldsRequest message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns ListCustomFieldsRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.ListCustomFieldsRequest;

                    /**
                     * Decodes a ListCustomFieldsRequest message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns ListCustomFieldsRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.ListCustomFieldsRequest;

                    /**
                     * Verifies a ListCustomFieldsRequest message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a ListCustomFieldsRequest message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns ListCustomFieldsRequest
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.ListCustomFieldsRequest;

                    /**
                     * Creates a plain object from a ListCustomFieldsRequest message. Also converts values to other types if specified.
                     * @param message ListCustomFieldsRequest
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.ListCustomFieldsRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this ListCustomFieldsRequest to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for ListCustomFieldsRequest
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a ListCustomFieldsResponse. */
                interface IListCustomFieldsResponse {

                    /** ListCustomFieldsResponse customFields */
                    customFields?: (google.ads.admanager.v1.ICustomField[]|null);

                    /** ListCustomFieldsResponse nextPageToken */
                    nextPageToken?: (string|null);

                    /** ListCustomFieldsResponse totalSize */
                    totalSize?: (number|null);
                }

                /** Represents a ListCustomFieldsResponse. */
                class ListCustomFieldsResponse implements IListCustomFieldsResponse {

                    /**
                     * Constructs a new ListCustomFieldsResponse.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IListCustomFieldsResponse);

                    /** ListCustomFieldsResponse customFields. */
                    public customFields: google.ads.admanager.v1.ICustomField[];

                    /** ListCustomFieldsResponse nextPageToken. */
                    public nextPageToken: string;

                    /** ListCustomFieldsResponse totalSize. */
                    public totalSize: number;

                    /**
                     * Creates a new ListCustomFieldsResponse instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns ListCustomFieldsResponse instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IListCustomFieldsResponse): google.ads.admanager.v1.ListCustomFieldsResponse;

                    /**
                     * Encodes the specified ListCustomFieldsResponse message. Does not implicitly {@link google.ads.admanager.v1.ListCustomFieldsResponse.verify|verify} messages.
                     * @param message ListCustomFieldsResponse message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IListCustomFieldsResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified ListCustomFieldsResponse message, length delimited. Does not implicitly {@link google.ads.admanager.v1.ListCustomFieldsResponse.verify|verify} messages.
                     * @param message ListCustomFieldsResponse message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IListCustomFieldsResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a ListCustomFieldsResponse message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns ListCustomFieldsResponse
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.ListCustomFieldsResponse;

                    /**
                     * Decodes a ListCustomFieldsResponse message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns ListCustomFieldsResponse
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.ListCustomFieldsResponse;

                    /**
                     * Verifies a ListCustomFieldsResponse message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a ListCustomFieldsResponse message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns ListCustomFieldsResponse
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.ListCustomFieldsResponse;

                    /**
                     * Creates a plain object from a ListCustomFieldsResponse message. Also converts values to other types if specified.
                     * @param message ListCustomFieldsResponse
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.ListCustomFieldsResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this ListCustomFieldsResponse to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for ListCustomFieldsResponse
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a CreateCustomFieldRequest. */
                interface ICreateCustomFieldRequest {

                    /** CreateCustomFieldRequest parent */
                    parent?: (string|null);

                    /** CreateCustomFieldRequest customField */
                    customField?: (google.ads.admanager.v1.ICustomField|null);
                }

                /** Represents a CreateCustomFieldRequest. */
                class CreateCustomFieldRequest implements ICreateCustomFieldRequest {

                    /**
                     * Constructs a new CreateCustomFieldRequest.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.ICreateCustomFieldRequest);

                    /** CreateCustomFieldRequest parent. */
                    public parent: string;

                    /** CreateCustomFieldRequest customField. */
                    public customField?: (google.ads.admanager.v1.ICustomField|null);

                    /**
                     * Creates a new CreateCustomFieldRequest instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns CreateCustomFieldRequest instance
                     */
                    public static create(properties?: google.ads.admanager.v1.ICreateCustomFieldRequest): google.ads.admanager.v1.CreateCustomFieldRequest;

                    /**
                     * Encodes the specified CreateCustomFieldRequest message. Does not implicitly {@link google.ads.admanager.v1.CreateCustomFieldRequest.verify|verify} messages.
                     * @param message CreateCustomFieldRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.ICreateCustomFieldRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified CreateCustomFieldRequest message, length delimited. Does not implicitly {@link google.ads.admanager.v1.CreateCustomFieldRequest.verify|verify} messages.
                     * @param message CreateCustomFieldRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.ICreateCustomFieldRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a CreateCustomFieldRequest message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns CreateCustomFieldRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.CreateCustomFieldRequest;

                    /**
                     * Decodes a CreateCustomFieldRequest message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns CreateCustomFieldRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.CreateCustomFieldRequest;

                    /**
                     * Verifies a CreateCustomFieldRequest message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a CreateCustomFieldRequest message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns CreateCustomFieldRequest
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.CreateCustomFieldRequest;

                    /**
                     * Creates a plain object from a CreateCustomFieldRequest message. Also converts values to other types if specified.
                     * @param message CreateCustomFieldRequest
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.CreateCustomFieldRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this CreateCustomFieldRequest to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for CreateCustomFieldRequest
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a BatchCreateCustomFieldsRequest. */
                interface IBatchCreateCustomFieldsRequest {

                    /** BatchCreateCustomFieldsRequest parent */
                    parent?: (string|null);

                    /** BatchCreateCustomFieldsRequest requests */
                    requests?: (google.ads.admanager.v1.ICreateCustomFieldRequest[]|null);
                }

                /** Represents a BatchCreateCustomFieldsRequest. */
                class BatchCreateCustomFieldsRequest implements IBatchCreateCustomFieldsRequest {

                    /**
                     * Constructs a new BatchCreateCustomFieldsRequest.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IBatchCreateCustomFieldsRequest);

                    /** BatchCreateCustomFieldsRequest parent. */
                    public parent: string;

                    /** BatchCreateCustomFieldsRequest requests. */
                    public requests: google.ads.admanager.v1.ICreateCustomFieldRequest[];

                    /**
                     * Creates a new BatchCreateCustomFieldsRequest instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns BatchCreateCustomFieldsRequest instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IBatchCreateCustomFieldsRequest): google.ads.admanager.v1.BatchCreateCustomFieldsRequest;

                    /**
                     * Encodes the specified BatchCreateCustomFieldsRequest message. Does not implicitly {@link google.ads.admanager.v1.BatchCreateCustomFieldsRequest.verify|verify} messages.
                     * @param message BatchCreateCustomFieldsRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IBatchCreateCustomFieldsRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified BatchCreateCustomFieldsRequest message, length delimited. Does not implicitly {@link google.ads.admanager.v1.BatchCreateCustomFieldsRequest.verify|verify} messages.
                     * @param message BatchCreateCustomFieldsRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IBatchCreateCustomFieldsRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a BatchCreateCustomFieldsRequest message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns BatchCreateCustomFieldsRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.BatchCreateCustomFieldsRequest;

                    /**
                     * Decodes a BatchCreateCustomFieldsRequest message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns BatchCreateCustomFieldsRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.BatchCreateCustomFieldsRequest;

                    /**
                     * Verifies a BatchCreateCustomFieldsRequest message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a BatchCreateCustomFieldsRequest message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns BatchCreateCustomFieldsRequest
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.BatchCreateCustomFieldsRequest;

                    /**
                     * Creates a plain object from a BatchCreateCustomFieldsRequest message. Also converts values to other types if specified.
                     * @param message BatchCreateCustomFieldsRequest
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.BatchCreateCustomFieldsRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this BatchCreateCustomFieldsRequest to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for BatchCreateCustomFieldsRequest
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a BatchCreateCustomFieldsResponse. */
                interface IBatchCreateCustomFieldsResponse {

                    /** BatchCreateCustomFieldsResponse customFields */
                    customFields?: (google.ads.admanager.v1.ICustomField[]|null);
                }

                /** Represents a BatchCreateCustomFieldsResponse. */
                class BatchCreateCustomFieldsResponse implements IBatchCreateCustomFieldsResponse {

                    /**
                     * Constructs a new BatchCreateCustomFieldsResponse.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IBatchCreateCustomFieldsResponse);

                    /** BatchCreateCustomFieldsResponse customFields. */
                    public customFields: google.ads.admanager.v1.ICustomField[];

                    /**
                     * Creates a new BatchCreateCustomFieldsResponse instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns BatchCreateCustomFieldsResponse instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IBatchCreateCustomFieldsResponse): google.ads.admanager.v1.BatchCreateCustomFieldsResponse;

                    /**
                     * Encodes the specified BatchCreateCustomFieldsResponse message. Does not implicitly {@link google.ads.admanager.v1.BatchCreateCustomFieldsResponse.verify|verify} messages.
                     * @param message BatchCreateCustomFieldsResponse message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IBatchCreateCustomFieldsResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified BatchCreateCustomFieldsResponse message, length delimited. Does not implicitly {@link google.ads.admanager.v1.BatchCreateCustomFieldsResponse.verify|verify} messages.
                     * @param message BatchCreateCustomFieldsResponse message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IBatchCreateCustomFieldsResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a BatchCreateCustomFieldsResponse message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns BatchCreateCustomFieldsResponse
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.BatchCreateCustomFieldsResponse;

                    /**
                     * Decodes a BatchCreateCustomFieldsResponse message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns BatchCreateCustomFieldsResponse
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.BatchCreateCustomFieldsResponse;

                    /**
                     * Verifies a BatchCreateCustomFieldsResponse message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a BatchCreateCustomFieldsResponse message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns BatchCreateCustomFieldsResponse
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.BatchCreateCustomFieldsResponse;

                    /**
                     * Creates a plain object from a BatchCreateCustomFieldsResponse message. Also converts values to other types if specified.
                     * @param message BatchCreateCustomFieldsResponse
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.BatchCreateCustomFieldsResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this BatchCreateCustomFieldsResponse to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for BatchCreateCustomFieldsResponse
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of an UpdateCustomFieldRequest. */
                interface IUpdateCustomFieldRequest {

                    /** UpdateCustomFieldRequest customField */
                    customField?: (google.ads.admanager.v1.ICustomField|null);

                    /** UpdateCustomFieldRequest updateMask */
                    updateMask?: (google.protobuf.IFieldMask|null);
                }

                /** Represents an UpdateCustomFieldRequest. */
                class UpdateCustomFieldRequest implements IUpdateCustomFieldRequest {

                    /**
                     * Constructs a new UpdateCustomFieldRequest.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IUpdateCustomFieldRequest);

                    /** UpdateCustomFieldRequest customField. */
                    public customField?: (google.ads.admanager.v1.ICustomField|null);

                    /** UpdateCustomFieldRequest updateMask. */
                    public updateMask?: (google.protobuf.IFieldMask|null);

                    /**
                     * Creates a new UpdateCustomFieldRequest instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns UpdateCustomFieldRequest instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IUpdateCustomFieldRequest): google.ads.admanager.v1.UpdateCustomFieldRequest;

                    /**
                     * Encodes the specified UpdateCustomFieldRequest message. Does not implicitly {@link google.ads.admanager.v1.UpdateCustomFieldRequest.verify|verify} messages.
                     * @param message UpdateCustomFieldRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IUpdateCustomFieldRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified UpdateCustomFieldRequest message, length delimited. Does not implicitly {@link google.ads.admanager.v1.UpdateCustomFieldRequest.verify|verify} messages.
                     * @param message UpdateCustomFieldRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IUpdateCustomFieldRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes an UpdateCustomFieldRequest message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns UpdateCustomFieldRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.UpdateCustomFieldRequest;

                    /**
                     * Decodes an UpdateCustomFieldRequest message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns UpdateCustomFieldRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.UpdateCustomFieldRequest;

                    /**
                     * Verifies an UpdateCustomFieldRequest message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates an UpdateCustomFieldRequest message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns UpdateCustomFieldRequest
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.UpdateCustomFieldRequest;

                    /**
                     * Creates a plain object from an UpdateCustomFieldRequest message. Also converts values to other types if specified.
                     * @param message UpdateCustomFieldRequest
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.UpdateCustomFieldRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this UpdateCustomFieldRequest to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for UpdateCustomFieldRequest
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a BatchUpdateCustomFieldsRequest. */
                interface IBatchUpdateCustomFieldsRequest {

                    /** BatchUpdateCustomFieldsRequest parent */
                    parent?: (string|null);

                    /** BatchUpdateCustomFieldsRequest requests */
                    requests?: (google.ads.admanager.v1.IUpdateCustomFieldRequest[]|null);
                }

                /** Represents a BatchUpdateCustomFieldsRequest. */
                class BatchUpdateCustomFieldsRequest implements IBatchUpdateCustomFieldsRequest {

                    /**
                     * Constructs a new BatchUpdateCustomFieldsRequest.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IBatchUpdateCustomFieldsRequest);

                    /** BatchUpdateCustomFieldsRequest parent. */
                    public parent: string;

                    /** BatchUpdateCustomFieldsRequest requests. */
                    public requests: google.ads.admanager.v1.IUpdateCustomFieldRequest[];

                    /**
                     * Creates a new BatchUpdateCustomFieldsRequest instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns BatchUpdateCustomFieldsRequest instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IBatchUpdateCustomFieldsRequest): google.ads.admanager.v1.BatchUpdateCustomFieldsRequest;

                    /**
                     * Encodes the specified BatchUpdateCustomFieldsRequest message. Does not implicitly {@link google.ads.admanager.v1.BatchUpdateCustomFieldsRequest.verify|verify} messages.
                     * @param message BatchUpdateCustomFieldsRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IBatchUpdateCustomFieldsRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified BatchUpdateCustomFieldsRequest message, length delimited. Does not implicitly {@link google.ads.admanager.v1.BatchUpdateCustomFieldsRequest.verify|verify} messages.
                     * @param message BatchUpdateCustomFieldsRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IBatchUpdateCustomFieldsRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a BatchUpdateCustomFieldsRequest message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns BatchUpdateCustomFieldsRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.BatchUpdateCustomFieldsRequest;

                    /**
                     * Decodes a BatchUpdateCustomFieldsRequest message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns BatchUpdateCustomFieldsRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.BatchUpdateCustomFieldsRequest;

                    /**
                     * Verifies a BatchUpdateCustomFieldsRequest message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a BatchUpdateCustomFieldsRequest message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns BatchUpdateCustomFieldsRequest
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.BatchUpdateCustomFieldsRequest;

                    /**
                     * Creates a plain object from a BatchUpdateCustomFieldsRequest message. Also converts values to other types if specified.
                     * @param message BatchUpdateCustomFieldsRequest
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.BatchUpdateCustomFieldsRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this BatchUpdateCustomFieldsRequest to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for BatchUpdateCustomFieldsRequest
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a BatchUpdateCustomFieldsResponse. */
                interface IBatchUpdateCustomFieldsResponse {

                    /** BatchUpdateCustomFieldsResponse customFields */
                    customFields?: (google.ads.admanager.v1.ICustomField[]|null);
                }

                /** Represents a BatchUpdateCustomFieldsResponse. */
                class BatchUpdateCustomFieldsResponse implements IBatchUpdateCustomFieldsResponse {

                    /**
                     * Constructs a new BatchUpdateCustomFieldsResponse.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IBatchUpdateCustomFieldsResponse);

                    /** BatchUpdateCustomFieldsResponse customFields. */
                    public customFields: google.ads.admanager.v1.ICustomField[];

                    /**
                     * Creates a new BatchUpdateCustomFieldsResponse instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns BatchUpdateCustomFieldsResponse instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IBatchUpdateCustomFieldsResponse): google.ads.admanager.v1.BatchUpdateCustomFieldsResponse;

                    /**
                     * Encodes the specified BatchUpdateCustomFieldsResponse message. Does not implicitly {@link google.ads.admanager.v1.BatchUpdateCustomFieldsResponse.verify|verify} messages.
                     * @param message BatchUpdateCustomFieldsResponse message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IBatchUpdateCustomFieldsResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified BatchUpdateCustomFieldsResponse message, length delimited. Does not implicitly {@link google.ads.admanager.v1.BatchUpdateCustomFieldsResponse.verify|verify} messages.
                     * @param message BatchUpdateCustomFieldsResponse message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IBatchUpdateCustomFieldsResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a BatchUpdateCustomFieldsResponse message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns BatchUpdateCustomFieldsResponse
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.BatchUpdateCustomFieldsResponse;

                    /**
                     * Decodes a BatchUpdateCustomFieldsResponse message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns BatchUpdateCustomFieldsResponse
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.BatchUpdateCustomFieldsResponse;

                    /**
                     * Verifies a BatchUpdateCustomFieldsResponse message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a BatchUpdateCustomFieldsResponse message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns BatchUpdateCustomFieldsResponse
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.BatchUpdateCustomFieldsResponse;

                    /**
                     * Creates a plain object from a BatchUpdateCustomFieldsResponse message. Also converts values to other types if specified.
                     * @param message BatchUpdateCustomFieldsResponse
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.BatchUpdateCustomFieldsResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this BatchUpdateCustomFieldsResponse to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for BatchUpdateCustomFieldsResponse
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a BatchActivateCustomFieldsRequest. */
                interface IBatchActivateCustomFieldsRequest {

                    /** BatchActivateCustomFieldsRequest parent */
                    parent?: (string|null);

                    /** BatchActivateCustomFieldsRequest names */
                    names?: (string[]|null);
                }

                /** Represents a BatchActivateCustomFieldsRequest. */
                class BatchActivateCustomFieldsRequest implements IBatchActivateCustomFieldsRequest {

                    /**
                     * Constructs a new BatchActivateCustomFieldsRequest.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IBatchActivateCustomFieldsRequest);

                    /** BatchActivateCustomFieldsRequest parent. */
                    public parent: string;

                    /** BatchActivateCustomFieldsRequest names. */
                    public names: string[];

                    /**
                     * Creates a new BatchActivateCustomFieldsRequest instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns BatchActivateCustomFieldsRequest instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IBatchActivateCustomFieldsRequest): google.ads.admanager.v1.BatchActivateCustomFieldsRequest;

                    /**
                     * Encodes the specified BatchActivateCustomFieldsRequest message. Does not implicitly {@link google.ads.admanager.v1.BatchActivateCustomFieldsRequest.verify|verify} messages.
                     * @param message BatchActivateCustomFieldsRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IBatchActivateCustomFieldsRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified BatchActivateCustomFieldsRequest message, length delimited. Does not implicitly {@link google.ads.admanager.v1.BatchActivateCustomFieldsRequest.verify|verify} messages.
                     * @param message BatchActivateCustomFieldsRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IBatchActivateCustomFieldsRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a BatchActivateCustomFieldsRequest message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns BatchActivateCustomFieldsRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.BatchActivateCustomFieldsRequest;

                    /**
                     * Decodes a BatchActivateCustomFieldsRequest message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns BatchActivateCustomFieldsRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.BatchActivateCustomFieldsRequest;

                    /**
                     * Verifies a BatchActivateCustomFieldsRequest message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a BatchActivateCustomFieldsRequest message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns BatchActivateCustomFieldsRequest
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.BatchActivateCustomFieldsRequest;

                    /**
                     * Creates a plain object from a BatchActivateCustomFieldsRequest message. Also converts values to other types if specified.
                     * @param message BatchActivateCustomFieldsRequest
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.BatchActivateCustomFieldsRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this BatchActivateCustomFieldsRequest to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for BatchActivateCustomFieldsRequest
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a BatchActivateCustomFieldsResponse. */
                interface IBatchActivateCustomFieldsResponse {
                }

                /** Represents a BatchActivateCustomFieldsResponse. */
                class BatchActivateCustomFieldsResponse implements IBatchActivateCustomFieldsResponse {

                    /**
                     * Constructs a new BatchActivateCustomFieldsResponse.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IBatchActivateCustomFieldsResponse);

                    /**
                     * Creates a new BatchActivateCustomFieldsResponse instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns BatchActivateCustomFieldsResponse instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IBatchActivateCustomFieldsResponse): google.ads.admanager.v1.BatchActivateCustomFieldsResponse;

                    /**
                     * Encodes the specified BatchActivateCustomFieldsResponse message. Does not implicitly {@link google.ads.admanager.v1.BatchActivateCustomFieldsResponse.verify|verify} messages.
                     * @param message BatchActivateCustomFieldsResponse message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IBatchActivateCustomFieldsResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified BatchActivateCustomFieldsResponse message, length delimited. Does not implicitly {@link google.ads.admanager.v1.BatchActivateCustomFieldsResponse.verify|verify} messages.
                     * @param message BatchActivateCustomFieldsResponse message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IBatchActivateCustomFieldsResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a BatchActivateCustomFieldsResponse message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns BatchActivateCustomFieldsResponse
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.BatchActivateCustomFieldsResponse;

                    /**
                     * Decodes a BatchActivateCustomFieldsResponse message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns BatchActivateCustomFieldsResponse
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.BatchActivateCustomFieldsResponse;

                    /**
                     * Verifies a BatchActivateCustomFieldsResponse message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a BatchActivateCustomFieldsResponse message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns BatchActivateCustomFieldsResponse
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.BatchActivateCustomFieldsResponse;

                    /**
                     * Creates a plain object from a BatchActivateCustomFieldsResponse message. Also converts values to other types if specified.
                     * @param message BatchActivateCustomFieldsResponse
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.BatchActivateCustomFieldsResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this BatchActivateCustomFieldsResponse to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for BatchActivateCustomFieldsResponse
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a BatchDeactivateCustomFieldsRequest. */
                interface IBatchDeactivateCustomFieldsRequest {

                    /** BatchDeactivateCustomFieldsRequest parent */
                    parent?: (string|null);

                    /** BatchDeactivateCustomFieldsRequest names */
                    names?: (string[]|null);
                }

                /** Represents a BatchDeactivateCustomFieldsRequest. */
                class BatchDeactivateCustomFieldsRequest implements IBatchDeactivateCustomFieldsRequest {

                    /**
                     * Constructs a new BatchDeactivateCustomFieldsRequest.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IBatchDeactivateCustomFieldsRequest);

                    /** BatchDeactivateCustomFieldsRequest parent. */
                    public parent: string;

                    /** BatchDeactivateCustomFieldsRequest names. */
                    public names: string[];

                    /**
                     * Creates a new BatchDeactivateCustomFieldsRequest instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns BatchDeactivateCustomFieldsRequest instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IBatchDeactivateCustomFieldsRequest): google.ads.admanager.v1.BatchDeactivateCustomFieldsRequest;

                    /**
                     * Encodes the specified BatchDeactivateCustomFieldsRequest message. Does not implicitly {@link google.ads.admanager.v1.BatchDeactivateCustomFieldsRequest.verify|verify} messages.
                     * @param message BatchDeactivateCustomFieldsRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IBatchDeactivateCustomFieldsRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified BatchDeactivateCustomFieldsRequest message, length delimited. Does not implicitly {@link google.ads.admanager.v1.BatchDeactivateCustomFieldsRequest.verify|verify} messages.
                     * @param message BatchDeactivateCustomFieldsRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IBatchDeactivateCustomFieldsRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a BatchDeactivateCustomFieldsRequest message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns BatchDeactivateCustomFieldsRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.BatchDeactivateCustomFieldsRequest;

                    /**
                     * Decodes a BatchDeactivateCustomFieldsRequest message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns BatchDeactivateCustomFieldsRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.BatchDeactivateCustomFieldsRequest;

                    /**
                     * Verifies a BatchDeactivateCustomFieldsRequest message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a BatchDeactivateCustomFieldsRequest message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns BatchDeactivateCustomFieldsRequest
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.BatchDeactivateCustomFieldsRequest;

                    /**
                     * Creates a plain object from a BatchDeactivateCustomFieldsRequest message. Also converts values to other types if specified.
                     * @param message BatchDeactivateCustomFieldsRequest
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.BatchDeactivateCustomFieldsRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this BatchDeactivateCustomFieldsRequest to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for BatchDeactivateCustomFieldsRequest
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a BatchDeactivateCustomFieldsResponse. */
                interface IBatchDeactivateCustomFieldsResponse {
                }

                /** Represents a BatchDeactivateCustomFieldsResponse. */
                class BatchDeactivateCustomFieldsResponse implements IBatchDeactivateCustomFieldsResponse {

                    /**
                     * Constructs a new BatchDeactivateCustomFieldsResponse.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IBatchDeactivateCustomFieldsResponse);

                    /**
                     * Creates a new BatchDeactivateCustomFieldsResponse instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns BatchDeactivateCustomFieldsResponse instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IBatchDeactivateCustomFieldsResponse): google.ads.admanager.v1.BatchDeactivateCustomFieldsResponse;

                    /**
                     * Encodes the specified BatchDeactivateCustomFieldsResponse message. Does not implicitly {@link google.ads.admanager.v1.BatchDeactivateCustomFieldsResponse.verify|verify} messages.
                     * @param message BatchDeactivateCustomFieldsResponse message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IBatchDeactivateCustomFieldsResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified BatchDeactivateCustomFieldsResponse message, length delimited. Does not implicitly {@link google.ads.admanager.v1.BatchDeactivateCustomFieldsResponse.verify|verify} messages.
                     * @param message BatchDeactivateCustomFieldsResponse message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IBatchDeactivateCustomFieldsResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a BatchDeactivateCustomFieldsResponse message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns BatchDeactivateCustomFieldsResponse
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.BatchDeactivateCustomFieldsResponse;

                    /**
                     * Decodes a BatchDeactivateCustomFieldsResponse message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns BatchDeactivateCustomFieldsResponse
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.BatchDeactivateCustomFieldsResponse;

                    /**
                     * Verifies a BatchDeactivateCustomFieldsResponse message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a BatchDeactivateCustomFieldsResponse message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns BatchDeactivateCustomFieldsResponse
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.BatchDeactivateCustomFieldsResponse;

                    /**
                     * Creates a plain object from a BatchDeactivateCustomFieldsResponse message. Also converts values to other types if specified.
                     * @param message BatchDeactivateCustomFieldsResponse
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.BatchDeactivateCustomFieldsResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this BatchDeactivateCustomFieldsResponse to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for BatchDeactivateCustomFieldsResponse
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a CustomFieldValue. */
                interface ICustomFieldValue {

                    /** CustomFieldValue customField */
                    customField?: (string|null);

                    /** CustomFieldValue value */
                    value?: (google.ads.admanager.v1.CustomFieldValue.IValue|null);
                }

                /** Represents a CustomFieldValue. */
                class CustomFieldValue implements ICustomFieldValue {

                    /**
                     * Constructs a new CustomFieldValue.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.ICustomFieldValue);

                    /** CustomFieldValue customField. */
                    public customField: string;

                    /** CustomFieldValue value. */
                    public value?: (google.ads.admanager.v1.CustomFieldValue.IValue|null);

                    /**
                     * Creates a new CustomFieldValue instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns CustomFieldValue instance
                     */
                    public static create(properties?: google.ads.admanager.v1.ICustomFieldValue): google.ads.admanager.v1.CustomFieldValue;

                    /**
                     * Encodes the specified CustomFieldValue message. Does not implicitly {@link google.ads.admanager.v1.CustomFieldValue.verify|verify} messages.
                     * @param message CustomFieldValue message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.ICustomFieldValue, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified CustomFieldValue message, length delimited. Does not implicitly {@link google.ads.admanager.v1.CustomFieldValue.verify|verify} messages.
                     * @param message CustomFieldValue message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.ICustomFieldValue, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a CustomFieldValue message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns CustomFieldValue
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.CustomFieldValue;

                    /**
                     * Decodes a CustomFieldValue message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns CustomFieldValue
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.CustomFieldValue;

                    /**
                     * Verifies a CustomFieldValue message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a CustomFieldValue message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns CustomFieldValue
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.CustomFieldValue;

                    /**
                     * Creates a plain object from a CustomFieldValue message. Also converts values to other types if specified.
                     * @param message CustomFieldValue
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.CustomFieldValue, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this CustomFieldValue to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for CustomFieldValue
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                namespace CustomFieldValue {

                    /** Properties of a Value. */
                    interface IValue {

                        /** Value dropdownValue */
                        dropdownValue?: (number|Long|string|null);

                        /** Value stringValue */
                        stringValue?: (string|null);

                        /** Value numberValue */
                        numberValue?: (number|null);

                        /** Value toggleValue */
                        toggleValue?: (boolean|null);
                    }

                    /** Represents a Value. */
                    class Value implements IValue {

                        /**
                         * Constructs a new Value.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.ads.admanager.v1.CustomFieldValue.IValue);

                        /** Value dropdownValue. */
                        public dropdownValue?: (number|Long|string|null);

                        /** Value stringValue. */
                        public stringValue?: (string|null);

                        /** Value numberValue. */
                        public numberValue?: (number|null);

                        /** Value toggleValue. */
                        public toggleValue?: (boolean|null);

                        /** Value value. */
                        public value?: ("dropdownValue"|"stringValue"|"numberValue"|"toggleValue");

                        /**
                         * Creates a new Value instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns Value instance
                         */
                        public static create(properties?: google.ads.admanager.v1.CustomFieldValue.IValue): google.ads.admanager.v1.CustomFieldValue.Value;

                        /**
                         * Encodes the specified Value message. Does not implicitly {@link google.ads.admanager.v1.CustomFieldValue.Value.verify|verify} messages.
                         * @param message Value message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.ads.admanager.v1.CustomFieldValue.IValue, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified Value message, length delimited. Does not implicitly {@link google.ads.admanager.v1.CustomFieldValue.Value.verify|verify} messages.
                         * @param message Value message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.ads.admanager.v1.CustomFieldValue.IValue, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a Value message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns Value
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.CustomFieldValue.Value;

                        /**
                         * Decodes a Value message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns Value
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.CustomFieldValue.Value;

                        /**
                         * Verifies a Value message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a Value message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns Value
                         */
                        public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.CustomFieldValue.Value;

                        /**
                         * Creates a plain object from a Value message. Also converts values to other types if specified.
                         * @param message Value
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.ads.admanager.v1.CustomFieldValue.Value, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this Value to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for Value
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }
                }

                /** Properties of a CustomTargetingKeyStatusEnum. */
                interface ICustomTargetingKeyStatusEnum {
                }

                /** Represents a CustomTargetingKeyStatusEnum. */
                class CustomTargetingKeyStatusEnum implements ICustomTargetingKeyStatusEnum {

                    /**
                     * Constructs a new CustomTargetingKeyStatusEnum.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.ICustomTargetingKeyStatusEnum);

                    /**
                     * Creates a new CustomTargetingKeyStatusEnum instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns CustomTargetingKeyStatusEnum instance
                     */
                    public static create(properties?: google.ads.admanager.v1.ICustomTargetingKeyStatusEnum): google.ads.admanager.v1.CustomTargetingKeyStatusEnum;

                    /**
                     * Encodes the specified CustomTargetingKeyStatusEnum message. Does not implicitly {@link google.ads.admanager.v1.CustomTargetingKeyStatusEnum.verify|verify} messages.
                     * @param message CustomTargetingKeyStatusEnum message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.ICustomTargetingKeyStatusEnum, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified CustomTargetingKeyStatusEnum message, length delimited. Does not implicitly {@link google.ads.admanager.v1.CustomTargetingKeyStatusEnum.verify|verify} messages.
                     * @param message CustomTargetingKeyStatusEnum message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.ICustomTargetingKeyStatusEnum, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a CustomTargetingKeyStatusEnum message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns CustomTargetingKeyStatusEnum
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.CustomTargetingKeyStatusEnum;

                    /**
                     * Decodes a CustomTargetingKeyStatusEnum message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns CustomTargetingKeyStatusEnum
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.CustomTargetingKeyStatusEnum;

                    /**
                     * Verifies a CustomTargetingKeyStatusEnum message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a CustomTargetingKeyStatusEnum message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns CustomTargetingKeyStatusEnum
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.CustomTargetingKeyStatusEnum;

                    /**
                     * Creates a plain object from a CustomTargetingKeyStatusEnum message. Also converts values to other types if specified.
                     * @param message CustomTargetingKeyStatusEnum
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.CustomTargetingKeyStatusEnum, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this CustomTargetingKeyStatusEnum to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for CustomTargetingKeyStatusEnum
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                namespace CustomTargetingKeyStatusEnum {

                    /** CustomTargetingKeyStatus enum. */
                    enum CustomTargetingKeyStatus {
                        CUSTOM_TARGETING_KEY_STATUS_UNSPECIFIED = 0,
                        ACTIVE = 1,
                        INACTIVE = 2
                    }
                }

                /** Properties of a CustomTargetingKeyTypeEnum. */
                interface ICustomTargetingKeyTypeEnum {
                }

                /** Represents a CustomTargetingKeyTypeEnum. */
                class CustomTargetingKeyTypeEnum implements ICustomTargetingKeyTypeEnum {

                    /**
                     * Constructs a new CustomTargetingKeyTypeEnum.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.ICustomTargetingKeyTypeEnum);

                    /**
                     * Creates a new CustomTargetingKeyTypeEnum instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns CustomTargetingKeyTypeEnum instance
                     */
                    public static create(properties?: google.ads.admanager.v1.ICustomTargetingKeyTypeEnum): google.ads.admanager.v1.CustomTargetingKeyTypeEnum;

                    /**
                     * Encodes the specified CustomTargetingKeyTypeEnum message. Does not implicitly {@link google.ads.admanager.v1.CustomTargetingKeyTypeEnum.verify|verify} messages.
                     * @param message CustomTargetingKeyTypeEnum message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.ICustomTargetingKeyTypeEnum, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified CustomTargetingKeyTypeEnum message, length delimited. Does not implicitly {@link google.ads.admanager.v1.CustomTargetingKeyTypeEnum.verify|verify} messages.
                     * @param message CustomTargetingKeyTypeEnum message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.ICustomTargetingKeyTypeEnum, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a CustomTargetingKeyTypeEnum message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns CustomTargetingKeyTypeEnum
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.CustomTargetingKeyTypeEnum;

                    /**
                     * Decodes a CustomTargetingKeyTypeEnum message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns CustomTargetingKeyTypeEnum
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.CustomTargetingKeyTypeEnum;

                    /**
                     * Verifies a CustomTargetingKeyTypeEnum message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a CustomTargetingKeyTypeEnum message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns CustomTargetingKeyTypeEnum
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.CustomTargetingKeyTypeEnum;

                    /**
                     * Creates a plain object from a CustomTargetingKeyTypeEnum message. Also converts values to other types if specified.
                     * @param message CustomTargetingKeyTypeEnum
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.CustomTargetingKeyTypeEnum, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this CustomTargetingKeyTypeEnum to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for CustomTargetingKeyTypeEnum
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                namespace CustomTargetingKeyTypeEnum {

                    /** CustomTargetingKeyType enum. */
                    enum CustomTargetingKeyType {
                        CUSTOM_TARGETING_KEY_TYPE_UNSPECIFIED = 0,
                        PREDEFINED = 1,
                        FREEFORM = 2
                    }
                }

                /** Properties of a CustomTargetingKeyReportableTypeEnum. */
                interface ICustomTargetingKeyReportableTypeEnum {
                }

                /** Represents a CustomTargetingKeyReportableTypeEnum. */
                class CustomTargetingKeyReportableTypeEnum implements ICustomTargetingKeyReportableTypeEnum {

                    /**
                     * Constructs a new CustomTargetingKeyReportableTypeEnum.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.ICustomTargetingKeyReportableTypeEnum);

                    /**
                     * Creates a new CustomTargetingKeyReportableTypeEnum instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns CustomTargetingKeyReportableTypeEnum instance
                     */
                    public static create(properties?: google.ads.admanager.v1.ICustomTargetingKeyReportableTypeEnum): google.ads.admanager.v1.CustomTargetingKeyReportableTypeEnum;

                    /**
                     * Encodes the specified CustomTargetingKeyReportableTypeEnum message. Does not implicitly {@link google.ads.admanager.v1.CustomTargetingKeyReportableTypeEnum.verify|verify} messages.
                     * @param message CustomTargetingKeyReportableTypeEnum message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.ICustomTargetingKeyReportableTypeEnum, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified CustomTargetingKeyReportableTypeEnum message, length delimited. Does not implicitly {@link google.ads.admanager.v1.CustomTargetingKeyReportableTypeEnum.verify|verify} messages.
                     * @param message CustomTargetingKeyReportableTypeEnum message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.ICustomTargetingKeyReportableTypeEnum, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a CustomTargetingKeyReportableTypeEnum message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns CustomTargetingKeyReportableTypeEnum
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.CustomTargetingKeyReportableTypeEnum;

                    /**
                     * Decodes a CustomTargetingKeyReportableTypeEnum message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns CustomTargetingKeyReportableTypeEnum
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.CustomTargetingKeyReportableTypeEnum;

                    /**
                     * Verifies a CustomTargetingKeyReportableTypeEnum message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a CustomTargetingKeyReportableTypeEnum message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns CustomTargetingKeyReportableTypeEnum
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.CustomTargetingKeyReportableTypeEnum;

                    /**
                     * Creates a plain object from a CustomTargetingKeyReportableTypeEnum message. Also converts values to other types if specified.
                     * @param message CustomTargetingKeyReportableTypeEnum
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.CustomTargetingKeyReportableTypeEnum, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this CustomTargetingKeyReportableTypeEnum to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for CustomTargetingKeyReportableTypeEnum
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                namespace CustomTargetingKeyReportableTypeEnum {

                    /** CustomTargetingKeyReportableType enum. */
                    enum CustomTargetingKeyReportableType {
                        CUSTOM_TARGETING_KEY_REPORTABLE_TYPE_UNSPECIFIED = 0,
                        OFF = 1,
                        ON = 2,
                        CUSTOM_DIMENSION = 3
                    }
                }

                /** Properties of a CustomTargetingKey. */
                interface ICustomTargetingKey {

                    /** CustomTargetingKey name */
                    name?: (string|null);

                    /** CustomTargetingKey customTargetingKeyId */
                    customTargetingKeyId?: (number|Long|string|null);

                    /** CustomTargetingKey adTagName */
                    adTagName?: (string|null);

                    /** CustomTargetingKey displayName */
                    displayName?: (string|null);

                    /** CustomTargetingKey type */
                    type?: (google.ads.admanager.v1.CustomTargetingKeyTypeEnum.CustomTargetingKeyType|keyof typeof google.ads.admanager.v1.CustomTargetingKeyTypeEnum.CustomTargetingKeyType|null);

                    /** CustomTargetingKey status */
                    status?: (google.ads.admanager.v1.CustomTargetingKeyStatusEnum.CustomTargetingKeyStatus|keyof typeof google.ads.admanager.v1.CustomTargetingKeyStatusEnum.CustomTargetingKeyStatus|null);

                    /** CustomTargetingKey reportableType */
                    reportableType?: (google.ads.admanager.v1.CustomTargetingKeyReportableTypeEnum.CustomTargetingKeyReportableType|keyof typeof google.ads.admanager.v1.CustomTargetingKeyReportableTypeEnum.CustomTargetingKeyReportableType|null);
                }

                /** Represents a CustomTargetingKey. */
                class CustomTargetingKey implements ICustomTargetingKey {

                    /**
                     * Constructs a new CustomTargetingKey.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.ICustomTargetingKey);

                    /** CustomTargetingKey name. */
                    public name: string;

                    /** CustomTargetingKey customTargetingKeyId. */
                    public customTargetingKeyId?: (number|Long|string|null);

                    /** CustomTargetingKey adTagName. */
                    public adTagName?: (string|null);

                    /** CustomTargetingKey displayName. */
                    public displayName?: (string|null);

                    /** CustomTargetingKey type. */
                    public type?: (google.ads.admanager.v1.CustomTargetingKeyTypeEnum.CustomTargetingKeyType|keyof typeof google.ads.admanager.v1.CustomTargetingKeyTypeEnum.CustomTargetingKeyType|null);

                    /** CustomTargetingKey status. */
                    public status?: (google.ads.admanager.v1.CustomTargetingKeyStatusEnum.CustomTargetingKeyStatus|keyof typeof google.ads.admanager.v1.CustomTargetingKeyStatusEnum.CustomTargetingKeyStatus|null);

                    /** CustomTargetingKey reportableType. */
                    public reportableType?: (google.ads.admanager.v1.CustomTargetingKeyReportableTypeEnum.CustomTargetingKeyReportableType|keyof typeof google.ads.admanager.v1.CustomTargetingKeyReportableTypeEnum.CustomTargetingKeyReportableType|null);

                    /**
                     * Creates a new CustomTargetingKey instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns CustomTargetingKey instance
                     */
                    public static create(properties?: google.ads.admanager.v1.ICustomTargetingKey): google.ads.admanager.v1.CustomTargetingKey;

                    /**
                     * Encodes the specified CustomTargetingKey message. Does not implicitly {@link google.ads.admanager.v1.CustomTargetingKey.verify|verify} messages.
                     * @param message CustomTargetingKey message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.ICustomTargetingKey, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified CustomTargetingKey message, length delimited. Does not implicitly {@link google.ads.admanager.v1.CustomTargetingKey.verify|verify} messages.
                     * @param message CustomTargetingKey message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.ICustomTargetingKey, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a CustomTargetingKey message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns CustomTargetingKey
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.CustomTargetingKey;

                    /**
                     * Decodes a CustomTargetingKey message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns CustomTargetingKey
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.CustomTargetingKey;

                    /**
                     * Verifies a CustomTargetingKey message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a CustomTargetingKey message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns CustomTargetingKey
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.CustomTargetingKey;

                    /**
                     * Creates a plain object from a CustomTargetingKey message. Also converts values to other types if specified.
                     * @param message CustomTargetingKey
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.CustomTargetingKey, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this CustomTargetingKey to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for CustomTargetingKey
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Represents a CustomTargetingKeyService */
                class CustomTargetingKeyService extends $protobuf.rpc.Service {

                    /**
                     * Constructs a new CustomTargetingKeyService service.
                     * @param rpcImpl RPC implementation
                     * @param [requestDelimited=false] Whether requests are length-delimited
                     * @param [responseDelimited=false] Whether responses are length-delimited
                     */
                    constructor(rpcImpl: $protobuf.RPCImpl, requestDelimited?: boolean, responseDelimited?: boolean);

                    /**
                     * Creates new CustomTargetingKeyService service using the specified rpc implementation.
                     * @param rpcImpl RPC implementation
                     * @param [requestDelimited=false] Whether requests are length-delimited
                     * @param [responseDelimited=false] Whether responses are length-delimited
                     * @returns RPC service. Useful where requests and/or responses are streamed.
                     */
                    public static create(rpcImpl: $protobuf.RPCImpl, requestDelimited?: boolean, responseDelimited?: boolean): CustomTargetingKeyService;

                    /**
                     * Calls GetCustomTargetingKey.
                     * @param request GetCustomTargetingKeyRequest message or plain object
                     * @param callback Node-style callback called with the error, if any, and CustomTargetingKey
                     */
                    public getCustomTargetingKey(request: google.ads.admanager.v1.IGetCustomTargetingKeyRequest, callback: google.ads.admanager.v1.CustomTargetingKeyService.GetCustomTargetingKeyCallback): void;

                    /**
                     * Calls GetCustomTargetingKey.
                     * @param request GetCustomTargetingKeyRequest message or plain object
                     * @returns Promise
                     */
                    public getCustomTargetingKey(request: google.ads.admanager.v1.IGetCustomTargetingKeyRequest): Promise<google.ads.admanager.v1.CustomTargetingKey>;

                    /**
                     * Calls ListCustomTargetingKeys.
                     * @param request ListCustomTargetingKeysRequest message or plain object
                     * @param callback Node-style callback called with the error, if any, and ListCustomTargetingKeysResponse
                     */
                    public listCustomTargetingKeys(request: google.ads.admanager.v1.IListCustomTargetingKeysRequest, callback: google.ads.admanager.v1.CustomTargetingKeyService.ListCustomTargetingKeysCallback): void;

                    /**
                     * Calls ListCustomTargetingKeys.
                     * @param request ListCustomTargetingKeysRequest message or plain object
                     * @returns Promise
                     */
                    public listCustomTargetingKeys(request: google.ads.admanager.v1.IListCustomTargetingKeysRequest): Promise<google.ads.admanager.v1.ListCustomTargetingKeysResponse>;

                    /**
                     * Calls CreateCustomTargetingKey.
                     * @param request CreateCustomTargetingKeyRequest message or plain object
                     * @param callback Node-style callback called with the error, if any, and CustomTargetingKey
                     */
                    public createCustomTargetingKey(request: google.ads.admanager.v1.ICreateCustomTargetingKeyRequest, callback: google.ads.admanager.v1.CustomTargetingKeyService.CreateCustomTargetingKeyCallback): void;

                    /**
                     * Calls CreateCustomTargetingKey.
                     * @param request CreateCustomTargetingKeyRequest message or plain object
                     * @returns Promise
                     */
                    public createCustomTargetingKey(request: google.ads.admanager.v1.ICreateCustomTargetingKeyRequest): Promise<google.ads.admanager.v1.CustomTargetingKey>;

                    /**
                     * Calls BatchCreateCustomTargetingKeys.
                     * @param request BatchCreateCustomTargetingKeysRequest message or plain object
                     * @param callback Node-style callback called with the error, if any, and BatchCreateCustomTargetingKeysResponse
                     */
                    public batchCreateCustomTargetingKeys(request: google.ads.admanager.v1.IBatchCreateCustomTargetingKeysRequest, callback: google.ads.admanager.v1.CustomTargetingKeyService.BatchCreateCustomTargetingKeysCallback): void;

                    /**
                     * Calls BatchCreateCustomTargetingKeys.
                     * @param request BatchCreateCustomTargetingKeysRequest message or plain object
                     * @returns Promise
                     */
                    public batchCreateCustomTargetingKeys(request: google.ads.admanager.v1.IBatchCreateCustomTargetingKeysRequest): Promise<google.ads.admanager.v1.BatchCreateCustomTargetingKeysResponse>;

                    /**
                     * Calls UpdateCustomTargetingKey.
                     * @param request UpdateCustomTargetingKeyRequest message or plain object
                     * @param callback Node-style callback called with the error, if any, and CustomTargetingKey
                     */
                    public updateCustomTargetingKey(request: google.ads.admanager.v1.IUpdateCustomTargetingKeyRequest, callback: google.ads.admanager.v1.CustomTargetingKeyService.UpdateCustomTargetingKeyCallback): void;

                    /**
                     * Calls UpdateCustomTargetingKey.
                     * @param request UpdateCustomTargetingKeyRequest message or plain object
                     * @returns Promise
                     */
                    public updateCustomTargetingKey(request: google.ads.admanager.v1.IUpdateCustomTargetingKeyRequest): Promise<google.ads.admanager.v1.CustomTargetingKey>;

                    /**
                     * Calls BatchUpdateCustomTargetingKeys.
                     * @param request BatchUpdateCustomTargetingKeysRequest message or plain object
                     * @param callback Node-style callback called with the error, if any, and BatchUpdateCustomTargetingKeysResponse
                     */
                    public batchUpdateCustomTargetingKeys(request: google.ads.admanager.v1.IBatchUpdateCustomTargetingKeysRequest, callback: google.ads.admanager.v1.CustomTargetingKeyService.BatchUpdateCustomTargetingKeysCallback): void;

                    /**
                     * Calls BatchUpdateCustomTargetingKeys.
                     * @param request BatchUpdateCustomTargetingKeysRequest message or plain object
                     * @returns Promise
                     */
                    public batchUpdateCustomTargetingKeys(request: google.ads.admanager.v1.IBatchUpdateCustomTargetingKeysRequest): Promise<google.ads.admanager.v1.BatchUpdateCustomTargetingKeysResponse>;

                    /**
                     * Calls BatchActivateCustomTargetingKeys.
                     * @param request BatchActivateCustomTargetingKeysRequest message or plain object
                     * @param callback Node-style callback called with the error, if any, and BatchActivateCustomTargetingKeysResponse
                     */
                    public batchActivateCustomTargetingKeys(request: google.ads.admanager.v1.IBatchActivateCustomTargetingKeysRequest, callback: google.ads.admanager.v1.CustomTargetingKeyService.BatchActivateCustomTargetingKeysCallback): void;

                    /**
                     * Calls BatchActivateCustomTargetingKeys.
                     * @param request BatchActivateCustomTargetingKeysRequest message or plain object
                     * @returns Promise
                     */
                    public batchActivateCustomTargetingKeys(request: google.ads.admanager.v1.IBatchActivateCustomTargetingKeysRequest): Promise<google.ads.admanager.v1.BatchActivateCustomTargetingKeysResponse>;

                    /**
                     * Calls BatchDeactivateCustomTargetingKeys.
                     * @param request BatchDeactivateCustomTargetingKeysRequest message or plain object
                     * @param callback Node-style callback called with the error, if any, and BatchDeactivateCustomTargetingKeysResponse
                     */
                    public batchDeactivateCustomTargetingKeys(request: google.ads.admanager.v1.IBatchDeactivateCustomTargetingKeysRequest, callback: google.ads.admanager.v1.CustomTargetingKeyService.BatchDeactivateCustomTargetingKeysCallback): void;

                    /**
                     * Calls BatchDeactivateCustomTargetingKeys.
                     * @param request BatchDeactivateCustomTargetingKeysRequest message or plain object
                     * @returns Promise
                     */
                    public batchDeactivateCustomTargetingKeys(request: google.ads.admanager.v1.IBatchDeactivateCustomTargetingKeysRequest): Promise<google.ads.admanager.v1.BatchDeactivateCustomTargetingKeysResponse>;
                }

                namespace CustomTargetingKeyService {

                    /**
                     * Callback as used by {@link google.ads.admanager.v1.CustomTargetingKeyService|getCustomTargetingKey}.
                     * @param error Error, if any
                     * @param [response] CustomTargetingKey
                     */
                    type GetCustomTargetingKeyCallback = (error: (Error|null), response?: google.ads.admanager.v1.CustomTargetingKey) => void;

                    /**
                     * Callback as used by {@link google.ads.admanager.v1.CustomTargetingKeyService|listCustomTargetingKeys}.
                     * @param error Error, if any
                     * @param [response] ListCustomTargetingKeysResponse
                     */
                    type ListCustomTargetingKeysCallback = (error: (Error|null), response?: google.ads.admanager.v1.ListCustomTargetingKeysResponse) => void;

                    /**
                     * Callback as used by {@link google.ads.admanager.v1.CustomTargetingKeyService|createCustomTargetingKey}.
                     * @param error Error, if any
                     * @param [response] CustomTargetingKey
                     */
                    type CreateCustomTargetingKeyCallback = (error: (Error|null), response?: google.ads.admanager.v1.CustomTargetingKey) => void;

                    /**
                     * Callback as used by {@link google.ads.admanager.v1.CustomTargetingKeyService|batchCreateCustomTargetingKeys}.
                     * @param error Error, if any
                     * @param [response] BatchCreateCustomTargetingKeysResponse
                     */
                    type BatchCreateCustomTargetingKeysCallback = (error: (Error|null), response?: google.ads.admanager.v1.BatchCreateCustomTargetingKeysResponse) => void;

                    /**
                     * Callback as used by {@link google.ads.admanager.v1.CustomTargetingKeyService|updateCustomTargetingKey}.
                     * @param error Error, if any
                     * @param [response] CustomTargetingKey
                     */
                    type UpdateCustomTargetingKeyCallback = (error: (Error|null), response?: google.ads.admanager.v1.CustomTargetingKey) => void;

                    /**
                     * Callback as used by {@link google.ads.admanager.v1.CustomTargetingKeyService|batchUpdateCustomTargetingKeys}.
                     * @param error Error, if any
                     * @param [response] BatchUpdateCustomTargetingKeysResponse
                     */
                    type BatchUpdateCustomTargetingKeysCallback = (error: (Error|null), response?: google.ads.admanager.v1.BatchUpdateCustomTargetingKeysResponse) => void;

                    /**
                     * Callback as used by {@link google.ads.admanager.v1.CustomTargetingKeyService|batchActivateCustomTargetingKeys}.
                     * @param error Error, if any
                     * @param [response] BatchActivateCustomTargetingKeysResponse
                     */
                    type BatchActivateCustomTargetingKeysCallback = (error: (Error|null), response?: google.ads.admanager.v1.BatchActivateCustomTargetingKeysResponse) => void;

                    /**
                     * Callback as used by {@link google.ads.admanager.v1.CustomTargetingKeyService|batchDeactivateCustomTargetingKeys}.
                     * @param error Error, if any
                     * @param [response] BatchDeactivateCustomTargetingKeysResponse
                     */
                    type BatchDeactivateCustomTargetingKeysCallback = (error: (Error|null), response?: google.ads.admanager.v1.BatchDeactivateCustomTargetingKeysResponse) => void;
                }

                /** Properties of a GetCustomTargetingKeyRequest. */
                interface IGetCustomTargetingKeyRequest {

                    /** GetCustomTargetingKeyRequest name */
                    name?: (string|null);
                }

                /** Represents a GetCustomTargetingKeyRequest. */
                class GetCustomTargetingKeyRequest implements IGetCustomTargetingKeyRequest {

                    /**
                     * Constructs a new GetCustomTargetingKeyRequest.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IGetCustomTargetingKeyRequest);

                    /** GetCustomTargetingKeyRequest name. */
                    public name: string;

                    /**
                     * Creates a new GetCustomTargetingKeyRequest instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns GetCustomTargetingKeyRequest instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IGetCustomTargetingKeyRequest): google.ads.admanager.v1.GetCustomTargetingKeyRequest;

                    /**
                     * Encodes the specified GetCustomTargetingKeyRequest message. Does not implicitly {@link google.ads.admanager.v1.GetCustomTargetingKeyRequest.verify|verify} messages.
                     * @param message GetCustomTargetingKeyRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IGetCustomTargetingKeyRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified GetCustomTargetingKeyRequest message, length delimited. Does not implicitly {@link google.ads.admanager.v1.GetCustomTargetingKeyRequest.verify|verify} messages.
                     * @param message GetCustomTargetingKeyRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IGetCustomTargetingKeyRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a GetCustomTargetingKeyRequest message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns GetCustomTargetingKeyRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.GetCustomTargetingKeyRequest;

                    /**
                     * Decodes a GetCustomTargetingKeyRequest message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns GetCustomTargetingKeyRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.GetCustomTargetingKeyRequest;

                    /**
                     * Verifies a GetCustomTargetingKeyRequest message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a GetCustomTargetingKeyRequest message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns GetCustomTargetingKeyRequest
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.GetCustomTargetingKeyRequest;

                    /**
                     * Creates a plain object from a GetCustomTargetingKeyRequest message. Also converts values to other types if specified.
                     * @param message GetCustomTargetingKeyRequest
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.GetCustomTargetingKeyRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this GetCustomTargetingKeyRequest to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for GetCustomTargetingKeyRequest
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a ListCustomTargetingKeysRequest. */
                interface IListCustomTargetingKeysRequest {

                    /** ListCustomTargetingKeysRequest parent */
                    parent?: (string|null);

                    /** ListCustomTargetingKeysRequest pageSize */
                    pageSize?: (number|null);

                    /** ListCustomTargetingKeysRequest pageToken */
                    pageToken?: (string|null);

                    /** ListCustomTargetingKeysRequest filter */
                    filter?: (string|null);

                    /** ListCustomTargetingKeysRequest orderBy */
                    orderBy?: (string|null);

                    /** ListCustomTargetingKeysRequest skip */
                    skip?: (number|null);
                }

                /** Represents a ListCustomTargetingKeysRequest. */
                class ListCustomTargetingKeysRequest implements IListCustomTargetingKeysRequest {

                    /**
                     * Constructs a new ListCustomTargetingKeysRequest.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IListCustomTargetingKeysRequest);

                    /** ListCustomTargetingKeysRequest parent. */
                    public parent: string;

                    /** ListCustomTargetingKeysRequest pageSize. */
                    public pageSize: number;

                    /** ListCustomTargetingKeysRequest pageToken. */
                    public pageToken: string;

                    /** ListCustomTargetingKeysRequest filter. */
                    public filter: string;

                    /** ListCustomTargetingKeysRequest orderBy. */
                    public orderBy: string;

                    /** ListCustomTargetingKeysRequest skip. */
                    public skip: number;

                    /**
                     * Creates a new ListCustomTargetingKeysRequest instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns ListCustomTargetingKeysRequest instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IListCustomTargetingKeysRequest): google.ads.admanager.v1.ListCustomTargetingKeysRequest;

                    /**
                     * Encodes the specified ListCustomTargetingKeysRequest message. Does not implicitly {@link google.ads.admanager.v1.ListCustomTargetingKeysRequest.verify|verify} messages.
                     * @param message ListCustomTargetingKeysRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IListCustomTargetingKeysRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified ListCustomTargetingKeysRequest message, length delimited. Does not implicitly {@link google.ads.admanager.v1.ListCustomTargetingKeysRequest.verify|verify} messages.
                     * @param message ListCustomTargetingKeysRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IListCustomTargetingKeysRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a ListCustomTargetingKeysRequest message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns ListCustomTargetingKeysRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.ListCustomTargetingKeysRequest;

                    /**
                     * Decodes a ListCustomTargetingKeysRequest message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns ListCustomTargetingKeysRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.ListCustomTargetingKeysRequest;

                    /**
                     * Verifies a ListCustomTargetingKeysRequest message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a ListCustomTargetingKeysRequest message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns ListCustomTargetingKeysRequest
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.ListCustomTargetingKeysRequest;

                    /**
                     * Creates a plain object from a ListCustomTargetingKeysRequest message. Also converts values to other types if specified.
                     * @param message ListCustomTargetingKeysRequest
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.ListCustomTargetingKeysRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this ListCustomTargetingKeysRequest to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for ListCustomTargetingKeysRequest
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a ListCustomTargetingKeysResponse. */
                interface IListCustomTargetingKeysResponse {

                    /** ListCustomTargetingKeysResponse customTargetingKeys */
                    customTargetingKeys?: (google.ads.admanager.v1.ICustomTargetingKey[]|null);

                    /** ListCustomTargetingKeysResponse nextPageToken */
                    nextPageToken?: (string|null);

                    /** ListCustomTargetingKeysResponse totalSize */
                    totalSize?: (number|null);
                }

                /** Represents a ListCustomTargetingKeysResponse. */
                class ListCustomTargetingKeysResponse implements IListCustomTargetingKeysResponse {

                    /**
                     * Constructs a new ListCustomTargetingKeysResponse.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IListCustomTargetingKeysResponse);

                    /** ListCustomTargetingKeysResponse customTargetingKeys. */
                    public customTargetingKeys: google.ads.admanager.v1.ICustomTargetingKey[];

                    /** ListCustomTargetingKeysResponse nextPageToken. */
                    public nextPageToken: string;

                    /** ListCustomTargetingKeysResponse totalSize. */
                    public totalSize: number;

                    /**
                     * Creates a new ListCustomTargetingKeysResponse instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns ListCustomTargetingKeysResponse instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IListCustomTargetingKeysResponse): google.ads.admanager.v1.ListCustomTargetingKeysResponse;

                    /**
                     * Encodes the specified ListCustomTargetingKeysResponse message. Does not implicitly {@link google.ads.admanager.v1.ListCustomTargetingKeysResponse.verify|verify} messages.
                     * @param message ListCustomTargetingKeysResponse message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IListCustomTargetingKeysResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified ListCustomTargetingKeysResponse message, length delimited. Does not implicitly {@link google.ads.admanager.v1.ListCustomTargetingKeysResponse.verify|verify} messages.
                     * @param message ListCustomTargetingKeysResponse message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IListCustomTargetingKeysResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a ListCustomTargetingKeysResponse message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns ListCustomTargetingKeysResponse
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.ListCustomTargetingKeysResponse;

                    /**
                     * Decodes a ListCustomTargetingKeysResponse message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns ListCustomTargetingKeysResponse
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.ListCustomTargetingKeysResponse;

                    /**
                     * Verifies a ListCustomTargetingKeysResponse message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a ListCustomTargetingKeysResponse message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns ListCustomTargetingKeysResponse
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.ListCustomTargetingKeysResponse;

                    /**
                     * Creates a plain object from a ListCustomTargetingKeysResponse message. Also converts values to other types if specified.
                     * @param message ListCustomTargetingKeysResponse
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.ListCustomTargetingKeysResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this ListCustomTargetingKeysResponse to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for ListCustomTargetingKeysResponse
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a CreateCustomTargetingKeyRequest. */
                interface ICreateCustomTargetingKeyRequest {

                    /** CreateCustomTargetingKeyRequest parent */
                    parent?: (string|null);

                    /** CreateCustomTargetingKeyRequest customTargetingKey */
                    customTargetingKey?: (google.ads.admanager.v1.ICustomTargetingKey|null);
                }

                /** Represents a CreateCustomTargetingKeyRequest. */
                class CreateCustomTargetingKeyRequest implements ICreateCustomTargetingKeyRequest {

                    /**
                     * Constructs a new CreateCustomTargetingKeyRequest.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.ICreateCustomTargetingKeyRequest);

                    /** CreateCustomTargetingKeyRequest parent. */
                    public parent: string;

                    /** CreateCustomTargetingKeyRequest customTargetingKey. */
                    public customTargetingKey?: (google.ads.admanager.v1.ICustomTargetingKey|null);

                    /**
                     * Creates a new CreateCustomTargetingKeyRequest instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns CreateCustomTargetingKeyRequest instance
                     */
                    public static create(properties?: google.ads.admanager.v1.ICreateCustomTargetingKeyRequest): google.ads.admanager.v1.CreateCustomTargetingKeyRequest;

                    /**
                     * Encodes the specified CreateCustomTargetingKeyRequest message. Does not implicitly {@link google.ads.admanager.v1.CreateCustomTargetingKeyRequest.verify|verify} messages.
                     * @param message CreateCustomTargetingKeyRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.ICreateCustomTargetingKeyRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified CreateCustomTargetingKeyRequest message, length delimited. Does not implicitly {@link google.ads.admanager.v1.CreateCustomTargetingKeyRequest.verify|verify} messages.
                     * @param message CreateCustomTargetingKeyRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.ICreateCustomTargetingKeyRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a CreateCustomTargetingKeyRequest message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns CreateCustomTargetingKeyRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.CreateCustomTargetingKeyRequest;

                    /**
                     * Decodes a CreateCustomTargetingKeyRequest message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns CreateCustomTargetingKeyRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.CreateCustomTargetingKeyRequest;

                    /**
                     * Verifies a CreateCustomTargetingKeyRequest message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a CreateCustomTargetingKeyRequest message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns CreateCustomTargetingKeyRequest
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.CreateCustomTargetingKeyRequest;

                    /**
                     * Creates a plain object from a CreateCustomTargetingKeyRequest message. Also converts values to other types if specified.
                     * @param message CreateCustomTargetingKeyRequest
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.CreateCustomTargetingKeyRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this CreateCustomTargetingKeyRequest to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for CreateCustomTargetingKeyRequest
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a BatchCreateCustomTargetingKeysRequest. */
                interface IBatchCreateCustomTargetingKeysRequest {

                    /** BatchCreateCustomTargetingKeysRequest parent */
                    parent?: (string|null);

                    /** BatchCreateCustomTargetingKeysRequest requests */
                    requests?: (google.ads.admanager.v1.ICreateCustomTargetingKeyRequest[]|null);
                }

                /** Represents a BatchCreateCustomTargetingKeysRequest. */
                class BatchCreateCustomTargetingKeysRequest implements IBatchCreateCustomTargetingKeysRequest {

                    /**
                     * Constructs a new BatchCreateCustomTargetingKeysRequest.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IBatchCreateCustomTargetingKeysRequest);

                    /** BatchCreateCustomTargetingKeysRequest parent. */
                    public parent: string;

                    /** BatchCreateCustomTargetingKeysRequest requests. */
                    public requests: google.ads.admanager.v1.ICreateCustomTargetingKeyRequest[];

                    /**
                     * Creates a new BatchCreateCustomTargetingKeysRequest instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns BatchCreateCustomTargetingKeysRequest instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IBatchCreateCustomTargetingKeysRequest): google.ads.admanager.v1.BatchCreateCustomTargetingKeysRequest;

                    /**
                     * Encodes the specified BatchCreateCustomTargetingKeysRequest message. Does not implicitly {@link google.ads.admanager.v1.BatchCreateCustomTargetingKeysRequest.verify|verify} messages.
                     * @param message BatchCreateCustomTargetingKeysRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IBatchCreateCustomTargetingKeysRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified BatchCreateCustomTargetingKeysRequest message, length delimited. Does not implicitly {@link google.ads.admanager.v1.BatchCreateCustomTargetingKeysRequest.verify|verify} messages.
                     * @param message BatchCreateCustomTargetingKeysRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IBatchCreateCustomTargetingKeysRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a BatchCreateCustomTargetingKeysRequest message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns BatchCreateCustomTargetingKeysRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.BatchCreateCustomTargetingKeysRequest;

                    /**
                     * Decodes a BatchCreateCustomTargetingKeysRequest message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns BatchCreateCustomTargetingKeysRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.BatchCreateCustomTargetingKeysRequest;

                    /**
                     * Verifies a BatchCreateCustomTargetingKeysRequest message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a BatchCreateCustomTargetingKeysRequest message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns BatchCreateCustomTargetingKeysRequest
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.BatchCreateCustomTargetingKeysRequest;

                    /**
                     * Creates a plain object from a BatchCreateCustomTargetingKeysRequest message. Also converts values to other types if specified.
                     * @param message BatchCreateCustomTargetingKeysRequest
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.BatchCreateCustomTargetingKeysRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this BatchCreateCustomTargetingKeysRequest to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for BatchCreateCustomTargetingKeysRequest
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a BatchCreateCustomTargetingKeysResponse. */
                interface IBatchCreateCustomTargetingKeysResponse {

                    /** BatchCreateCustomTargetingKeysResponse customTargetingKeys */
                    customTargetingKeys?: (google.ads.admanager.v1.ICustomTargetingKey[]|null);
                }

                /** Represents a BatchCreateCustomTargetingKeysResponse. */
                class BatchCreateCustomTargetingKeysResponse implements IBatchCreateCustomTargetingKeysResponse {

                    /**
                     * Constructs a new BatchCreateCustomTargetingKeysResponse.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IBatchCreateCustomTargetingKeysResponse);

                    /** BatchCreateCustomTargetingKeysResponse customTargetingKeys. */
                    public customTargetingKeys: google.ads.admanager.v1.ICustomTargetingKey[];

                    /**
                     * Creates a new BatchCreateCustomTargetingKeysResponse instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns BatchCreateCustomTargetingKeysResponse instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IBatchCreateCustomTargetingKeysResponse): google.ads.admanager.v1.BatchCreateCustomTargetingKeysResponse;

                    /**
                     * Encodes the specified BatchCreateCustomTargetingKeysResponse message. Does not implicitly {@link google.ads.admanager.v1.BatchCreateCustomTargetingKeysResponse.verify|verify} messages.
                     * @param message BatchCreateCustomTargetingKeysResponse message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IBatchCreateCustomTargetingKeysResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified BatchCreateCustomTargetingKeysResponse message, length delimited. Does not implicitly {@link google.ads.admanager.v1.BatchCreateCustomTargetingKeysResponse.verify|verify} messages.
                     * @param message BatchCreateCustomTargetingKeysResponse message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IBatchCreateCustomTargetingKeysResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a BatchCreateCustomTargetingKeysResponse message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns BatchCreateCustomTargetingKeysResponse
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.BatchCreateCustomTargetingKeysResponse;

                    /**
                     * Decodes a BatchCreateCustomTargetingKeysResponse message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns BatchCreateCustomTargetingKeysResponse
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.BatchCreateCustomTargetingKeysResponse;

                    /**
                     * Verifies a BatchCreateCustomTargetingKeysResponse message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a BatchCreateCustomTargetingKeysResponse message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns BatchCreateCustomTargetingKeysResponse
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.BatchCreateCustomTargetingKeysResponse;

                    /**
                     * Creates a plain object from a BatchCreateCustomTargetingKeysResponse message. Also converts values to other types if specified.
                     * @param message BatchCreateCustomTargetingKeysResponse
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.BatchCreateCustomTargetingKeysResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this BatchCreateCustomTargetingKeysResponse to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for BatchCreateCustomTargetingKeysResponse
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of an UpdateCustomTargetingKeyRequest. */
                interface IUpdateCustomTargetingKeyRequest {

                    /** UpdateCustomTargetingKeyRequest customTargetingKey */
                    customTargetingKey?: (google.ads.admanager.v1.ICustomTargetingKey|null);

                    /** UpdateCustomTargetingKeyRequest updateMask */
                    updateMask?: (google.protobuf.IFieldMask|null);
                }

                /** Represents an UpdateCustomTargetingKeyRequest. */
                class UpdateCustomTargetingKeyRequest implements IUpdateCustomTargetingKeyRequest {

                    /**
                     * Constructs a new UpdateCustomTargetingKeyRequest.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IUpdateCustomTargetingKeyRequest);

                    /** UpdateCustomTargetingKeyRequest customTargetingKey. */
                    public customTargetingKey?: (google.ads.admanager.v1.ICustomTargetingKey|null);

                    /** UpdateCustomTargetingKeyRequest updateMask. */
                    public updateMask?: (google.protobuf.IFieldMask|null);

                    /**
                     * Creates a new UpdateCustomTargetingKeyRequest instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns UpdateCustomTargetingKeyRequest instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IUpdateCustomTargetingKeyRequest): google.ads.admanager.v1.UpdateCustomTargetingKeyRequest;

                    /**
                     * Encodes the specified UpdateCustomTargetingKeyRequest message. Does not implicitly {@link google.ads.admanager.v1.UpdateCustomTargetingKeyRequest.verify|verify} messages.
                     * @param message UpdateCustomTargetingKeyRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IUpdateCustomTargetingKeyRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified UpdateCustomTargetingKeyRequest message, length delimited. Does not implicitly {@link google.ads.admanager.v1.UpdateCustomTargetingKeyRequest.verify|verify} messages.
                     * @param message UpdateCustomTargetingKeyRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IUpdateCustomTargetingKeyRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes an UpdateCustomTargetingKeyRequest message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns UpdateCustomTargetingKeyRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.UpdateCustomTargetingKeyRequest;

                    /**
                     * Decodes an UpdateCustomTargetingKeyRequest message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns UpdateCustomTargetingKeyRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.UpdateCustomTargetingKeyRequest;

                    /**
                     * Verifies an UpdateCustomTargetingKeyRequest message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates an UpdateCustomTargetingKeyRequest message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns UpdateCustomTargetingKeyRequest
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.UpdateCustomTargetingKeyRequest;

                    /**
                     * Creates a plain object from an UpdateCustomTargetingKeyRequest message. Also converts values to other types if specified.
                     * @param message UpdateCustomTargetingKeyRequest
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.UpdateCustomTargetingKeyRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this UpdateCustomTargetingKeyRequest to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for UpdateCustomTargetingKeyRequest
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a BatchUpdateCustomTargetingKeysRequest. */
                interface IBatchUpdateCustomTargetingKeysRequest {

                    /** BatchUpdateCustomTargetingKeysRequest parent */
                    parent?: (string|null);

                    /** BatchUpdateCustomTargetingKeysRequest requests */
                    requests?: (google.ads.admanager.v1.IUpdateCustomTargetingKeyRequest[]|null);
                }

                /** Represents a BatchUpdateCustomTargetingKeysRequest. */
                class BatchUpdateCustomTargetingKeysRequest implements IBatchUpdateCustomTargetingKeysRequest {

                    /**
                     * Constructs a new BatchUpdateCustomTargetingKeysRequest.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IBatchUpdateCustomTargetingKeysRequest);

                    /** BatchUpdateCustomTargetingKeysRequest parent. */
                    public parent: string;

                    /** BatchUpdateCustomTargetingKeysRequest requests. */
                    public requests: google.ads.admanager.v1.IUpdateCustomTargetingKeyRequest[];

                    /**
                     * Creates a new BatchUpdateCustomTargetingKeysRequest instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns BatchUpdateCustomTargetingKeysRequest instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IBatchUpdateCustomTargetingKeysRequest): google.ads.admanager.v1.BatchUpdateCustomTargetingKeysRequest;

                    /**
                     * Encodes the specified BatchUpdateCustomTargetingKeysRequest message. Does not implicitly {@link google.ads.admanager.v1.BatchUpdateCustomTargetingKeysRequest.verify|verify} messages.
                     * @param message BatchUpdateCustomTargetingKeysRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IBatchUpdateCustomTargetingKeysRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified BatchUpdateCustomTargetingKeysRequest message, length delimited. Does not implicitly {@link google.ads.admanager.v1.BatchUpdateCustomTargetingKeysRequest.verify|verify} messages.
                     * @param message BatchUpdateCustomTargetingKeysRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IBatchUpdateCustomTargetingKeysRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a BatchUpdateCustomTargetingKeysRequest message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns BatchUpdateCustomTargetingKeysRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.BatchUpdateCustomTargetingKeysRequest;

                    /**
                     * Decodes a BatchUpdateCustomTargetingKeysRequest message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns BatchUpdateCustomTargetingKeysRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.BatchUpdateCustomTargetingKeysRequest;

                    /**
                     * Verifies a BatchUpdateCustomTargetingKeysRequest message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a BatchUpdateCustomTargetingKeysRequest message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns BatchUpdateCustomTargetingKeysRequest
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.BatchUpdateCustomTargetingKeysRequest;

                    /**
                     * Creates a plain object from a BatchUpdateCustomTargetingKeysRequest message. Also converts values to other types if specified.
                     * @param message BatchUpdateCustomTargetingKeysRequest
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.BatchUpdateCustomTargetingKeysRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this BatchUpdateCustomTargetingKeysRequest to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for BatchUpdateCustomTargetingKeysRequest
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a BatchUpdateCustomTargetingKeysResponse. */
                interface IBatchUpdateCustomTargetingKeysResponse {

                    /** BatchUpdateCustomTargetingKeysResponse customTargetingKeys */
                    customTargetingKeys?: (google.ads.admanager.v1.ICustomTargetingKey[]|null);
                }

                /** Represents a BatchUpdateCustomTargetingKeysResponse. */
                class BatchUpdateCustomTargetingKeysResponse implements IBatchUpdateCustomTargetingKeysResponse {

                    /**
                     * Constructs a new BatchUpdateCustomTargetingKeysResponse.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IBatchUpdateCustomTargetingKeysResponse);

                    /** BatchUpdateCustomTargetingKeysResponse customTargetingKeys. */
                    public customTargetingKeys: google.ads.admanager.v1.ICustomTargetingKey[];

                    /**
                     * Creates a new BatchUpdateCustomTargetingKeysResponse instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns BatchUpdateCustomTargetingKeysResponse instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IBatchUpdateCustomTargetingKeysResponse): google.ads.admanager.v1.BatchUpdateCustomTargetingKeysResponse;

                    /**
                     * Encodes the specified BatchUpdateCustomTargetingKeysResponse message. Does not implicitly {@link google.ads.admanager.v1.BatchUpdateCustomTargetingKeysResponse.verify|verify} messages.
                     * @param message BatchUpdateCustomTargetingKeysResponse message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IBatchUpdateCustomTargetingKeysResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified BatchUpdateCustomTargetingKeysResponse message, length delimited. Does not implicitly {@link google.ads.admanager.v1.BatchUpdateCustomTargetingKeysResponse.verify|verify} messages.
                     * @param message BatchUpdateCustomTargetingKeysResponse message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IBatchUpdateCustomTargetingKeysResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a BatchUpdateCustomTargetingKeysResponse message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns BatchUpdateCustomTargetingKeysResponse
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.BatchUpdateCustomTargetingKeysResponse;

                    /**
                     * Decodes a BatchUpdateCustomTargetingKeysResponse message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns BatchUpdateCustomTargetingKeysResponse
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.BatchUpdateCustomTargetingKeysResponse;

                    /**
                     * Verifies a BatchUpdateCustomTargetingKeysResponse message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a BatchUpdateCustomTargetingKeysResponse message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns BatchUpdateCustomTargetingKeysResponse
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.BatchUpdateCustomTargetingKeysResponse;

                    /**
                     * Creates a plain object from a BatchUpdateCustomTargetingKeysResponse message. Also converts values to other types if specified.
                     * @param message BatchUpdateCustomTargetingKeysResponse
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.BatchUpdateCustomTargetingKeysResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this BatchUpdateCustomTargetingKeysResponse to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for BatchUpdateCustomTargetingKeysResponse
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a BatchActivateCustomTargetingKeysRequest. */
                interface IBatchActivateCustomTargetingKeysRequest {

                    /** BatchActivateCustomTargetingKeysRequest parent */
                    parent?: (string|null);

                    /** BatchActivateCustomTargetingKeysRequest names */
                    names?: (string[]|null);
                }

                /** Represents a BatchActivateCustomTargetingKeysRequest. */
                class BatchActivateCustomTargetingKeysRequest implements IBatchActivateCustomTargetingKeysRequest {

                    /**
                     * Constructs a new BatchActivateCustomTargetingKeysRequest.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IBatchActivateCustomTargetingKeysRequest);

                    /** BatchActivateCustomTargetingKeysRequest parent. */
                    public parent: string;

                    /** BatchActivateCustomTargetingKeysRequest names. */
                    public names: string[];

                    /**
                     * Creates a new BatchActivateCustomTargetingKeysRequest instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns BatchActivateCustomTargetingKeysRequest instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IBatchActivateCustomTargetingKeysRequest): google.ads.admanager.v1.BatchActivateCustomTargetingKeysRequest;

                    /**
                     * Encodes the specified BatchActivateCustomTargetingKeysRequest message. Does not implicitly {@link google.ads.admanager.v1.BatchActivateCustomTargetingKeysRequest.verify|verify} messages.
                     * @param message BatchActivateCustomTargetingKeysRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IBatchActivateCustomTargetingKeysRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified BatchActivateCustomTargetingKeysRequest message, length delimited. Does not implicitly {@link google.ads.admanager.v1.BatchActivateCustomTargetingKeysRequest.verify|verify} messages.
                     * @param message BatchActivateCustomTargetingKeysRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IBatchActivateCustomTargetingKeysRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a BatchActivateCustomTargetingKeysRequest message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns BatchActivateCustomTargetingKeysRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.BatchActivateCustomTargetingKeysRequest;

                    /**
                     * Decodes a BatchActivateCustomTargetingKeysRequest message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns BatchActivateCustomTargetingKeysRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.BatchActivateCustomTargetingKeysRequest;

                    /**
                     * Verifies a BatchActivateCustomTargetingKeysRequest message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a BatchActivateCustomTargetingKeysRequest message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns BatchActivateCustomTargetingKeysRequest
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.BatchActivateCustomTargetingKeysRequest;

                    /**
                     * Creates a plain object from a BatchActivateCustomTargetingKeysRequest message. Also converts values to other types if specified.
                     * @param message BatchActivateCustomTargetingKeysRequest
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.BatchActivateCustomTargetingKeysRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this BatchActivateCustomTargetingKeysRequest to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for BatchActivateCustomTargetingKeysRequest
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a BatchActivateCustomTargetingKeysResponse. */
                interface IBatchActivateCustomTargetingKeysResponse {
                }

                /** Represents a BatchActivateCustomTargetingKeysResponse. */
                class BatchActivateCustomTargetingKeysResponse implements IBatchActivateCustomTargetingKeysResponse {

                    /**
                     * Constructs a new BatchActivateCustomTargetingKeysResponse.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IBatchActivateCustomTargetingKeysResponse);

                    /**
                     * Creates a new BatchActivateCustomTargetingKeysResponse instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns BatchActivateCustomTargetingKeysResponse instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IBatchActivateCustomTargetingKeysResponse): google.ads.admanager.v1.BatchActivateCustomTargetingKeysResponse;

                    /**
                     * Encodes the specified BatchActivateCustomTargetingKeysResponse message. Does not implicitly {@link google.ads.admanager.v1.BatchActivateCustomTargetingKeysResponse.verify|verify} messages.
                     * @param message BatchActivateCustomTargetingKeysResponse message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IBatchActivateCustomTargetingKeysResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified BatchActivateCustomTargetingKeysResponse message, length delimited. Does not implicitly {@link google.ads.admanager.v1.BatchActivateCustomTargetingKeysResponse.verify|verify} messages.
                     * @param message BatchActivateCustomTargetingKeysResponse message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IBatchActivateCustomTargetingKeysResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a BatchActivateCustomTargetingKeysResponse message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns BatchActivateCustomTargetingKeysResponse
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.BatchActivateCustomTargetingKeysResponse;

                    /**
                     * Decodes a BatchActivateCustomTargetingKeysResponse message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns BatchActivateCustomTargetingKeysResponse
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.BatchActivateCustomTargetingKeysResponse;

                    /**
                     * Verifies a BatchActivateCustomTargetingKeysResponse message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a BatchActivateCustomTargetingKeysResponse message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns BatchActivateCustomTargetingKeysResponse
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.BatchActivateCustomTargetingKeysResponse;

                    /**
                     * Creates a plain object from a BatchActivateCustomTargetingKeysResponse message. Also converts values to other types if specified.
                     * @param message BatchActivateCustomTargetingKeysResponse
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.BatchActivateCustomTargetingKeysResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this BatchActivateCustomTargetingKeysResponse to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for BatchActivateCustomTargetingKeysResponse
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a BatchDeactivateCustomTargetingKeysRequest. */
                interface IBatchDeactivateCustomTargetingKeysRequest {

                    /** BatchDeactivateCustomTargetingKeysRequest parent */
                    parent?: (string|null);

                    /** BatchDeactivateCustomTargetingKeysRequest names */
                    names?: (string[]|null);
                }

                /** Represents a BatchDeactivateCustomTargetingKeysRequest. */
                class BatchDeactivateCustomTargetingKeysRequest implements IBatchDeactivateCustomTargetingKeysRequest {

                    /**
                     * Constructs a new BatchDeactivateCustomTargetingKeysRequest.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IBatchDeactivateCustomTargetingKeysRequest);

                    /** BatchDeactivateCustomTargetingKeysRequest parent. */
                    public parent: string;

                    /** BatchDeactivateCustomTargetingKeysRequest names. */
                    public names: string[];

                    /**
                     * Creates a new BatchDeactivateCustomTargetingKeysRequest instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns BatchDeactivateCustomTargetingKeysRequest instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IBatchDeactivateCustomTargetingKeysRequest): google.ads.admanager.v1.BatchDeactivateCustomTargetingKeysRequest;

                    /**
                     * Encodes the specified BatchDeactivateCustomTargetingKeysRequest message. Does not implicitly {@link google.ads.admanager.v1.BatchDeactivateCustomTargetingKeysRequest.verify|verify} messages.
                     * @param message BatchDeactivateCustomTargetingKeysRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IBatchDeactivateCustomTargetingKeysRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified BatchDeactivateCustomTargetingKeysRequest message, length delimited. Does not implicitly {@link google.ads.admanager.v1.BatchDeactivateCustomTargetingKeysRequest.verify|verify} messages.
                     * @param message BatchDeactivateCustomTargetingKeysRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IBatchDeactivateCustomTargetingKeysRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a BatchDeactivateCustomTargetingKeysRequest message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns BatchDeactivateCustomTargetingKeysRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.BatchDeactivateCustomTargetingKeysRequest;

                    /**
                     * Decodes a BatchDeactivateCustomTargetingKeysRequest message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns BatchDeactivateCustomTargetingKeysRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.BatchDeactivateCustomTargetingKeysRequest;

                    /**
                     * Verifies a BatchDeactivateCustomTargetingKeysRequest message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a BatchDeactivateCustomTargetingKeysRequest message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns BatchDeactivateCustomTargetingKeysRequest
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.BatchDeactivateCustomTargetingKeysRequest;

                    /**
                     * Creates a plain object from a BatchDeactivateCustomTargetingKeysRequest message. Also converts values to other types if specified.
                     * @param message BatchDeactivateCustomTargetingKeysRequest
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.BatchDeactivateCustomTargetingKeysRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this BatchDeactivateCustomTargetingKeysRequest to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for BatchDeactivateCustomTargetingKeysRequest
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a BatchDeactivateCustomTargetingKeysResponse. */
                interface IBatchDeactivateCustomTargetingKeysResponse {
                }

                /** Represents a BatchDeactivateCustomTargetingKeysResponse. */
                class BatchDeactivateCustomTargetingKeysResponse implements IBatchDeactivateCustomTargetingKeysResponse {

                    /**
                     * Constructs a new BatchDeactivateCustomTargetingKeysResponse.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IBatchDeactivateCustomTargetingKeysResponse);

                    /**
                     * Creates a new BatchDeactivateCustomTargetingKeysResponse instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns BatchDeactivateCustomTargetingKeysResponse instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IBatchDeactivateCustomTargetingKeysResponse): google.ads.admanager.v1.BatchDeactivateCustomTargetingKeysResponse;

                    /**
                     * Encodes the specified BatchDeactivateCustomTargetingKeysResponse message. Does not implicitly {@link google.ads.admanager.v1.BatchDeactivateCustomTargetingKeysResponse.verify|verify} messages.
                     * @param message BatchDeactivateCustomTargetingKeysResponse message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IBatchDeactivateCustomTargetingKeysResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified BatchDeactivateCustomTargetingKeysResponse message, length delimited. Does not implicitly {@link google.ads.admanager.v1.BatchDeactivateCustomTargetingKeysResponse.verify|verify} messages.
                     * @param message BatchDeactivateCustomTargetingKeysResponse message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IBatchDeactivateCustomTargetingKeysResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a BatchDeactivateCustomTargetingKeysResponse message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns BatchDeactivateCustomTargetingKeysResponse
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.BatchDeactivateCustomTargetingKeysResponse;

                    /**
                     * Decodes a BatchDeactivateCustomTargetingKeysResponse message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns BatchDeactivateCustomTargetingKeysResponse
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.BatchDeactivateCustomTargetingKeysResponse;

                    /**
                     * Verifies a BatchDeactivateCustomTargetingKeysResponse message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a BatchDeactivateCustomTargetingKeysResponse message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns BatchDeactivateCustomTargetingKeysResponse
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.BatchDeactivateCustomTargetingKeysResponse;

                    /**
                     * Creates a plain object from a BatchDeactivateCustomTargetingKeysResponse message. Also converts values to other types if specified.
                     * @param message BatchDeactivateCustomTargetingKeysResponse
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.BatchDeactivateCustomTargetingKeysResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this BatchDeactivateCustomTargetingKeysResponse to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for BatchDeactivateCustomTargetingKeysResponse
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a CustomTargetingValueStatusEnum. */
                interface ICustomTargetingValueStatusEnum {
                }

                /** Represents a CustomTargetingValueStatusEnum. */
                class CustomTargetingValueStatusEnum implements ICustomTargetingValueStatusEnum {

                    /**
                     * Constructs a new CustomTargetingValueStatusEnum.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.ICustomTargetingValueStatusEnum);

                    /**
                     * Creates a new CustomTargetingValueStatusEnum instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns CustomTargetingValueStatusEnum instance
                     */
                    public static create(properties?: google.ads.admanager.v1.ICustomTargetingValueStatusEnum): google.ads.admanager.v1.CustomTargetingValueStatusEnum;

                    /**
                     * Encodes the specified CustomTargetingValueStatusEnum message. Does not implicitly {@link google.ads.admanager.v1.CustomTargetingValueStatusEnum.verify|verify} messages.
                     * @param message CustomTargetingValueStatusEnum message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.ICustomTargetingValueStatusEnum, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified CustomTargetingValueStatusEnum message, length delimited. Does not implicitly {@link google.ads.admanager.v1.CustomTargetingValueStatusEnum.verify|verify} messages.
                     * @param message CustomTargetingValueStatusEnum message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.ICustomTargetingValueStatusEnum, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a CustomTargetingValueStatusEnum message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns CustomTargetingValueStatusEnum
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.CustomTargetingValueStatusEnum;

                    /**
                     * Decodes a CustomTargetingValueStatusEnum message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns CustomTargetingValueStatusEnum
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.CustomTargetingValueStatusEnum;

                    /**
                     * Verifies a CustomTargetingValueStatusEnum message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a CustomTargetingValueStatusEnum message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns CustomTargetingValueStatusEnum
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.CustomTargetingValueStatusEnum;

                    /**
                     * Creates a plain object from a CustomTargetingValueStatusEnum message. Also converts values to other types if specified.
                     * @param message CustomTargetingValueStatusEnum
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.CustomTargetingValueStatusEnum, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this CustomTargetingValueStatusEnum to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for CustomTargetingValueStatusEnum
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                namespace CustomTargetingValueStatusEnum {

                    /** CustomTargetingValueStatus enum. */
                    enum CustomTargetingValueStatus {
                        CUSTOM_TARGETING_VALUE_STATUS_UNSPECIFIED = 0,
                        ACTIVE = 1,
                        INACTIVE = 2
                    }
                }

                /** Properties of a CustomTargetingValueMatchTypeEnum. */
                interface ICustomTargetingValueMatchTypeEnum {
                }

                /** Represents a CustomTargetingValueMatchTypeEnum. */
                class CustomTargetingValueMatchTypeEnum implements ICustomTargetingValueMatchTypeEnum {

                    /**
                     * Constructs a new CustomTargetingValueMatchTypeEnum.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.ICustomTargetingValueMatchTypeEnum);

                    /**
                     * Creates a new CustomTargetingValueMatchTypeEnum instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns CustomTargetingValueMatchTypeEnum instance
                     */
                    public static create(properties?: google.ads.admanager.v1.ICustomTargetingValueMatchTypeEnum): google.ads.admanager.v1.CustomTargetingValueMatchTypeEnum;

                    /**
                     * Encodes the specified CustomTargetingValueMatchTypeEnum message. Does not implicitly {@link google.ads.admanager.v1.CustomTargetingValueMatchTypeEnum.verify|verify} messages.
                     * @param message CustomTargetingValueMatchTypeEnum message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.ICustomTargetingValueMatchTypeEnum, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified CustomTargetingValueMatchTypeEnum message, length delimited. Does not implicitly {@link google.ads.admanager.v1.CustomTargetingValueMatchTypeEnum.verify|verify} messages.
                     * @param message CustomTargetingValueMatchTypeEnum message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.ICustomTargetingValueMatchTypeEnum, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a CustomTargetingValueMatchTypeEnum message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns CustomTargetingValueMatchTypeEnum
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.CustomTargetingValueMatchTypeEnum;

                    /**
                     * Decodes a CustomTargetingValueMatchTypeEnum message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns CustomTargetingValueMatchTypeEnum
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.CustomTargetingValueMatchTypeEnum;

                    /**
                     * Verifies a CustomTargetingValueMatchTypeEnum message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a CustomTargetingValueMatchTypeEnum message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns CustomTargetingValueMatchTypeEnum
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.CustomTargetingValueMatchTypeEnum;

                    /**
                     * Creates a plain object from a CustomTargetingValueMatchTypeEnum message. Also converts values to other types if specified.
                     * @param message CustomTargetingValueMatchTypeEnum
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.CustomTargetingValueMatchTypeEnum, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this CustomTargetingValueMatchTypeEnum to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for CustomTargetingValueMatchTypeEnum
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                namespace CustomTargetingValueMatchTypeEnum {

                    /** CustomTargetingValueMatchType enum. */
                    enum CustomTargetingValueMatchType {
                        CUSTOM_TARGETING_VALUE_MATCH_TYPE_UNSPECIFIED = 0,
                        EXACT = 1,
                        BROAD = 2,
                        PREFIX = 3,
                        BROAD_PREFIX = 4,
                        SUFFIX = 5,
                        CONTAINS = 6
                    }
                }

                /** Properties of a CustomTargetingValue. */
                interface ICustomTargetingValue {

                    /** CustomTargetingValue name */
                    name?: (string|null);

                    /** CustomTargetingValue customTargetingKey */
                    customTargetingKey?: (string|null);

                    /** CustomTargetingValue adTagName */
                    adTagName?: (string|null);

                    /** CustomTargetingValue displayName */
                    displayName?: (string|null);

                    /** CustomTargetingValue matchType */
                    matchType?: (google.ads.admanager.v1.CustomTargetingValueMatchTypeEnum.CustomTargetingValueMatchType|keyof typeof google.ads.admanager.v1.CustomTargetingValueMatchTypeEnum.CustomTargetingValueMatchType|null);

                    /** CustomTargetingValue status */
                    status?: (google.ads.admanager.v1.CustomTargetingValueStatusEnum.CustomTargetingValueStatus|keyof typeof google.ads.admanager.v1.CustomTargetingValueStatusEnum.CustomTargetingValueStatus|null);
                }

                /** Represents a CustomTargetingValue. */
                class CustomTargetingValue implements ICustomTargetingValue {

                    /**
                     * Constructs a new CustomTargetingValue.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.ICustomTargetingValue);

                    /** CustomTargetingValue name. */
                    public name: string;

                    /** CustomTargetingValue customTargetingKey. */
                    public customTargetingKey?: (string|null);

                    /** CustomTargetingValue adTagName. */
                    public adTagName?: (string|null);

                    /** CustomTargetingValue displayName. */
                    public displayName?: (string|null);

                    /** CustomTargetingValue matchType. */
                    public matchType?: (google.ads.admanager.v1.CustomTargetingValueMatchTypeEnum.CustomTargetingValueMatchType|keyof typeof google.ads.admanager.v1.CustomTargetingValueMatchTypeEnum.CustomTargetingValueMatchType|null);

                    /** CustomTargetingValue status. */
                    public status?: (google.ads.admanager.v1.CustomTargetingValueStatusEnum.CustomTargetingValueStatus|keyof typeof google.ads.admanager.v1.CustomTargetingValueStatusEnum.CustomTargetingValueStatus|null);

                    /**
                     * Creates a new CustomTargetingValue instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns CustomTargetingValue instance
                     */
                    public static create(properties?: google.ads.admanager.v1.ICustomTargetingValue): google.ads.admanager.v1.CustomTargetingValue;

                    /**
                     * Encodes the specified CustomTargetingValue message. Does not implicitly {@link google.ads.admanager.v1.CustomTargetingValue.verify|verify} messages.
                     * @param message CustomTargetingValue message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.ICustomTargetingValue, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified CustomTargetingValue message, length delimited. Does not implicitly {@link google.ads.admanager.v1.CustomTargetingValue.verify|verify} messages.
                     * @param message CustomTargetingValue message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.ICustomTargetingValue, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a CustomTargetingValue message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns CustomTargetingValue
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.CustomTargetingValue;

                    /**
                     * Decodes a CustomTargetingValue message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns CustomTargetingValue
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.CustomTargetingValue;

                    /**
                     * Verifies a CustomTargetingValue message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a CustomTargetingValue message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns CustomTargetingValue
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.CustomTargetingValue;

                    /**
                     * Creates a plain object from a CustomTargetingValue message. Also converts values to other types if specified.
                     * @param message CustomTargetingValue
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.CustomTargetingValue, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this CustomTargetingValue to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for CustomTargetingValue
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Represents a CustomTargetingValueService */
                class CustomTargetingValueService extends $protobuf.rpc.Service {

                    /**
                     * Constructs a new CustomTargetingValueService service.
                     * @param rpcImpl RPC implementation
                     * @param [requestDelimited=false] Whether requests are length-delimited
                     * @param [responseDelimited=false] Whether responses are length-delimited
                     */
                    constructor(rpcImpl: $protobuf.RPCImpl, requestDelimited?: boolean, responseDelimited?: boolean);

                    /**
                     * Creates new CustomTargetingValueService service using the specified rpc implementation.
                     * @param rpcImpl RPC implementation
                     * @param [requestDelimited=false] Whether requests are length-delimited
                     * @param [responseDelimited=false] Whether responses are length-delimited
                     * @returns RPC service. Useful where requests and/or responses are streamed.
                     */
                    public static create(rpcImpl: $protobuf.RPCImpl, requestDelimited?: boolean, responseDelimited?: boolean): CustomTargetingValueService;

                    /**
                     * Calls GetCustomTargetingValue.
                     * @param request GetCustomTargetingValueRequest message or plain object
                     * @param callback Node-style callback called with the error, if any, and CustomTargetingValue
                     */
                    public getCustomTargetingValue(request: google.ads.admanager.v1.IGetCustomTargetingValueRequest, callback: google.ads.admanager.v1.CustomTargetingValueService.GetCustomTargetingValueCallback): void;

                    /**
                     * Calls GetCustomTargetingValue.
                     * @param request GetCustomTargetingValueRequest message or plain object
                     * @returns Promise
                     */
                    public getCustomTargetingValue(request: google.ads.admanager.v1.IGetCustomTargetingValueRequest): Promise<google.ads.admanager.v1.CustomTargetingValue>;

                    /**
                     * Calls ListCustomTargetingValues.
                     * @param request ListCustomTargetingValuesRequest message or plain object
                     * @param callback Node-style callback called with the error, if any, and ListCustomTargetingValuesResponse
                     */
                    public listCustomTargetingValues(request: google.ads.admanager.v1.IListCustomTargetingValuesRequest, callback: google.ads.admanager.v1.CustomTargetingValueService.ListCustomTargetingValuesCallback): void;

                    /**
                     * Calls ListCustomTargetingValues.
                     * @param request ListCustomTargetingValuesRequest message or plain object
                     * @returns Promise
                     */
                    public listCustomTargetingValues(request: google.ads.admanager.v1.IListCustomTargetingValuesRequest): Promise<google.ads.admanager.v1.ListCustomTargetingValuesResponse>;
                }

                namespace CustomTargetingValueService {

                    /**
                     * Callback as used by {@link google.ads.admanager.v1.CustomTargetingValueService|getCustomTargetingValue}.
                     * @param error Error, if any
                     * @param [response] CustomTargetingValue
                     */
                    type GetCustomTargetingValueCallback = (error: (Error|null), response?: google.ads.admanager.v1.CustomTargetingValue) => void;

                    /**
                     * Callback as used by {@link google.ads.admanager.v1.CustomTargetingValueService|listCustomTargetingValues}.
                     * @param error Error, if any
                     * @param [response] ListCustomTargetingValuesResponse
                     */
                    type ListCustomTargetingValuesCallback = (error: (Error|null), response?: google.ads.admanager.v1.ListCustomTargetingValuesResponse) => void;
                }

                /** Properties of a GetCustomTargetingValueRequest. */
                interface IGetCustomTargetingValueRequest {

                    /** GetCustomTargetingValueRequest name */
                    name?: (string|null);
                }

                /** Represents a GetCustomTargetingValueRequest. */
                class GetCustomTargetingValueRequest implements IGetCustomTargetingValueRequest {

                    /**
                     * Constructs a new GetCustomTargetingValueRequest.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IGetCustomTargetingValueRequest);

                    /** GetCustomTargetingValueRequest name. */
                    public name: string;

                    /**
                     * Creates a new GetCustomTargetingValueRequest instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns GetCustomTargetingValueRequest instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IGetCustomTargetingValueRequest): google.ads.admanager.v1.GetCustomTargetingValueRequest;

                    /**
                     * Encodes the specified GetCustomTargetingValueRequest message. Does not implicitly {@link google.ads.admanager.v1.GetCustomTargetingValueRequest.verify|verify} messages.
                     * @param message GetCustomTargetingValueRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IGetCustomTargetingValueRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified GetCustomTargetingValueRequest message, length delimited. Does not implicitly {@link google.ads.admanager.v1.GetCustomTargetingValueRequest.verify|verify} messages.
                     * @param message GetCustomTargetingValueRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IGetCustomTargetingValueRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a GetCustomTargetingValueRequest message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns GetCustomTargetingValueRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.GetCustomTargetingValueRequest;

                    /**
                     * Decodes a GetCustomTargetingValueRequest message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns GetCustomTargetingValueRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.GetCustomTargetingValueRequest;

                    /**
                     * Verifies a GetCustomTargetingValueRequest message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a GetCustomTargetingValueRequest message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns GetCustomTargetingValueRequest
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.GetCustomTargetingValueRequest;

                    /**
                     * Creates a plain object from a GetCustomTargetingValueRequest message. Also converts values to other types if specified.
                     * @param message GetCustomTargetingValueRequest
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.GetCustomTargetingValueRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this GetCustomTargetingValueRequest to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for GetCustomTargetingValueRequest
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a ListCustomTargetingValuesRequest. */
                interface IListCustomTargetingValuesRequest {

                    /** ListCustomTargetingValuesRequest parent */
                    parent?: (string|null);

                    /** ListCustomTargetingValuesRequest pageSize */
                    pageSize?: (number|null);

                    /** ListCustomTargetingValuesRequest pageToken */
                    pageToken?: (string|null);

                    /** ListCustomTargetingValuesRequest filter */
                    filter?: (string|null);

                    /** ListCustomTargetingValuesRequest orderBy */
                    orderBy?: (string|null);

                    /** ListCustomTargetingValuesRequest skip */
                    skip?: (number|null);
                }

                /** Represents a ListCustomTargetingValuesRequest. */
                class ListCustomTargetingValuesRequest implements IListCustomTargetingValuesRequest {

                    /**
                     * Constructs a new ListCustomTargetingValuesRequest.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IListCustomTargetingValuesRequest);

                    /** ListCustomTargetingValuesRequest parent. */
                    public parent: string;

                    /** ListCustomTargetingValuesRequest pageSize. */
                    public pageSize: number;

                    /** ListCustomTargetingValuesRequest pageToken. */
                    public pageToken: string;

                    /** ListCustomTargetingValuesRequest filter. */
                    public filter: string;

                    /** ListCustomTargetingValuesRequest orderBy. */
                    public orderBy: string;

                    /** ListCustomTargetingValuesRequest skip. */
                    public skip: number;

                    /**
                     * Creates a new ListCustomTargetingValuesRequest instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns ListCustomTargetingValuesRequest instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IListCustomTargetingValuesRequest): google.ads.admanager.v1.ListCustomTargetingValuesRequest;

                    /**
                     * Encodes the specified ListCustomTargetingValuesRequest message. Does not implicitly {@link google.ads.admanager.v1.ListCustomTargetingValuesRequest.verify|verify} messages.
                     * @param message ListCustomTargetingValuesRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IListCustomTargetingValuesRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified ListCustomTargetingValuesRequest message, length delimited. Does not implicitly {@link google.ads.admanager.v1.ListCustomTargetingValuesRequest.verify|verify} messages.
                     * @param message ListCustomTargetingValuesRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IListCustomTargetingValuesRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a ListCustomTargetingValuesRequest message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns ListCustomTargetingValuesRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.ListCustomTargetingValuesRequest;

                    /**
                     * Decodes a ListCustomTargetingValuesRequest message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns ListCustomTargetingValuesRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.ListCustomTargetingValuesRequest;

                    /**
                     * Verifies a ListCustomTargetingValuesRequest message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a ListCustomTargetingValuesRequest message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns ListCustomTargetingValuesRequest
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.ListCustomTargetingValuesRequest;

                    /**
                     * Creates a plain object from a ListCustomTargetingValuesRequest message. Also converts values to other types if specified.
                     * @param message ListCustomTargetingValuesRequest
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.ListCustomTargetingValuesRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this ListCustomTargetingValuesRequest to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for ListCustomTargetingValuesRequest
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a ListCustomTargetingValuesResponse. */
                interface IListCustomTargetingValuesResponse {

                    /** ListCustomTargetingValuesResponse customTargetingValues */
                    customTargetingValues?: (google.ads.admanager.v1.ICustomTargetingValue[]|null);

                    /** ListCustomTargetingValuesResponse nextPageToken */
                    nextPageToken?: (string|null);

                    /** ListCustomTargetingValuesResponse totalSize */
                    totalSize?: (number|null);
                }

                /** Represents a ListCustomTargetingValuesResponse. */
                class ListCustomTargetingValuesResponse implements IListCustomTargetingValuesResponse {

                    /**
                     * Constructs a new ListCustomTargetingValuesResponse.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IListCustomTargetingValuesResponse);

                    /** ListCustomTargetingValuesResponse customTargetingValues. */
                    public customTargetingValues: google.ads.admanager.v1.ICustomTargetingValue[];

                    /** ListCustomTargetingValuesResponse nextPageToken. */
                    public nextPageToken: string;

                    /** ListCustomTargetingValuesResponse totalSize. */
                    public totalSize: number;

                    /**
                     * Creates a new ListCustomTargetingValuesResponse instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns ListCustomTargetingValuesResponse instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IListCustomTargetingValuesResponse): google.ads.admanager.v1.ListCustomTargetingValuesResponse;

                    /**
                     * Encodes the specified ListCustomTargetingValuesResponse message. Does not implicitly {@link google.ads.admanager.v1.ListCustomTargetingValuesResponse.verify|verify} messages.
                     * @param message ListCustomTargetingValuesResponse message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IListCustomTargetingValuesResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified ListCustomTargetingValuesResponse message, length delimited. Does not implicitly {@link google.ads.admanager.v1.ListCustomTargetingValuesResponse.verify|verify} messages.
                     * @param message ListCustomTargetingValuesResponse message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IListCustomTargetingValuesResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a ListCustomTargetingValuesResponse message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns ListCustomTargetingValuesResponse
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.ListCustomTargetingValuesResponse;

                    /**
                     * Decodes a ListCustomTargetingValuesResponse message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns ListCustomTargetingValuesResponse
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.ListCustomTargetingValuesResponse;

                    /**
                     * Verifies a ListCustomTargetingValuesResponse message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a ListCustomTargetingValuesResponse message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns ListCustomTargetingValuesResponse
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.ListCustomTargetingValuesResponse;

                    /**
                     * Creates a plain object from a ListCustomTargetingValuesResponse message. Also converts values to other types if specified.
                     * @param message ListCustomTargetingValuesResponse
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.ListCustomTargetingValuesResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this ListCustomTargetingValuesResponse to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for ListCustomTargetingValuesResponse
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a DealBuyerPermissionTypeEnum. */
                interface IDealBuyerPermissionTypeEnum {
                }

                /** Represents a DealBuyerPermissionTypeEnum. */
                class DealBuyerPermissionTypeEnum implements IDealBuyerPermissionTypeEnum {

                    /**
                     * Constructs a new DealBuyerPermissionTypeEnum.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IDealBuyerPermissionTypeEnum);

                    /**
                     * Creates a new DealBuyerPermissionTypeEnum instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns DealBuyerPermissionTypeEnum instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IDealBuyerPermissionTypeEnum): google.ads.admanager.v1.DealBuyerPermissionTypeEnum;

                    /**
                     * Encodes the specified DealBuyerPermissionTypeEnum message. Does not implicitly {@link google.ads.admanager.v1.DealBuyerPermissionTypeEnum.verify|verify} messages.
                     * @param message DealBuyerPermissionTypeEnum message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IDealBuyerPermissionTypeEnum, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified DealBuyerPermissionTypeEnum message, length delimited. Does not implicitly {@link google.ads.admanager.v1.DealBuyerPermissionTypeEnum.verify|verify} messages.
                     * @param message DealBuyerPermissionTypeEnum message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IDealBuyerPermissionTypeEnum, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a DealBuyerPermissionTypeEnum message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns DealBuyerPermissionTypeEnum
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.DealBuyerPermissionTypeEnum;

                    /**
                     * Decodes a DealBuyerPermissionTypeEnum message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns DealBuyerPermissionTypeEnum
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.DealBuyerPermissionTypeEnum;

                    /**
                     * Verifies a DealBuyerPermissionTypeEnum message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a DealBuyerPermissionTypeEnum message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns DealBuyerPermissionTypeEnum
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.DealBuyerPermissionTypeEnum;

                    /**
                     * Creates a plain object from a DealBuyerPermissionTypeEnum message. Also converts values to other types if specified.
                     * @param message DealBuyerPermissionTypeEnum
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.DealBuyerPermissionTypeEnum, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this DealBuyerPermissionTypeEnum to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for DealBuyerPermissionTypeEnum
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                namespace DealBuyerPermissionTypeEnum {

                    /** DealBuyerPermissionType enum. */
                    enum DealBuyerPermissionType {
                        DEAL_BUYER_PERMISSION_TYPE_UNSPECIFIED = 0,
                        NEGOTIATOR_ONLY = 1,
                        BIDDER = 2
                    }
                }

                /** Properties of a DeviceCapability. */
                interface IDeviceCapability {

                    /** DeviceCapability name */
                    name?: (string|null);

                    /** DeviceCapability displayName */
                    displayName?: (string|null);
                }

                /** Represents a DeviceCapability. */
                class DeviceCapability implements IDeviceCapability {

                    /**
                     * Constructs a new DeviceCapability.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IDeviceCapability);

                    /** DeviceCapability name. */
                    public name: string;

                    /** DeviceCapability displayName. */
                    public displayName?: (string|null);

                    /**
                     * Creates a new DeviceCapability instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns DeviceCapability instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IDeviceCapability): google.ads.admanager.v1.DeviceCapability;

                    /**
                     * Encodes the specified DeviceCapability message. Does not implicitly {@link google.ads.admanager.v1.DeviceCapability.verify|verify} messages.
                     * @param message DeviceCapability message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IDeviceCapability, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified DeviceCapability message, length delimited. Does not implicitly {@link google.ads.admanager.v1.DeviceCapability.verify|verify} messages.
                     * @param message DeviceCapability message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IDeviceCapability, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a DeviceCapability message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns DeviceCapability
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.DeviceCapability;

                    /**
                     * Decodes a DeviceCapability message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns DeviceCapability
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.DeviceCapability;

                    /**
                     * Verifies a DeviceCapability message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a DeviceCapability message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns DeviceCapability
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.DeviceCapability;

                    /**
                     * Creates a plain object from a DeviceCapability message. Also converts values to other types if specified.
                     * @param message DeviceCapability
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.DeviceCapability, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this DeviceCapability to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for DeviceCapability
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Represents a DeviceCapabilityService */
                class DeviceCapabilityService extends $protobuf.rpc.Service {

                    /**
                     * Constructs a new DeviceCapabilityService service.
                     * @param rpcImpl RPC implementation
                     * @param [requestDelimited=false] Whether requests are length-delimited
                     * @param [responseDelimited=false] Whether responses are length-delimited
                     */
                    constructor(rpcImpl: $protobuf.RPCImpl, requestDelimited?: boolean, responseDelimited?: boolean);

                    /**
                     * Creates new DeviceCapabilityService service using the specified rpc implementation.
                     * @param rpcImpl RPC implementation
                     * @param [requestDelimited=false] Whether requests are length-delimited
                     * @param [responseDelimited=false] Whether responses are length-delimited
                     * @returns RPC service. Useful where requests and/or responses are streamed.
                     */
                    public static create(rpcImpl: $protobuf.RPCImpl, requestDelimited?: boolean, responseDelimited?: boolean): DeviceCapabilityService;

                    /**
                     * Calls GetDeviceCapability.
                     * @param request GetDeviceCapabilityRequest message or plain object
                     * @param callback Node-style callback called with the error, if any, and DeviceCapability
                     */
                    public getDeviceCapability(request: google.ads.admanager.v1.IGetDeviceCapabilityRequest, callback: google.ads.admanager.v1.DeviceCapabilityService.GetDeviceCapabilityCallback): void;

                    /**
                     * Calls GetDeviceCapability.
                     * @param request GetDeviceCapabilityRequest message or plain object
                     * @returns Promise
                     */
                    public getDeviceCapability(request: google.ads.admanager.v1.IGetDeviceCapabilityRequest): Promise<google.ads.admanager.v1.DeviceCapability>;

                    /**
                     * Calls ListDeviceCapabilities.
                     * @param request ListDeviceCapabilitiesRequest message or plain object
                     * @param callback Node-style callback called with the error, if any, and ListDeviceCapabilitiesResponse
                     */
                    public listDeviceCapabilities(request: google.ads.admanager.v1.IListDeviceCapabilitiesRequest, callback: google.ads.admanager.v1.DeviceCapabilityService.ListDeviceCapabilitiesCallback): void;

                    /**
                     * Calls ListDeviceCapabilities.
                     * @param request ListDeviceCapabilitiesRequest message or plain object
                     * @returns Promise
                     */
                    public listDeviceCapabilities(request: google.ads.admanager.v1.IListDeviceCapabilitiesRequest): Promise<google.ads.admanager.v1.ListDeviceCapabilitiesResponse>;
                }

                namespace DeviceCapabilityService {

                    /**
                     * Callback as used by {@link google.ads.admanager.v1.DeviceCapabilityService|getDeviceCapability}.
                     * @param error Error, if any
                     * @param [response] DeviceCapability
                     */
                    type GetDeviceCapabilityCallback = (error: (Error|null), response?: google.ads.admanager.v1.DeviceCapability) => void;

                    /**
                     * Callback as used by {@link google.ads.admanager.v1.DeviceCapabilityService|listDeviceCapabilities}.
                     * @param error Error, if any
                     * @param [response] ListDeviceCapabilitiesResponse
                     */
                    type ListDeviceCapabilitiesCallback = (error: (Error|null), response?: google.ads.admanager.v1.ListDeviceCapabilitiesResponse) => void;
                }

                /** Properties of a GetDeviceCapabilityRequest. */
                interface IGetDeviceCapabilityRequest {

                    /** GetDeviceCapabilityRequest name */
                    name?: (string|null);
                }

                /** Represents a GetDeviceCapabilityRequest. */
                class GetDeviceCapabilityRequest implements IGetDeviceCapabilityRequest {

                    /**
                     * Constructs a new GetDeviceCapabilityRequest.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IGetDeviceCapabilityRequest);

                    /** GetDeviceCapabilityRequest name. */
                    public name: string;

                    /**
                     * Creates a new GetDeviceCapabilityRequest instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns GetDeviceCapabilityRequest instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IGetDeviceCapabilityRequest): google.ads.admanager.v1.GetDeviceCapabilityRequest;

                    /**
                     * Encodes the specified GetDeviceCapabilityRequest message. Does not implicitly {@link google.ads.admanager.v1.GetDeviceCapabilityRequest.verify|verify} messages.
                     * @param message GetDeviceCapabilityRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IGetDeviceCapabilityRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified GetDeviceCapabilityRequest message, length delimited. Does not implicitly {@link google.ads.admanager.v1.GetDeviceCapabilityRequest.verify|verify} messages.
                     * @param message GetDeviceCapabilityRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IGetDeviceCapabilityRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a GetDeviceCapabilityRequest message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns GetDeviceCapabilityRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.GetDeviceCapabilityRequest;

                    /**
                     * Decodes a GetDeviceCapabilityRequest message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns GetDeviceCapabilityRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.GetDeviceCapabilityRequest;

                    /**
                     * Verifies a GetDeviceCapabilityRequest message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a GetDeviceCapabilityRequest message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns GetDeviceCapabilityRequest
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.GetDeviceCapabilityRequest;

                    /**
                     * Creates a plain object from a GetDeviceCapabilityRequest message. Also converts values to other types if specified.
                     * @param message GetDeviceCapabilityRequest
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.GetDeviceCapabilityRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this GetDeviceCapabilityRequest to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for GetDeviceCapabilityRequest
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a ListDeviceCapabilitiesRequest. */
                interface IListDeviceCapabilitiesRequest {

                    /** ListDeviceCapabilitiesRequest parent */
                    parent?: (string|null);

                    /** ListDeviceCapabilitiesRequest pageSize */
                    pageSize?: (number|null);

                    /** ListDeviceCapabilitiesRequest pageToken */
                    pageToken?: (string|null);

                    /** ListDeviceCapabilitiesRequest filter */
                    filter?: (string|null);

                    /** ListDeviceCapabilitiesRequest orderBy */
                    orderBy?: (string|null);

                    /** ListDeviceCapabilitiesRequest skip */
                    skip?: (number|null);
                }

                /** Represents a ListDeviceCapabilitiesRequest. */
                class ListDeviceCapabilitiesRequest implements IListDeviceCapabilitiesRequest {

                    /**
                     * Constructs a new ListDeviceCapabilitiesRequest.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IListDeviceCapabilitiesRequest);

                    /** ListDeviceCapabilitiesRequest parent. */
                    public parent: string;

                    /** ListDeviceCapabilitiesRequest pageSize. */
                    public pageSize: number;

                    /** ListDeviceCapabilitiesRequest pageToken. */
                    public pageToken: string;

                    /** ListDeviceCapabilitiesRequest filter. */
                    public filter: string;

                    /** ListDeviceCapabilitiesRequest orderBy. */
                    public orderBy: string;

                    /** ListDeviceCapabilitiesRequest skip. */
                    public skip: number;

                    /**
                     * Creates a new ListDeviceCapabilitiesRequest instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns ListDeviceCapabilitiesRequest instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IListDeviceCapabilitiesRequest): google.ads.admanager.v1.ListDeviceCapabilitiesRequest;

                    /**
                     * Encodes the specified ListDeviceCapabilitiesRequest message. Does not implicitly {@link google.ads.admanager.v1.ListDeviceCapabilitiesRequest.verify|verify} messages.
                     * @param message ListDeviceCapabilitiesRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IListDeviceCapabilitiesRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified ListDeviceCapabilitiesRequest message, length delimited. Does not implicitly {@link google.ads.admanager.v1.ListDeviceCapabilitiesRequest.verify|verify} messages.
                     * @param message ListDeviceCapabilitiesRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IListDeviceCapabilitiesRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a ListDeviceCapabilitiesRequest message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns ListDeviceCapabilitiesRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.ListDeviceCapabilitiesRequest;

                    /**
                     * Decodes a ListDeviceCapabilitiesRequest message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns ListDeviceCapabilitiesRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.ListDeviceCapabilitiesRequest;

                    /**
                     * Verifies a ListDeviceCapabilitiesRequest message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a ListDeviceCapabilitiesRequest message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns ListDeviceCapabilitiesRequest
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.ListDeviceCapabilitiesRequest;

                    /**
                     * Creates a plain object from a ListDeviceCapabilitiesRequest message. Also converts values to other types if specified.
                     * @param message ListDeviceCapabilitiesRequest
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.ListDeviceCapabilitiesRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this ListDeviceCapabilitiesRequest to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for ListDeviceCapabilitiesRequest
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a ListDeviceCapabilitiesResponse. */
                interface IListDeviceCapabilitiesResponse {

                    /** ListDeviceCapabilitiesResponse deviceCapabilities */
                    deviceCapabilities?: (google.ads.admanager.v1.IDeviceCapability[]|null);

                    /** ListDeviceCapabilitiesResponse nextPageToken */
                    nextPageToken?: (string|null);

                    /** ListDeviceCapabilitiesResponse totalSize */
                    totalSize?: (number|null);
                }

                /** Represents a ListDeviceCapabilitiesResponse. */
                class ListDeviceCapabilitiesResponse implements IListDeviceCapabilitiesResponse {

                    /**
                     * Constructs a new ListDeviceCapabilitiesResponse.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IListDeviceCapabilitiesResponse);

                    /** ListDeviceCapabilitiesResponse deviceCapabilities. */
                    public deviceCapabilities: google.ads.admanager.v1.IDeviceCapability[];

                    /** ListDeviceCapabilitiesResponse nextPageToken. */
                    public nextPageToken: string;

                    /** ListDeviceCapabilitiesResponse totalSize. */
                    public totalSize: number;

                    /**
                     * Creates a new ListDeviceCapabilitiesResponse instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns ListDeviceCapabilitiesResponse instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IListDeviceCapabilitiesResponse): google.ads.admanager.v1.ListDeviceCapabilitiesResponse;

                    /**
                     * Encodes the specified ListDeviceCapabilitiesResponse message. Does not implicitly {@link google.ads.admanager.v1.ListDeviceCapabilitiesResponse.verify|verify} messages.
                     * @param message ListDeviceCapabilitiesResponse message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IListDeviceCapabilitiesResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified ListDeviceCapabilitiesResponse message, length delimited. Does not implicitly {@link google.ads.admanager.v1.ListDeviceCapabilitiesResponse.verify|verify} messages.
                     * @param message ListDeviceCapabilitiesResponse message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IListDeviceCapabilitiesResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a ListDeviceCapabilitiesResponse message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns ListDeviceCapabilitiesResponse
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.ListDeviceCapabilitiesResponse;

                    /**
                     * Decodes a ListDeviceCapabilitiesResponse message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns ListDeviceCapabilitiesResponse
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.ListDeviceCapabilitiesResponse;

                    /**
                     * Verifies a ListDeviceCapabilitiesResponse message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a ListDeviceCapabilitiesResponse message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns ListDeviceCapabilitiesResponse
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.ListDeviceCapabilitiesResponse;

                    /**
                     * Creates a plain object from a ListDeviceCapabilitiesResponse message. Also converts values to other types if specified.
                     * @param message ListDeviceCapabilitiesResponse
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.ListDeviceCapabilitiesResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this ListDeviceCapabilitiesResponse to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for ListDeviceCapabilitiesResponse
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a DeviceCategory. */
                interface IDeviceCategory {

                    /** DeviceCategory name */
                    name?: (string|null);

                    /** DeviceCategory displayName */
                    displayName?: (string|null);
                }

                /** Represents a DeviceCategory. */
                class DeviceCategory implements IDeviceCategory {

                    /**
                     * Constructs a new DeviceCategory.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IDeviceCategory);

                    /** DeviceCategory name. */
                    public name: string;

                    /** DeviceCategory displayName. */
                    public displayName?: (string|null);

                    /**
                     * Creates a new DeviceCategory instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns DeviceCategory instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IDeviceCategory): google.ads.admanager.v1.DeviceCategory;

                    /**
                     * Encodes the specified DeviceCategory message. Does not implicitly {@link google.ads.admanager.v1.DeviceCategory.verify|verify} messages.
                     * @param message DeviceCategory message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IDeviceCategory, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified DeviceCategory message, length delimited. Does not implicitly {@link google.ads.admanager.v1.DeviceCategory.verify|verify} messages.
                     * @param message DeviceCategory message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IDeviceCategory, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a DeviceCategory message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns DeviceCategory
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.DeviceCategory;

                    /**
                     * Decodes a DeviceCategory message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns DeviceCategory
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.DeviceCategory;

                    /**
                     * Verifies a DeviceCategory message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a DeviceCategory message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns DeviceCategory
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.DeviceCategory;

                    /**
                     * Creates a plain object from a DeviceCategory message. Also converts values to other types if specified.
                     * @param message DeviceCategory
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.DeviceCategory, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this DeviceCategory to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for DeviceCategory
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Represents a DeviceCategoryService */
                class DeviceCategoryService extends $protobuf.rpc.Service {

                    /**
                     * Constructs a new DeviceCategoryService service.
                     * @param rpcImpl RPC implementation
                     * @param [requestDelimited=false] Whether requests are length-delimited
                     * @param [responseDelimited=false] Whether responses are length-delimited
                     */
                    constructor(rpcImpl: $protobuf.RPCImpl, requestDelimited?: boolean, responseDelimited?: boolean);

                    /**
                     * Creates new DeviceCategoryService service using the specified rpc implementation.
                     * @param rpcImpl RPC implementation
                     * @param [requestDelimited=false] Whether requests are length-delimited
                     * @param [responseDelimited=false] Whether responses are length-delimited
                     * @returns RPC service. Useful where requests and/or responses are streamed.
                     */
                    public static create(rpcImpl: $protobuf.RPCImpl, requestDelimited?: boolean, responseDelimited?: boolean): DeviceCategoryService;

                    /**
                     * Calls GetDeviceCategory.
                     * @param request GetDeviceCategoryRequest message or plain object
                     * @param callback Node-style callback called with the error, if any, and DeviceCategory
                     */
                    public getDeviceCategory(request: google.ads.admanager.v1.IGetDeviceCategoryRequest, callback: google.ads.admanager.v1.DeviceCategoryService.GetDeviceCategoryCallback): void;

                    /**
                     * Calls GetDeviceCategory.
                     * @param request GetDeviceCategoryRequest message or plain object
                     * @returns Promise
                     */
                    public getDeviceCategory(request: google.ads.admanager.v1.IGetDeviceCategoryRequest): Promise<google.ads.admanager.v1.DeviceCategory>;

                    /**
                     * Calls ListDeviceCategories.
                     * @param request ListDeviceCategoriesRequest message or plain object
                     * @param callback Node-style callback called with the error, if any, and ListDeviceCategoriesResponse
                     */
                    public listDeviceCategories(request: google.ads.admanager.v1.IListDeviceCategoriesRequest, callback: google.ads.admanager.v1.DeviceCategoryService.ListDeviceCategoriesCallback): void;

                    /**
                     * Calls ListDeviceCategories.
                     * @param request ListDeviceCategoriesRequest message or plain object
                     * @returns Promise
                     */
                    public listDeviceCategories(request: google.ads.admanager.v1.IListDeviceCategoriesRequest): Promise<google.ads.admanager.v1.ListDeviceCategoriesResponse>;
                }

                namespace DeviceCategoryService {

                    /**
                     * Callback as used by {@link google.ads.admanager.v1.DeviceCategoryService|getDeviceCategory}.
                     * @param error Error, if any
                     * @param [response] DeviceCategory
                     */
                    type GetDeviceCategoryCallback = (error: (Error|null), response?: google.ads.admanager.v1.DeviceCategory) => void;

                    /**
                     * Callback as used by {@link google.ads.admanager.v1.DeviceCategoryService|listDeviceCategories}.
                     * @param error Error, if any
                     * @param [response] ListDeviceCategoriesResponse
                     */
                    type ListDeviceCategoriesCallback = (error: (Error|null), response?: google.ads.admanager.v1.ListDeviceCategoriesResponse) => void;
                }

                /** Properties of a GetDeviceCategoryRequest. */
                interface IGetDeviceCategoryRequest {

                    /** GetDeviceCategoryRequest name */
                    name?: (string|null);
                }

                /** Represents a GetDeviceCategoryRequest. */
                class GetDeviceCategoryRequest implements IGetDeviceCategoryRequest {

                    /**
                     * Constructs a new GetDeviceCategoryRequest.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IGetDeviceCategoryRequest);

                    /** GetDeviceCategoryRequest name. */
                    public name: string;

                    /**
                     * Creates a new GetDeviceCategoryRequest instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns GetDeviceCategoryRequest instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IGetDeviceCategoryRequest): google.ads.admanager.v1.GetDeviceCategoryRequest;

                    /**
                     * Encodes the specified GetDeviceCategoryRequest message. Does not implicitly {@link google.ads.admanager.v1.GetDeviceCategoryRequest.verify|verify} messages.
                     * @param message GetDeviceCategoryRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IGetDeviceCategoryRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified GetDeviceCategoryRequest message, length delimited. Does not implicitly {@link google.ads.admanager.v1.GetDeviceCategoryRequest.verify|verify} messages.
                     * @param message GetDeviceCategoryRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IGetDeviceCategoryRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a GetDeviceCategoryRequest message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns GetDeviceCategoryRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.GetDeviceCategoryRequest;

                    /**
                     * Decodes a GetDeviceCategoryRequest message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns GetDeviceCategoryRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.GetDeviceCategoryRequest;

                    /**
                     * Verifies a GetDeviceCategoryRequest message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a GetDeviceCategoryRequest message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns GetDeviceCategoryRequest
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.GetDeviceCategoryRequest;

                    /**
                     * Creates a plain object from a GetDeviceCategoryRequest message. Also converts values to other types if specified.
                     * @param message GetDeviceCategoryRequest
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.GetDeviceCategoryRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this GetDeviceCategoryRequest to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for GetDeviceCategoryRequest
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a ListDeviceCategoriesRequest. */
                interface IListDeviceCategoriesRequest {

                    /** ListDeviceCategoriesRequest parent */
                    parent?: (string|null);

                    /** ListDeviceCategoriesRequest pageSize */
                    pageSize?: (number|null);

                    /** ListDeviceCategoriesRequest pageToken */
                    pageToken?: (string|null);

                    /** ListDeviceCategoriesRequest filter */
                    filter?: (string|null);

                    /** ListDeviceCategoriesRequest orderBy */
                    orderBy?: (string|null);

                    /** ListDeviceCategoriesRequest skip */
                    skip?: (number|null);
                }

                /** Represents a ListDeviceCategoriesRequest. */
                class ListDeviceCategoriesRequest implements IListDeviceCategoriesRequest {

                    /**
                     * Constructs a new ListDeviceCategoriesRequest.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IListDeviceCategoriesRequest);

                    /** ListDeviceCategoriesRequest parent. */
                    public parent: string;

                    /** ListDeviceCategoriesRequest pageSize. */
                    public pageSize: number;

                    /** ListDeviceCategoriesRequest pageToken. */
                    public pageToken: string;

                    /** ListDeviceCategoriesRequest filter. */
                    public filter: string;

                    /** ListDeviceCategoriesRequest orderBy. */
                    public orderBy: string;

                    /** ListDeviceCategoriesRequest skip. */
                    public skip: number;

                    /**
                     * Creates a new ListDeviceCategoriesRequest instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns ListDeviceCategoriesRequest instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IListDeviceCategoriesRequest): google.ads.admanager.v1.ListDeviceCategoriesRequest;

                    /**
                     * Encodes the specified ListDeviceCategoriesRequest message. Does not implicitly {@link google.ads.admanager.v1.ListDeviceCategoriesRequest.verify|verify} messages.
                     * @param message ListDeviceCategoriesRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IListDeviceCategoriesRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified ListDeviceCategoriesRequest message, length delimited. Does not implicitly {@link google.ads.admanager.v1.ListDeviceCategoriesRequest.verify|verify} messages.
                     * @param message ListDeviceCategoriesRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IListDeviceCategoriesRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a ListDeviceCategoriesRequest message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns ListDeviceCategoriesRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.ListDeviceCategoriesRequest;

                    /**
                     * Decodes a ListDeviceCategoriesRequest message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns ListDeviceCategoriesRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.ListDeviceCategoriesRequest;

                    /**
                     * Verifies a ListDeviceCategoriesRequest message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a ListDeviceCategoriesRequest message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns ListDeviceCategoriesRequest
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.ListDeviceCategoriesRequest;

                    /**
                     * Creates a plain object from a ListDeviceCategoriesRequest message. Also converts values to other types if specified.
                     * @param message ListDeviceCategoriesRequest
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.ListDeviceCategoriesRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this ListDeviceCategoriesRequest to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for ListDeviceCategoriesRequest
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a ListDeviceCategoriesResponse. */
                interface IListDeviceCategoriesResponse {

                    /** ListDeviceCategoriesResponse deviceCategories */
                    deviceCategories?: (google.ads.admanager.v1.IDeviceCategory[]|null);

                    /** ListDeviceCategoriesResponse nextPageToken */
                    nextPageToken?: (string|null);

                    /** ListDeviceCategoriesResponse totalSize */
                    totalSize?: (number|null);
                }

                /** Represents a ListDeviceCategoriesResponse. */
                class ListDeviceCategoriesResponse implements IListDeviceCategoriesResponse {

                    /**
                     * Constructs a new ListDeviceCategoriesResponse.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IListDeviceCategoriesResponse);

                    /** ListDeviceCategoriesResponse deviceCategories. */
                    public deviceCategories: google.ads.admanager.v1.IDeviceCategory[];

                    /** ListDeviceCategoriesResponse nextPageToken. */
                    public nextPageToken: string;

                    /** ListDeviceCategoriesResponse totalSize. */
                    public totalSize: number;

                    /**
                     * Creates a new ListDeviceCategoriesResponse instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns ListDeviceCategoriesResponse instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IListDeviceCategoriesResponse): google.ads.admanager.v1.ListDeviceCategoriesResponse;

                    /**
                     * Encodes the specified ListDeviceCategoriesResponse message. Does not implicitly {@link google.ads.admanager.v1.ListDeviceCategoriesResponse.verify|verify} messages.
                     * @param message ListDeviceCategoriesResponse message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IListDeviceCategoriesResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified ListDeviceCategoriesResponse message, length delimited. Does not implicitly {@link google.ads.admanager.v1.ListDeviceCategoriesResponse.verify|verify} messages.
                     * @param message ListDeviceCategoriesResponse message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IListDeviceCategoriesResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a ListDeviceCategoriesResponse message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns ListDeviceCategoriesResponse
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.ListDeviceCategoriesResponse;

                    /**
                     * Decodes a ListDeviceCategoriesResponse message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns ListDeviceCategoriesResponse
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.ListDeviceCategoriesResponse;

                    /**
                     * Verifies a ListDeviceCategoriesResponse message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a ListDeviceCategoriesResponse message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns ListDeviceCategoriesResponse
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.ListDeviceCategoriesResponse;

                    /**
                     * Creates a plain object from a ListDeviceCategoriesResponse message. Also converts values to other types if specified.
                     * @param message ListDeviceCategoriesResponse
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.ListDeviceCategoriesResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this ListDeviceCategoriesResponse to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for ListDeviceCategoriesResponse
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a DeviceManufacturer. */
                interface IDeviceManufacturer {

                    /** DeviceManufacturer name */
                    name?: (string|null);

                    /** DeviceManufacturer displayName */
                    displayName?: (string|null);
                }

                /** Represents a DeviceManufacturer. */
                class DeviceManufacturer implements IDeviceManufacturer {

                    /**
                     * Constructs a new DeviceManufacturer.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IDeviceManufacturer);

                    /** DeviceManufacturer name. */
                    public name: string;

                    /** DeviceManufacturer displayName. */
                    public displayName?: (string|null);

                    /**
                     * Creates a new DeviceManufacturer instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns DeviceManufacturer instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IDeviceManufacturer): google.ads.admanager.v1.DeviceManufacturer;

                    /**
                     * Encodes the specified DeviceManufacturer message. Does not implicitly {@link google.ads.admanager.v1.DeviceManufacturer.verify|verify} messages.
                     * @param message DeviceManufacturer message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IDeviceManufacturer, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified DeviceManufacturer message, length delimited. Does not implicitly {@link google.ads.admanager.v1.DeviceManufacturer.verify|verify} messages.
                     * @param message DeviceManufacturer message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IDeviceManufacturer, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a DeviceManufacturer message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns DeviceManufacturer
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.DeviceManufacturer;

                    /**
                     * Decodes a DeviceManufacturer message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns DeviceManufacturer
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.DeviceManufacturer;

                    /**
                     * Verifies a DeviceManufacturer message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a DeviceManufacturer message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns DeviceManufacturer
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.DeviceManufacturer;

                    /**
                     * Creates a plain object from a DeviceManufacturer message. Also converts values to other types if specified.
                     * @param message DeviceManufacturer
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.DeviceManufacturer, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this DeviceManufacturer to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for DeviceManufacturer
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Represents a DeviceManufacturerService */
                class DeviceManufacturerService extends $protobuf.rpc.Service {

                    /**
                     * Constructs a new DeviceManufacturerService service.
                     * @param rpcImpl RPC implementation
                     * @param [requestDelimited=false] Whether requests are length-delimited
                     * @param [responseDelimited=false] Whether responses are length-delimited
                     */
                    constructor(rpcImpl: $protobuf.RPCImpl, requestDelimited?: boolean, responseDelimited?: boolean);

                    /**
                     * Creates new DeviceManufacturerService service using the specified rpc implementation.
                     * @param rpcImpl RPC implementation
                     * @param [requestDelimited=false] Whether requests are length-delimited
                     * @param [responseDelimited=false] Whether responses are length-delimited
                     * @returns RPC service. Useful where requests and/or responses are streamed.
                     */
                    public static create(rpcImpl: $protobuf.RPCImpl, requestDelimited?: boolean, responseDelimited?: boolean): DeviceManufacturerService;

                    /**
                     * Calls GetDeviceManufacturer.
                     * @param request GetDeviceManufacturerRequest message or plain object
                     * @param callback Node-style callback called with the error, if any, and DeviceManufacturer
                     */
                    public getDeviceManufacturer(request: google.ads.admanager.v1.IGetDeviceManufacturerRequest, callback: google.ads.admanager.v1.DeviceManufacturerService.GetDeviceManufacturerCallback): void;

                    /**
                     * Calls GetDeviceManufacturer.
                     * @param request GetDeviceManufacturerRequest message or plain object
                     * @returns Promise
                     */
                    public getDeviceManufacturer(request: google.ads.admanager.v1.IGetDeviceManufacturerRequest): Promise<google.ads.admanager.v1.DeviceManufacturer>;

                    /**
                     * Calls ListDeviceManufacturers.
                     * @param request ListDeviceManufacturersRequest message or plain object
                     * @param callback Node-style callback called with the error, if any, and ListDeviceManufacturersResponse
                     */
                    public listDeviceManufacturers(request: google.ads.admanager.v1.IListDeviceManufacturersRequest, callback: google.ads.admanager.v1.DeviceManufacturerService.ListDeviceManufacturersCallback): void;

                    /**
                     * Calls ListDeviceManufacturers.
                     * @param request ListDeviceManufacturersRequest message or plain object
                     * @returns Promise
                     */
                    public listDeviceManufacturers(request: google.ads.admanager.v1.IListDeviceManufacturersRequest): Promise<google.ads.admanager.v1.ListDeviceManufacturersResponse>;
                }

                namespace DeviceManufacturerService {

                    /**
                     * Callback as used by {@link google.ads.admanager.v1.DeviceManufacturerService|getDeviceManufacturer}.
                     * @param error Error, if any
                     * @param [response] DeviceManufacturer
                     */
                    type GetDeviceManufacturerCallback = (error: (Error|null), response?: google.ads.admanager.v1.DeviceManufacturer) => void;

                    /**
                     * Callback as used by {@link google.ads.admanager.v1.DeviceManufacturerService|listDeviceManufacturers}.
                     * @param error Error, if any
                     * @param [response] ListDeviceManufacturersResponse
                     */
                    type ListDeviceManufacturersCallback = (error: (Error|null), response?: google.ads.admanager.v1.ListDeviceManufacturersResponse) => void;
                }

                /** Properties of a GetDeviceManufacturerRequest. */
                interface IGetDeviceManufacturerRequest {

                    /** GetDeviceManufacturerRequest name */
                    name?: (string|null);
                }

                /** Represents a GetDeviceManufacturerRequest. */
                class GetDeviceManufacturerRequest implements IGetDeviceManufacturerRequest {

                    /**
                     * Constructs a new GetDeviceManufacturerRequest.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IGetDeviceManufacturerRequest);

                    /** GetDeviceManufacturerRequest name. */
                    public name: string;

                    /**
                     * Creates a new GetDeviceManufacturerRequest instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns GetDeviceManufacturerRequest instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IGetDeviceManufacturerRequest): google.ads.admanager.v1.GetDeviceManufacturerRequest;

                    /**
                     * Encodes the specified GetDeviceManufacturerRequest message. Does not implicitly {@link google.ads.admanager.v1.GetDeviceManufacturerRequest.verify|verify} messages.
                     * @param message GetDeviceManufacturerRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IGetDeviceManufacturerRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified GetDeviceManufacturerRequest message, length delimited. Does not implicitly {@link google.ads.admanager.v1.GetDeviceManufacturerRequest.verify|verify} messages.
                     * @param message GetDeviceManufacturerRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IGetDeviceManufacturerRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a GetDeviceManufacturerRequest message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns GetDeviceManufacturerRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.GetDeviceManufacturerRequest;

                    /**
                     * Decodes a GetDeviceManufacturerRequest message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns GetDeviceManufacturerRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.GetDeviceManufacturerRequest;

                    /**
                     * Verifies a GetDeviceManufacturerRequest message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a GetDeviceManufacturerRequest message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns GetDeviceManufacturerRequest
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.GetDeviceManufacturerRequest;

                    /**
                     * Creates a plain object from a GetDeviceManufacturerRequest message. Also converts values to other types if specified.
                     * @param message GetDeviceManufacturerRequest
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.GetDeviceManufacturerRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this GetDeviceManufacturerRequest to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for GetDeviceManufacturerRequest
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a ListDeviceManufacturersRequest. */
                interface IListDeviceManufacturersRequest {

                    /** ListDeviceManufacturersRequest parent */
                    parent?: (string|null);

                    /** ListDeviceManufacturersRequest pageSize */
                    pageSize?: (number|null);

                    /** ListDeviceManufacturersRequest pageToken */
                    pageToken?: (string|null);

                    /** ListDeviceManufacturersRequest filter */
                    filter?: (string|null);

                    /** ListDeviceManufacturersRequest orderBy */
                    orderBy?: (string|null);

                    /** ListDeviceManufacturersRequest skip */
                    skip?: (number|null);
                }

                /** Represents a ListDeviceManufacturersRequest. */
                class ListDeviceManufacturersRequest implements IListDeviceManufacturersRequest {

                    /**
                     * Constructs a new ListDeviceManufacturersRequest.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IListDeviceManufacturersRequest);

                    /** ListDeviceManufacturersRequest parent. */
                    public parent: string;

                    /** ListDeviceManufacturersRequest pageSize. */
                    public pageSize: number;

                    /** ListDeviceManufacturersRequest pageToken. */
                    public pageToken: string;

                    /** ListDeviceManufacturersRequest filter. */
                    public filter: string;

                    /** ListDeviceManufacturersRequest orderBy. */
                    public orderBy: string;

                    /** ListDeviceManufacturersRequest skip. */
                    public skip: number;

                    /**
                     * Creates a new ListDeviceManufacturersRequest instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns ListDeviceManufacturersRequest instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IListDeviceManufacturersRequest): google.ads.admanager.v1.ListDeviceManufacturersRequest;

                    /**
                     * Encodes the specified ListDeviceManufacturersRequest message. Does not implicitly {@link google.ads.admanager.v1.ListDeviceManufacturersRequest.verify|verify} messages.
                     * @param message ListDeviceManufacturersRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IListDeviceManufacturersRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified ListDeviceManufacturersRequest message, length delimited. Does not implicitly {@link google.ads.admanager.v1.ListDeviceManufacturersRequest.verify|verify} messages.
                     * @param message ListDeviceManufacturersRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IListDeviceManufacturersRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a ListDeviceManufacturersRequest message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns ListDeviceManufacturersRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.ListDeviceManufacturersRequest;

                    /**
                     * Decodes a ListDeviceManufacturersRequest message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns ListDeviceManufacturersRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.ListDeviceManufacturersRequest;

                    /**
                     * Verifies a ListDeviceManufacturersRequest message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a ListDeviceManufacturersRequest message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns ListDeviceManufacturersRequest
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.ListDeviceManufacturersRequest;

                    /**
                     * Creates a plain object from a ListDeviceManufacturersRequest message. Also converts values to other types if specified.
                     * @param message ListDeviceManufacturersRequest
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.ListDeviceManufacturersRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this ListDeviceManufacturersRequest to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for ListDeviceManufacturersRequest
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a ListDeviceManufacturersResponse. */
                interface IListDeviceManufacturersResponse {

                    /** ListDeviceManufacturersResponse deviceManufacturers */
                    deviceManufacturers?: (google.ads.admanager.v1.IDeviceManufacturer[]|null);

                    /** ListDeviceManufacturersResponse nextPageToken */
                    nextPageToken?: (string|null);

                    /** ListDeviceManufacturersResponse totalSize */
                    totalSize?: (number|null);
                }

                /** Represents a ListDeviceManufacturersResponse. */
                class ListDeviceManufacturersResponse implements IListDeviceManufacturersResponse {

                    /**
                     * Constructs a new ListDeviceManufacturersResponse.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IListDeviceManufacturersResponse);

                    /** ListDeviceManufacturersResponse deviceManufacturers. */
                    public deviceManufacturers: google.ads.admanager.v1.IDeviceManufacturer[];

                    /** ListDeviceManufacturersResponse nextPageToken. */
                    public nextPageToken: string;

                    /** ListDeviceManufacturersResponse totalSize. */
                    public totalSize: number;

                    /**
                     * Creates a new ListDeviceManufacturersResponse instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns ListDeviceManufacturersResponse instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IListDeviceManufacturersResponse): google.ads.admanager.v1.ListDeviceManufacturersResponse;

                    /**
                     * Encodes the specified ListDeviceManufacturersResponse message. Does not implicitly {@link google.ads.admanager.v1.ListDeviceManufacturersResponse.verify|verify} messages.
                     * @param message ListDeviceManufacturersResponse message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IListDeviceManufacturersResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified ListDeviceManufacturersResponse message, length delimited. Does not implicitly {@link google.ads.admanager.v1.ListDeviceManufacturersResponse.verify|verify} messages.
                     * @param message ListDeviceManufacturersResponse message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IListDeviceManufacturersResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a ListDeviceManufacturersResponse message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns ListDeviceManufacturersResponse
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.ListDeviceManufacturersResponse;

                    /**
                     * Decodes a ListDeviceManufacturersResponse message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns ListDeviceManufacturersResponse
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.ListDeviceManufacturersResponse;

                    /**
                     * Verifies a ListDeviceManufacturersResponse message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a ListDeviceManufacturersResponse message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns ListDeviceManufacturersResponse
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.ListDeviceManufacturersResponse;

                    /**
                     * Creates a plain object from a ListDeviceManufacturersResponse message. Also converts values to other types if specified.
                     * @param message ListDeviceManufacturersResponse
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.ListDeviceManufacturersResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this ListDeviceManufacturersResponse to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for ListDeviceManufacturersResponse
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of an EntitySignalsMapping. */
                interface IEntitySignalsMapping {

                    /** EntitySignalsMapping audienceSegmentId */
                    audienceSegmentId?: (number|Long|string|null);

                    /** EntitySignalsMapping contentBundleId */
                    contentBundleId?: (number|Long|string|null);

                    /** EntitySignalsMapping customTargetingValueId */
                    customTargetingValueId?: (number|Long|string|null);

                    /** EntitySignalsMapping name */
                    name?: (string|null);

                    /** EntitySignalsMapping entitySignalsMappingId */
                    entitySignalsMappingId?: (number|Long|string|null);

                    /** EntitySignalsMapping taxonomyCategoryIds */
                    taxonomyCategoryIds?: ((number|Long|string)[]|null);
                }

                /** Represents an EntitySignalsMapping. */
                class EntitySignalsMapping implements IEntitySignalsMapping {

                    /**
                     * Constructs a new EntitySignalsMapping.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IEntitySignalsMapping);

                    /** EntitySignalsMapping audienceSegmentId. */
                    public audienceSegmentId?: (number|Long|string|null);

                    /** EntitySignalsMapping contentBundleId. */
                    public contentBundleId?: (number|Long|string|null);

                    /** EntitySignalsMapping customTargetingValueId. */
                    public customTargetingValueId?: (number|Long|string|null);

                    /** EntitySignalsMapping name. */
                    public name: string;

                    /** EntitySignalsMapping entitySignalsMappingId. */
                    public entitySignalsMappingId?: (number|Long|string|null);

                    /** EntitySignalsMapping taxonomyCategoryIds. */
                    public taxonomyCategoryIds: (number|Long|string)[];

                    /** EntitySignalsMapping entity. */
                    public entity?: ("audienceSegmentId"|"contentBundleId"|"customTargetingValueId");

                    /**
                     * Creates a new EntitySignalsMapping instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns EntitySignalsMapping instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IEntitySignalsMapping): google.ads.admanager.v1.EntitySignalsMapping;

                    /**
                     * Encodes the specified EntitySignalsMapping message. Does not implicitly {@link google.ads.admanager.v1.EntitySignalsMapping.verify|verify} messages.
                     * @param message EntitySignalsMapping message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IEntitySignalsMapping, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified EntitySignalsMapping message, length delimited. Does not implicitly {@link google.ads.admanager.v1.EntitySignalsMapping.verify|verify} messages.
                     * @param message EntitySignalsMapping message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IEntitySignalsMapping, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes an EntitySignalsMapping message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns EntitySignalsMapping
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.EntitySignalsMapping;

                    /**
                     * Decodes an EntitySignalsMapping message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns EntitySignalsMapping
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.EntitySignalsMapping;

                    /**
                     * Verifies an EntitySignalsMapping message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates an EntitySignalsMapping message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns EntitySignalsMapping
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.EntitySignalsMapping;

                    /**
                     * Creates a plain object from an EntitySignalsMapping message. Also converts values to other types if specified.
                     * @param message EntitySignalsMapping
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.EntitySignalsMapping, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this EntitySignalsMapping to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for EntitySignalsMapping
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Represents an EntitySignalsMappingService */
                class EntitySignalsMappingService extends $protobuf.rpc.Service {

                    /**
                     * Constructs a new EntitySignalsMappingService service.
                     * @param rpcImpl RPC implementation
                     * @param [requestDelimited=false] Whether requests are length-delimited
                     * @param [responseDelimited=false] Whether responses are length-delimited
                     */
                    constructor(rpcImpl: $protobuf.RPCImpl, requestDelimited?: boolean, responseDelimited?: boolean);

                    /**
                     * Creates new EntitySignalsMappingService service using the specified rpc implementation.
                     * @param rpcImpl RPC implementation
                     * @param [requestDelimited=false] Whether requests are length-delimited
                     * @param [responseDelimited=false] Whether responses are length-delimited
                     * @returns RPC service. Useful where requests and/or responses are streamed.
                     */
                    public static create(rpcImpl: $protobuf.RPCImpl, requestDelimited?: boolean, responseDelimited?: boolean): EntitySignalsMappingService;

                    /**
                     * Calls GetEntitySignalsMapping.
                     * @param request GetEntitySignalsMappingRequest message or plain object
                     * @param callback Node-style callback called with the error, if any, and EntitySignalsMapping
                     */
                    public getEntitySignalsMapping(request: google.ads.admanager.v1.IGetEntitySignalsMappingRequest, callback: google.ads.admanager.v1.EntitySignalsMappingService.GetEntitySignalsMappingCallback): void;

                    /**
                     * Calls GetEntitySignalsMapping.
                     * @param request GetEntitySignalsMappingRequest message or plain object
                     * @returns Promise
                     */
                    public getEntitySignalsMapping(request: google.ads.admanager.v1.IGetEntitySignalsMappingRequest): Promise<google.ads.admanager.v1.EntitySignalsMapping>;

                    /**
                     * Calls ListEntitySignalsMappings.
                     * @param request ListEntitySignalsMappingsRequest message or plain object
                     * @param callback Node-style callback called with the error, if any, and ListEntitySignalsMappingsResponse
                     */
                    public listEntitySignalsMappings(request: google.ads.admanager.v1.IListEntitySignalsMappingsRequest, callback: google.ads.admanager.v1.EntitySignalsMappingService.ListEntitySignalsMappingsCallback): void;

                    /**
                     * Calls ListEntitySignalsMappings.
                     * @param request ListEntitySignalsMappingsRequest message or plain object
                     * @returns Promise
                     */
                    public listEntitySignalsMappings(request: google.ads.admanager.v1.IListEntitySignalsMappingsRequest): Promise<google.ads.admanager.v1.ListEntitySignalsMappingsResponse>;

                    /**
                     * Calls CreateEntitySignalsMapping.
                     * @param request CreateEntitySignalsMappingRequest message or plain object
                     * @param callback Node-style callback called with the error, if any, and EntitySignalsMapping
                     */
                    public createEntitySignalsMapping(request: google.ads.admanager.v1.ICreateEntitySignalsMappingRequest, callback: google.ads.admanager.v1.EntitySignalsMappingService.CreateEntitySignalsMappingCallback): void;

                    /**
                     * Calls CreateEntitySignalsMapping.
                     * @param request CreateEntitySignalsMappingRequest message or plain object
                     * @returns Promise
                     */
                    public createEntitySignalsMapping(request: google.ads.admanager.v1.ICreateEntitySignalsMappingRequest): Promise<google.ads.admanager.v1.EntitySignalsMapping>;

                    /**
                     * Calls UpdateEntitySignalsMapping.
                     * @param request UpdateEntitySignalsMappingRequest message or plain object
                     * @param callback Node-style callback called with the error, if any, and EntitySignalsMapping
                     */
                    public updateEntitySignalsMapping(request: google.ads.admanager.v1.IUpdateEntitySignalsMappingRequest, callback: google.ads.admanager.v1.EntitySignalsMappingService.UpdateEntitySignalsMappingCallback): void;

                    /**
                     * Calls UpdateEntitySignalsMapping.
                     * @param request UpdateEntitySignalsMappingRequest message or plain object
                     * @returns Promise
                     */
                    public updateEntitySignalsMapping(request: google.ads.admanager.v1.IUpdateEntitySignalsMappingRequest): Promise<google.ads.admanager.v1.EntitySignalsMapping>;

                    /**
                     * Calls BatchCreateEntitySignalsMappings.
                     * @param request BatchCreateEntitySignalsMappingsRequest message or plain object
                     * @param callback Node-style callback called with the error, if any, and BatchCreateEntitySignalsMappingsResponse
                     */
                    public batchCreateEntitySignalsMappings(request: google.ads.admanager.v1.IBatchCreateEntitySignalsMappingsRequest, callback: google.ads.admanager.v1.EntitySignalsMappingService.BatchCreateEntitySignalsMappingsCallback): void;

                    /**
                     * Calls BatchCreateEntitySignalsMappings.
                     * @param request BatchCreateEntitySignalsMappingsRequest message or plain object
                     * @returns Promise
                     */
                    public batchCreateEntitySignalsMappings(request: google.ads.admanager.v1.IBatchCreateEntitySignalsMappingsRequest): Promise<google.ads.admanager.v1.BatchCreateEntitySignalsMappingsResponse>;

                    /**
                     * Calls BatchUpdateEntitySignalsMappings.
                     * @param request BatchUpdateEntitySignalsMappingsRequest message or plain object
                     * @param callback Node-style callback called with the error, if any, and BatchUpdateEntitySignalsMappingsResponse
                     */
                    public batchUpdateEntitySignalsMappings(request: google.ads.admanager.v1.IBatchUpdateEntitySignalsMappingsRequest, callback: google.ads.admanager.v1.EntitySignalsMappingService.BatchUpdateEntitySignalsMappingsCallback): void;

                    /**
                     * Calls BatchUpdateEntitySignalsMappings.
                     * @param request BatchUpdateEntitySignalsMappingsRequest message or plain object
                     * @returns Promise
                     */
                    public batchUpdateEntitySignalsMappings(request: google.ads.admanager.v1.IBatchUpdateEntitySignalsMappingsRequest): Promise<google.ads.admanager.v1.BatchUpdateEntitySignalsMappingsResponse>;
                }

                namespace EntitySignalsMappingService {

                    /**
                     * Callback as used by {@link google.ads.admanager.v1.EntitySignalsMappingService|getEntitySignalsMapping}.
                     * @param error Error, if any
                     * @param [response] EntitySignalsMapping
                     */
                    type GetEntitySignalsMappingCallback = (error: (Error|null), response?: google.ads.admanager.v1.EntitySignalsMapping) => void;

                    /**
                     * Callback as used by {@link google.ads.admanager.v1.EntitySignalsMappingService|listEntitySignalsMappings}.
                     * @param error Error, if any
                     * @param [response] ListEntitySignalsMappingsResponse
                     */
                    type ListEntitySignalsMappingsCallback = (error: (Error|null), response?: google.ads.admanager.v1.ListEntitySignalsMappingsResponse) => void;

                    /**
                     * Callback as used by {@link google.ads.admanager.v1.EntitySignalsMappingService|createEntitySignalsMapping}.
                     * @param error Error, if any
                     * @param [response] EntitySignalsMapping
                     */
                    type CreateEntitySignalsMappingCallback = (error: (Error|null), response?: google.ads.admanager.v1.EntitySignalsMapping) => void;

                    /**
                     * Callback as used by {@link google.ads.admanager.v1.EntitySignalsMappingService|updateEntitySignalsMapping}.
                     * @param error Error, if any
                     * @param [response] EntitySignalsMapping
                     */
                    type UpdateEntitySignalsMappingCallback = (error: (Error|null), response?: google.ads.admanager.v1.EntitySignalsMapping) => void;

                    /**
                     * Callback as used by {@link google.ads.admanager.v1.EntitySignalsMappingService|batchCreateEntitySignalsMappings}.
                     * @param error Error, if any
                     * @param [response] BatchCreateEntitySignalsMappingsResponse
                     */
                    type BatchCreateEntitySignalsMappingsCallback = (error: (Error|null), response?: google.ads.admanager.v1.BatchCreateEntitySignalsMappingsResponse) => void;

                    /**
                     * Callback as used by {@link google.ads.admanager.v1.EntitySignalsMappingService|batchUpdateEntitySignalsMappings}.
                     * @param error Error, if any
                     * @param [response] BatchUpdateEntitySignalsMappingsResponse
                     */
                    type BatchUpdateEntitySignalsMappingsCallback = (error: (Error|null), response?: google.ads.admanager.v1.BatchUpdateEntitySignalsMappingsResponse) => void;
                }

                /** Properties of a GetEntitySignalsMappingRequest. */
                interface IGetEntitySignalsMappingRequest {

                    /** GetEntitySignalsMappingRequest name */
                    name?: (string|null);
                }

                /** Represents a GetEntitySignalsMappingRequest. */
                class GetEntitySignalsMappingRequest implements IGetEntitySignalsMappingRequest {

                    /**
                     * Constructs a new GetEntitySignalsMappingRequest.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IGetEntitySignalsMappingRequest);

                    /** GetEntitySignalsMappingRequest name. */
                    public name: string;

                    /**
                     * Creates a new GetEntitySignalsMappingRequest instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns GetEntitySignalsMappingRequest instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IGetEntitySignalsMappingRequest): google.ads.admanager.v1.GetEntitySignalsMappingRequest;

                    /**
                     * Encodes the specified GetEntitySignalsMappingRequest message. Does not implicitly {@link google.ads.admanager.v1.GetEntitySignalsMappingRequest.verify|verify} messages.
                     * @param message GetEntitySignalsMappingRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IGetEntitySignalsMappingRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified GetEntitySignalsMappingRequest message, length delimited. Does not implicitly {@link google.ads.admanager.v1.GetEntitySignalsMappingRequest.verify|verify} messages.
                     * @param message GetEntitySignalsMappingRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IGetEntitySignalsMappingRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a GetEntitySignalsMappingRequest message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns GetEntitySignalsMappingRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.GetEntitySignalsMappingRequest;

                    /**
                     * Decodes a GetEntitySignalsMappingRequest message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns GetEntitySignalsMappingRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.GetEntitySignalsMappingRequest;

                    /**
                     * Verifies a GetEntitySignalsMappingRequest message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a GetEntitySignalsMappingRequest message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns GetEntitySignalsMappingRequest
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.GetEntitySignalsMappingRequest;

                    /**
                     * Creates a plain object from a GetEntitySignalsMappingRequest message. Also converts values to other types if specified.
                     * @param message GetEntitySignalsMappingRequest
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.GetEntitySignalsMappingRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this GetEntitySignalsMappingRequest to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for GetEntitySignalsMappingRequest
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a ListEntitySignalsMappingsRequest. */
                interface IListEntitySignalsMappingsRequest {

                    /** ListEntitySignalsMappingsRequest parent */
                    parent?: (string|null);

                    /** ListEntitySignalsMappingsRequest pageSize */
                    pageSize?: (number|null);

                    /** ListEntitySignalsMappingsRequest pageToken */
                    pageToken?: (string|null);

                    /** ListEntitySignalsMappingsRequest filter */
                    filter?: (string|null);

                    /** ListEntitySignalsMappingsRequest orderBy */
                    orderBy?: (string|null);

                    /** ListEntitySignalsMappingsRequest skip */
                    skip?: (number|null);
                }

                /** Represents a ListEntitySignalsMappingsRequest. */
                class ListEntitySignalsMappingsRequest implements IListEntitySignalsMappingsRequest {

                    /**
                     * Constructs a new ListEntitySignalsMappingsRequest.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IListEntitySignalsMappingsRequest);

                    /** ListEntitySignalsMappingsRequest parent. */
                    public parent: string;

                    /** ListEntitySignalsMappingsRequest pageSize. */
                    public pageSize: number;

                    /** ListEntitySignalsMappingsRequest pageToken. */
                    public pageToken: string;

                    /** ListEntitySignalsMappingsRequest filter. */
                    public filter: string;

                    /** ListEntitySignalsMappingsRequest orderBy. */
                    public orderBy: string;

                    /** ListEntitySignalsMappingsRequest skip. */
                    public skip: number;

                    /**
                     * Creates a new ListEntitySignalsMappingsRequest instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns ListEntitySignalsMappingsRequest instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IListEntitySignalsMappingsRequest): google.ads.admanager.v1.ListEntitySignalsMappingsRequest;

                    /**
                     * Encodes the specified ListEntitySignalsMappingsRequest message. Does not implicitly {@link google.ads.admanager.v1.ListEntitySignalsMappingsRequest.verify|verify} messages.
                     * @param message ListEntitySignalsMappingsRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IListEntitySignalsMappingsRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified ListEntitySignalsMappingsRequest message, length delimited. Does not implicitly {@link google.ads.admanager.v1.ListEntitySignalsMappingsRequest.verify|verify} messages.
                     * @param message ListEntitySignalsMappingsRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IListEntitySignalsMappingsRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a ListEntitySignalsMappingsRequest message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns ListEntitySignalsMappingsRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.ListEntitySignalsMappingsRequest;

                    /**
                     * Decodes a ListEntitySignalsMappingsRequest message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns ListEntitySignalsMappingsRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.ListEntitySignalsMappingsRequest;

                    /**
                     * Verifies a ListEntitySignalsMappingsRequest message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a ListEntitySignalsMappingsRequest message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns ListEntitySignalsMappingsRequest
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.ListEntitySignalsMappingsRequest;

                    /**
                     * Creates a plain object from a ListEntitySignalsMappingsRequest message. Also converts values to other types if specified.
                     * @param message ListEntitySignalsMappingsRequest
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.ListEntitySignalsMappingsRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this ListEntitySignalsMappingsRequest to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for ListEntitySignalsMappingsRequest
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a CreateEntitySignalsMappingRequest. */
                interface ICreateEntitySignalsMappingRequest {

                    /** CreateEntitySignalsMappingRequest parent */
                    parent?: (string|null);

                    /** CreateEntitySignalsMappingRequest entitySignalsMapping */
                    entitySignalsMapping?: (google.ads.admanager.v1.IEntitySignalsMapping|null);
                }

                /** Represents a CreateEntitySignalsMappingRequest. */
                class CreateEntitySignalsMappingRequest implements ICreateEntitySignalsMappingRequest {

                    /**
                     * Constructs a new CreateEntitySignalsMappingRequest.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.ICreateEntitySignalsMappingRequest);

                    /** CreateEntitySignalsMappingRequest parent. */
                    public parent: string;

                    /** CreateEntitySignalsMappingRequest entitySignalsMapping. */
                    public entitySignalsMapping?: (google.ads.admanager.v1.IEntitySignalsMapping|null);

                    /**
                     * Creates a new CreateEntitySignalsMappingRequest instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns CreateEntitySignalsMappingRequest instance
                     */
                    public static create(properties?: google.ads.admanager.v1.ICreateEntitySignalsMappingRequest): google.ads.admanager.v1.CreateEntitySignalsMappingRequest;

                    /**
                     * Encodes the specified CreateEntitySignalsMappingRequest message. Does not implicitly {@link google.ads.admanager.v1.CreateEntitySignalsMappingRequest.verify|verify} messages.
                     * @param message CreateEntitySignalsMappingRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.ICreateEntitySignalsMappingRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified CreateEntitySignalsMappingRequest message, length delimited. Does not implicitly {@link google.ads.admanager.v1.CreateEntitySignalsMappingRequest.verify|verify} messages.
                     * @param message CreateEntitySignalsMappingRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.ICreateEntitySignalsMappingRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a CreateEntitySignalsMappingRequest message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns CreateEntitySignalsMappingRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.CreateEntitySignalsMappingRequest;

                    /**
                     * Decodes a CreateEntitySignalsMappingRequest message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns CreateEntitySignalsMappingRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.CreateEntitySignalsMappingRequest;

                    /**
                     * Verifies a CreateEntitySignalsMappingRequest message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a CreateEntitySignalsMappingRequest message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns CreateEntitySignalsMappingRequest
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.CreateEntitySignalsMappingRequest;

                    /**
                     * Creates a plain object from a CreateEntitySignalsMappingRequest message. Also converts values to other types if specified.
                     * @param message CreateEntitySignalsMappingRequest
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.CreateEntitySignalsMappingRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this CreateEntitySignalsMappingRequest to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for CreateEntitySignalsMappingRequest
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of an UpdateEntitySignalsMappingRequest. */
                interface IUpdateEntitySignalsMappingRequest {

                    /** UpdateEntitySignalsMappingRequest entitySignalsMapping */
                    entitySignalsMapping?: (google.ads.admanager.v1.IEntitySignalsMapping|null);

                    /** UpdateEntitySignalsMappingRequest updateMask */
                    updateMask?: (google.protobuf.IFieldMask|null);
                }

                /** Represents an UpdateEntitySignalsMappingRequest. */
                class UpdateEntitySignalsMappingRequest implements IUpdateEntitySignalsMappingRequest {

                    /**
                     * Constructs a new UpdateEntitySignalsMappingRequest.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IUpdateEntitySignalsMappingRequest);

                    /** UpdateEntitySignalsMappingRequest entitySignalsMapping. */
                    public entitySignalsMapping?: (google.ads.admanager.v1.IEntitySignalsMapping|null);

                    /** UpdateEntitySignalsMappingRequest updateMask. */
                    public updateMask?: (google.protobuf.IFieldMask|null);

                    /**
                     * Creates a new UpdateEntitySignalsMappingRequest instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns UpdateEntitySignalsMappingRequest instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IUpdateEntitySignalsMappingRequest): google.ads.admanager.v1.UpdateEntitySignalsMappingRequest;

                    /**
                     * Encodes the specified UpdateEntitySignalsMappingRequest message. Does not implicitly {@link google.ads.admanager.v1.UpdateEntitySignalsMappingRequest.verify|verify} messages.
                     * @param message UpdateEntitySignalsMappingRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IUpdateEntitySignalsMappingRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified UpdateEntitySignalsMappingRequest message, length delimited. Does not implicitly {@link google.ads.admanager.v1.UpdateEntitySignalsMappingRequest.verify|verify} messages.
                     * @param message UpdateEntitySignalsMappingRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IUpdateEntitySignalsMappingRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes an UpdateEntitySignalsMappingRequest message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns UpdateEntitySignalsMappingRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.UpdateEntitySignalsMappingRequest;

                    /**
                     * Decodes an UpdateEntitySignalsMappingRequest message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns UpdateEntitySignalsMappingRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.UpdateEntitySignalsMappingRequest;

                    /**
                     * Verifies an UpdateEntitySignalsMappingRequest message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates an UpdateEntitySignalsMappingRequest message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns UpdateEntitySignalsMappingRequest
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.UpdateEntitySignalsMappingRequest;

                    /**
                     * Creates a plain object from an UpdateEntitySignalsMappingRequest message. Also converts values to other types if specified.
                     * @param message UpdateEntitySignalsMappingRequest
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.UpdateEntitySignalsMappingRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this UpdateEntitySignalsMappingRequest to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for UpdateEntitySignalsMappingRequest
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a ListEntitySignalsMappingsResponse. */
                interface IListEntitySignalsMappingsResponse {

                    /** ListEntitySignalsMappingsResponse entitySignalsMappings */
                    entitySignalsMappings?: (google.ads.admanager.v1.IEntitySignalsMapping[]|null);

                    /** ListEntitySignalsMappingsResponse nextPageToken */
                    nextPageToken?: (string|null);

                    /** ListEntitySignalsMappingsResponse totalSize */
                    totalSize?: (number|null);
                }

                /** Represents a ListEntitySignalsMappingsResponse. */
                class ListEntitySignalsMappingsResponse implements IListEntitySignalsMappingsResponse {

                    /**
                     * Constructs a new ListEntitySignalsMappingsResponse.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IListEntitySignalsMappingsResponse);

                    /** ListEntitySignalsMappingsResponse entitySignalsMappings. */
                    public entitySignalsMappings: google.ads.admanager.v1.IEntitySignalsMapping[];

                    /** ListEntitySignalsMappingsResponse nextPageToken. */
                    public nextPageToken: string;

                    /** ListEntitySignalsMappingsResponse totalSize. */
                    public totalSize: number;

                    /**
                     * Creates a new ListEntitySignalsMappingsResponse instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns ListEntitySignalsMappingsResponse instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IListEntitySignalsMappingsResponse): google.ads.admanager.v1.ListEntitySignalsMappingsResponse;

                    /**
                     * Encodes the specified ListEntitySignalsMappingsResponse message. Does not implicitly {@link google.ads.admanager.v1.ListEntitySignalsMappingsResponse.verify|verify} messages.
                     * @param message ListEntitySignalsMappingsResponse message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IListEntitySignalsMappingsResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified ListEntitySignalsMappingsResponse message, length delimited. Does not implicitly {@link google.ads.admanager.v1.ListEntitySignalsMappingsResponse.verify|verify} messages.
                     * @param message ListEntitySignalsMappingsResponse message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IListEntitySignalsMappingsResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a ListEntitySignalsMappingsResponse message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns ListEntitySignalsMappingsResponse
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.ListEntitySignalsMappingsResponse;

                    /**
                     * Decodes a ListEntitySignalsMappingsResponse message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns ListEntitySignalsMappingsResponse
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.ListEntitySignalsMappingsResponse;

                    /**
                     * Verifies a ListEntitySignalsMappingsResponse message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a ListEntitySignalsMappingsResponse message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns ListEntitySignalsMappingsResponse
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.ListEntitySignalsMappingsResponse;

                    /**
                     * Creates a plain object from a ListEntitySignalsMappingsResponse message. Also converts values to other types if specified.
                     * @param message ListEntitySignalsMappingsResponse
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.ListEntitySignalsMappingsResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this ListEntitySignalsMappingsResponse to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for ListEntitySignalsMappingsResponse
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a BatchCreateEntitySignalsMappingsRequest. */
                interface IBatchCreateEntitySignalsMappingsRequest {

                    /** BatchCreateEntitySignalsMappingsRequest parent */
                    parent?: (string|null);

                    /** BatchCreateEntitySignalsMappingsRequest requests */
                    requests?: (google.ads.admanager.v1.ICreateEntitySignalsMappingRequest[]|null);
                }

                /** Represents a BatchCreateEntitySignalsMappingsRequest. */
                class BatchCreateEntitySignalsMappingsRequest implements IBatchCreateEntitySignalsMappingsRequest {

                    /**
                     * Constructs a new BatchCreateEntitySignalsMappingsRequest.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IBatchCreateEntitySignalsMappingsRequest);

                    /** BatchCreateEntitySignalsMappingsRequest parent. */
                    public parent: string;

                    /** BatchCreateEntitySignalsMappingsRequest requests. */
                    public requests: google.ads.admanager.v1.ICreateEntitySignalsMappingRequest[];

                    /**
                     * Creates a new BatchCreateEntitySignalsMappingsRequest instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns BatchCreateEntitySignalsMappingsRequest instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IBatchCreateEntitySignalsMappingsRequest): google.ads.admanager.v1.BatchCreateEntitySignalsMappingsRequest;

                    /**
                     * Encodes the specified BatchCreateEntitySignalsMappingsRequest message. Does not implicitly {@link google.ads.admanager.v1.BatchCreateEntitySignalsMappingsRequest.verify|verify} messages.
                     * @param message BatchCreateEntitySignalsMappingsRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IBatchCreateEntitySignalsMappingsRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified BatchCreateEntitySignalsMappingsRequest message, length delimited. Does not implicitly {@link google.ads.admanager.v1.BatchCreateEntitySignalsMappingsRequest.verify|verify} messages.
                     * @param message BatchCreateEntitySignalsMappingsRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IBatchCreateEntitySignalsMappingsRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a BatchCreateEntitySignalsMappingsRequest message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns BatchCreateEntitySignalsMappingsRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.BatchCreateEntitySignalsMappingsRequest;

                    /**
                     * Decodes a BatchCreateEntitySignalsMappingsRequest message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns BatchCreateEntitySignalsMappingsRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.BatchCreateEntitySignalsMappingsRequest;

                    /**
                     * Verifies a BatchCreateEntitySignalsMappingsRequest message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a BatchCreateEntitySignalsMappingsRequest message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns BatchCreateEntitySignalsMappingsRequest
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.BatchCreateEntitySignalsMappingsRequest;

                    /**
                     * Creates a plain object from a BatchCreateEntitySignalsMappingsRequest message. Also converts values to other types if specified.
                     * @param message BatchCreateEntitySignalsMappingsRequest
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.BatchCreateEntitySignalsMappingsRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this BatchCreateEntitySignalsMappingsRequest to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for BatchCreateEntitySignalsMappingsRequest
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a BatchCreateEntitySignalsMappingsResponse. */
                interface IBatchCreateEntitySignalsMappingsResponse {

                    /** BatchCreateEntitySignalsMappingsResponse entitySignalsMappings */
                    entitySignalsMappings?: (google.ads.admanager.v1.IEntitySignalsMapping[]|null);
                }

                /** Represents a BatchCreateEntitySignalsMappingsResponse. */
                class BatchCreateEntitySignalsMappingsResponse implements IBatchCreateEntitySignalsMappingsResponse {

                    /**
                     * Constructs a new BatchCreateEntitySignalsMappingsResponse.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IBatchCreateEntitySignalsMappingsResponse);

                    /** BatchCreateEntitySignalsMappingsResponse entitySignalsMappings. */
                    public entitySignalsMappings: google.ads.admanager.v1.IEntitySignalsMapping[];

                    /**
                     * Creates a new BatchCreateEntitySignalsMappingsResponse instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns BatchCreateEntitySignalsMappingsResponse instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IBatchCreateEntitySignalsMappingsResponse): google.ads.admanager.v1.BatchCreateEntitySignalsMappingsResponse;

                    /**
                     * Encodes the specified BatchCreateEntitySignalsMappingsResponse message. Does not implicitly {@link google.ads.admanager.v1.BatchCreateEntitySignalsMappingsResponse.verify|verify} messages.
                     * @param message BatchCreateEntitySignalsMappingsResponse message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IBatchCreateEntitySignalsMappingsResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified BatchCreateEntitySignalsMappingsResponse message, length delimited. Does not implicitly {@link google.ads.admanager.v1.BatchCreateEntitySignalsMappingsResponse.verify|verify} messages.
                     * @param message BatchCreateEntitySignalsMappingsResponse message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IBatchCreateEntitySignalsMappingsResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a BatchCreateEntitySignalsMappingsResponse message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns BatchCreateEntitySignalsMappingsResponse
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.BatchCreateEntitySignalsMappingsResponse;

                    /**
                     * Decodes a BatchCreateEntitySignalsMappingsResponse message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns BatchCreateEntitySignalsMappingsResponse
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.BatchCreateEntitySignalsMappingsResponse;

                    /**
                     * Verifies a BatchCreateEntitySignalsMappingsResponse message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a BatchCreateEntitySignalsMappingsResponse message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns BatchCreateEntitySignalsMappingsResponse
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.BatchCreateEntitySignalsMappingsResponse;

                    /**
                     * Creates a plain object from a BatchCreateEntitySignalsMappingsResponse message. Also converts values to other types if specified.
                     * @param message BatchCreateEntitySignalsMappingsResponse
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.BatchCreateEntitySignalsMappingsResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this BatchCreateEntitySignalsMappingsResponse to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for BatchCreateEntitySignalsMappingsResponse
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a BatchUpdateEntitySignalsMappingsRequest. */
                interface IBatchUpdateEntitySignalsMappingsRequest {

                    /** BatchUpdateEntitySignalsMappingsRequest parent */
                    parent?: (string|null);

                    /** BatchUpdateEntitySignalsMappingsRequest requests */
                    requests?: (google.ads.admanager.v1.IUpdateEntitySignalsMappingRequest[]|null);
                }

                /** Represents a BatchUpdateEntitySignalsMappingsRequest. */
                class BatchUpdateEntitySignalsMappingsRequest implements IBatchUpdateEntitySignalsMappingsRequest {

                    /**
                     * Constructs a new BatchUpdateEntitySignalsMappingsRequest.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IBatchUpdateEntitySignalsMappingsRequest);

                    /** BatchUpdateEntitySignalsMappingsRequest parent. */
                    public parent: string;

                    /** BatchUpdateEntitySignalsMappingsRequest requests. */
                    public requests: google.ads.admanager.v1.IUpdateEntitySignalsMappingRequest[];

                    /**
                     * Creates a new BatchUpdateEntitySignalsMappingsRequest instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns BatchUpdateEntitySignalsMappingsRequest instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IBatchUpdateEntitySignalsMappingsRequest): google.ads.admanager.v1.BatchUpdateEntitySignalsMappingsRequest;

                    /**
                     * Encodes the specified BatchUpdateEntitySignalsMappingsRequest message. Does not implicitly {@link google.ads.admanager.v1.BatchUpdateEntitySignalsMappingsRequest.verify|verify} messages.
                     * @param message BatchUpdateEntitySignalsMappingsRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IBatchUpdateEntitySignalsMappingsRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified BatchUpdateEntitySignalsMappingsRequest message, length delimited. Does not implicitly {@link google.ads.admanager.v1.BatchUpdateEntitySignalsMappingsRequest.verify|verify} messages.
                     * @param message BatchUpdateEntitySignalsMappingsRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IBatchUpdateEntitySignalsMappingsRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a BatchUpdateEntitySignalsMappingsRequest message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns BatchUpdateEntitySignalsMappingsRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.BatchUpdateEntitySignalsMappingsRequest;

                    /**
                     * Decodes a BatchUpdateEntitySignalsMappingsRequest message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns BatchUpdateEntitySignalsMappingsRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.BatchUpdateEntitySignalsMappingsRequest;

                    /**
                     * Verifies a BatchUpdateEntitySignalsMappingsRequest message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a BatchUpdateEntitySignalsMappingsRequest message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns BatchUpdateEntitySignalsMappingsRequest
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.BatchUpdateEntitySignalsMappingsRequest;

                    /**
                     * Creates a plain object from a BatchUpdateEntitySignalsMappingsRequest message. Also converts values to other types if specified.
                     * @param message BatchUpdateEntitySignalsMappingsRequest
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.BatchUpdateEntitySignalsMappingsRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this BatchUpdateEntitySignalsMappingsRequest to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for BatchUpdateEntitySignalsMappingsRequest
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a BatchUpdateEntitySignalsMappingsResponse. */
                interface IBatchUpdateEntitySignalsMappingsResponse {

                    /** BatchUpdateEntitySignalsMappingsResponse entitySignalsMappings */
                    entitySignalsMappings?: (google.ads.admanager.v1.IEntitySignalsMapping[]|null);
                }

                /** Represents a BatchUpdateEntitySignalsMappingsResponse. */
                class BatchUpdateEntitySignalsMappingsResponse implements IBatchUpdateEntitySignalsMappingsResponse {

                    /**
                     * Constructs a new BatchUpdateEntitySignalsMappingsResponse.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IBatchUpdateEntitySignalsMappingsResponse);

                    /** BatchUpdateEntitySignalsMappingsResponse entitySignalsMappings. */
                    public entitySignalsMappings: google.ads.admanager.v1.IEntitySignalsMapping[];

                    /**
                     * Creates a new BatchUpdateEntitySignalsMappingsResponse instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns BatchUpdateEntitySignalsMappingsResponse instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IBatchUpdateEntitySignalsMappingsResponse): google.ads.admanager.v1.BatchUpdateEntitySignalsMappingsResponse;

                    /**
                     * Encodes the specified BatchUpdateEntitySignalsMappingsResponse message. Does not implicitly {@link google.ads.admanager.v1.BatchUpdateEntitySignalsMappingsResponse.verify|verify} messages.
                     * @param message BatchUpdateEntitySignalsMappingsResponse message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IBatchUpdateEntitySignalsMappingsResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified BatchUpdateEntitySignalsMappingsResponse message, length delimited. Does not implicitly {@link google.ads.admanager.v1.BatchUpdateEntitySignalsMappingsResponse.verify|verify} messages.
                     * @param message BatchUpdateEntitySignalsMappingsResponse message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IBatchUpdateEntitySignalsMappingsResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a BatchUpdateEntitySignalsMappingsResponse message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns BatchUpdateEntitySignalsMappingsResponse
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.BatchUpdateEntitySignalsMappingsResponse;

                    /**
                     * Decodes a BatchUpdateEntitySignalsMappingsResponse message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns BatchUpdateEntitySignalsMappingsResponse
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.BatchUpdateEntitySignalsMappingsResponse;

                    /**
                     * Verifies a BatchUpdateEntitySignalsMappingsResponse message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a BatchUpdateEntitySignalsMappingsResponse message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns BatchUpdateEntitySignalsMappingsResponse
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.BatchUpdateEntitySignalsMappingsResponse;

                    /**
                     * Creates a plain object from a BatchUpdateEntitySignalsMappingsResponse message. Also converts values to other types if specified.
                     * @param message BatchUpdateEntitySignalsMappingsResponse
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.BatchUpdateEntitySignalsMappingsResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this BatchUpdateEntitySignalsMappingsResponse to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for BatchUpdateEntitySignalsMappingsResponse
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a GeoTarget. */
                interface IGeoTarget {

                    /** GeoTarget name */
                    name?: (string|null);

                    /** GeoTarget displayName */
                    displayName?: (string|null);

                    /** GeoTarget canonicalParent */
                    canonicalParent?: (string|null);

                    /** GeoTarget parentNames */
                    parentNames?: (string[]|null);

                    /** GeoTarget regionCode */
                    regionCode?: (string|null);

                    /** GeoTarget type */
                    type?: (string|null);

                    /** GeoTarget targetable */
                    targetable?: (boolean|null);
                }

                /** Represents a GeoTarget. */
                class GeoTarget implements IGeoTarget {

                    /**
                     * Constructs a new GeoTarget.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IGeoTarget);

                    /** GeoTarget name. */
                    public name: string;

                    /** GeoTarget displayName. */
                    public displayName?: (string|null);

                    /** GeoTarget canonicalParent. */
                    public canonicalParent?: (string|null);

                    /** GeoTarget parentNames. */
                    public parentNames: string[];

                    /** GeoTarget regionCode. */
                    public regionCode?: (string|null);

                    /** GeoTarget type. */
                    public type?: (string|null);

                    /** GeoTarget targetable. */
                    public targetable?: (boolean|null);

                    /**
                     * Creates a new GeoTarget instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns GeoTarget instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IGeoTarget): google.ads.admanager.v1.GeoTarget;

                    /**
                     * Encodes the specified GeoTarget message. Does not implicitly {@link google.ads.admanager.v1.GeoTarget.verify|verify} messages.
                     * @param message GeoTarget message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IGeoTarget, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified GeoTarget message, length delimited. Does not implicitly {@link google.ads.admanager.v1.GeoTarget.verify|verify} messages.
                     * @param message GeoTarget message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IGeoTarget, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a GeoTarget message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns GeoTarget
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.GeoTarget;

                    /**
                     * Decodes a GeoTarget message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns GeoTarget
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.GeoTarget;

                    /**
                     * Verifies a GeoTarget message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a GeoTarget message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns GeoTarget
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.GeoTarget;

                    /**
                     * Creates a plain object from a GeoTarget message. Also converts values to other types if specified.
                     * @param message GeoTarget
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.GeoTarget, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this GeoTarget to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for GeoTarget
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Represents a GeoTargetService */
                class GeoTargetService extends $protobuf.rpc.Service {

                    /**
                     * Constructs a new GeoTargetService service.
                     * @param rpcImpl RPC implementation
                     * @param [requestDelimited=false] Whether requests are length-delimited
                     * @param [responseDelimited=false] Whether responses are length-delimited
                     */
                    constructor(rpcImpl: $protobuf.RPCImpl, requestDelimited?: boolean, responseDelimited?: boolean);

                    /**
                     * Creates new GeoTargetService service using the specified rpc implementation.
                     * @param rpcImpl RPC implementation
                     * @param [requestDelimited=false] Whether requests are length-delimited
                     * @param [responseDelimited=false] Whether responses are length-delimited
                     * @returns RPC service. Useful where requests and/or responses are streamed.
                     */
                    public static create(rpcImpl: $protobuf.RPCImpl, requestDelimited?: boolean, responseDelimited?: boolean): GeoTargetService;

                    /**
                     * Calls GetGeoTarget.
                     * @param request GetGeoTargetRequest message or plain object
                     * @param callback Node-style callback called with the error, if any, and GeoTarget
                     */
                    public getGeoTarget(request: google.ads.admanager.v1.IGetGeoTargetRequest, callback: google.ads.admanager.v1.GeoTargetService.GetGeoTargetCallback): void;

                    /**
                     * Calls GetGeoTarget.
                     * @param request GetGeoTargetRequest message or plain object
                     * @returns Promise
                     */
                    public getGeoTarget(request: google.ads.admanager.v1.IGetGeoTargetRequest): Promise<google.ads.admanager.v1.GeoTarget>;

                    /**
                     * Calls ListGeoTargets.
                     * @param request ListGeoTargetsRequest message or plain object
                     * @param callback Node-style callback called with the error, if any, and ListGeoTargetsResponse
                     */
                    public listGeoTargets(request: google.ads.admanager.v1.IListGeoTargetsRequest, callback: google.ads.admanager.v1.GeoTargetService.ListGeoTargetsCallback): void;

                    /**
                     * Calls ListGeoTargets.
                     * @param request ListGeoTargetsRequest message or plain object
                     * @returns Promise
                     */
                    public listGeoTargets(request: google.ads.admanager.v1.IListGeoTargetsRequest): Promise<google.ads.admanager.v1.ListGeoTargetsResponse>;
                }

                namespace GeoTargetService {

                    /**
                     * Callback as used by {@link google.ads.admanager.v1.GeoTargetService|getGeoTarget}.
                     * @param error Error, if any
                     * @param [response] GeoTarget
                     */
                    type GetGeoTargetCallback = (error: (Error|null), response?: google.ads.admanager.v1.GeoTarget) => void;

                    /**
                     * Callback as used by {@link google.ads.admanager.v1.GeoTargetService|listGeoTargets}.
                     * @param error Error, if any
                     * @param [response] ListGeoTargetsResponse
                     */
                    type ListGeoTargetsCallback = (error: (Error|null), response?: google.ads.admanager.v1.ListGeoTargetsResponse) => void;
                }

                /** Properties of a GetGeoTargetRequest. */
                interface IGetGeoTargetRequest {

                    /** GetGeoTargetRequest name */
                    name?: (string|null);
                }

                /** Represents a GetGeoTargetRequest. */
                class GetGeoTargetRequest implements IGetGeoTargetRequest {

                    /**
                     * Constructs a new GetGeoTargetRequest.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IGetGeoTargetRequest);

                    /** GetGeoTargetRequest name. */
                    public name: string;

                    /**
                     * Creates a new GetGeoTargetRequest instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns GetGeoTargetRequest instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IGetGeoTargetRequest): google.ads.admanager.v1.GetGeoTargetRequest;

                    /**
                     * Encodes the specified GetGeoTargetRequest message. Does not implicitly {@link google.ads.admanager.v1.GetGeoTargetRequest.verify|verify} messages.
                     * @param message GetGeoTargetRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IGetGeoTargetRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified GetGeoTargetRequest message, length delimited. Does not implicitly {@link google.ads.admanager.v1.GetGeoTargetRequest.verify|verify} messages.
                     * @param message GetGeoTargetRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IGetGeoTargetRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a GetGeoTargetRequest message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns GetGeoTargetRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.GetGeoTargetRequest;

                    /**
                     * Decodes a GetGeoTargetRequest message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns GetGeoTargetRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.GetGeoTargetRequest;

                    /**
                     * Verifies a GetGeoTargetRequest message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a GetGeoTargetRequest message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns GetGeoTargetRequest
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.GetGeoTargetRequest;

                    /**
                     * Creates a plain object from a GetGeoTargetRequest message. Also converts values to other types if specified.
                     * @param message GetGeoTargetRequest
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.GetGeoTargetRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this GetGeoTargetRequest to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for GetGeoTargetRequest
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a ListGeoTargetsRequest. */
                interface IListGeoTargetsRequest {

                    /** ListGeoTargetsRequest parent */
                    parent?: (string|null);

                    /** ListGeoTargetsRequest pageSize */
                    pageSize?: (number|null);

                    /** ListGeoTargetsRequest pageToken */
                    pageToken?: (string|null);

                    /** ListGeoTargetsRequest filter */
                    filter?: (string|null);

                    /** ListGeoTargetsRequest orderBy */
                    orderBy?: (string|null);

                    /** ListGeoTargetsRequest skip */
                    skip?: (number|null);
                }

                /** Represents a ListGeoTargetsRequest. */
                class ListGeoTargetsRequest implements IListGeoTargetsRequest {

                    /**
                     * Constructs a new ListGeoTargetsRequest.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IListGeoTargetsRequest);

                    /** ListGeoTargetsRequest parent. */
                    public parent: string;

                    /** ListGeoTargetsRequest pageSize. */
                    public pageSize: number;

                    /** ListGeoTargetsRequest pageToken. */
                    public pageToken: string;

                    /** ListGeoTargetsRequest filter. */
                    public filter: string;

                    /** ListGeoTargetsRequest orderBy. */
                    public orderBy: string;

                    /** ListGeoTargetsRequest skip. */
                    public skip: number;

                    /**
                     * Creates a new ListGeoTargetsRequest instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns ListGeoTargetsRequest instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IListGeoTargetsRequest): google.ads.admanager.v1.ListGeoTargetsRequest;

                    /**
                     * Encodes the specified ListGeoTargetsRequest message. Does not implicitly {@link google.ads.admanager.v1.ListGeoTargetsRequest.verify|verify} messages.
                     * @param message ListGeoTargetsRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IListGeoTargetsRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified ListGeoTargetsRequest message, length delimited. Does not implicitly {@link google.ads.admanager.v1.ListGeoTargetsRequest.verify|verify} messages.
                     * @param message ListGeoTargetsRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IListGeoTargetsRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a ListGeoTargetsRequest message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns ListGeoTargetsRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.ListGeoTargetsRequest;

                    /**
                     * Decodes a ListGeoTargetsRequest message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns ListGeoTargetsRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.ListGeoTargetsRequest;

                    /**
                     * Verifies a ListGeoTargetsRequest message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a ListGeoTargetsRequest message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns ListGeoTargetsRequest
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.ListGeoTargetsRequest;

                    /**
                     * Creates a plain object from a ListGeoTargetsRequest message. Also converts values to other types if specified.
                     * @param message ListGeoTargetsRequest
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.ListGeoTargetsRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this ListGeoTargetsRequest to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for ListGeoTargetsRequest
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a ListGeoTargetsResponse. */
                interface IListGeoTargetsResponse {

                    /** ListGeoTargetsResponse geoTargets */
                    geoTargets?: (google.ads.admanager.v1.IGeoTarget[]|null);

                    /** ListGeoTargetsResponse nextPageToken */
                    nextPageToken?: (string|null);

                    /** ListGeoTargetsResponse totalSize */
                    totalSize?: (number|null);
                }

                /** Represents a ListGeoTargetsResponse. */
                class ListGeoTargetsResponse implements IListGeoTargetsResponse {

                    /**
                     * Constructs a new ListGeoTargetsResponse.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IListGeoTargetsResponse);

                    /** ListGeoTargetsResponse geoTargets. */
                    public geoTargets: google.ads.admanager.v1.IGeoTarget[];

                    /** ListGeoTargetsResponse nextPageToken. */
                    public nextPageToken: string;

                    /** ListGeoTargetsResponse totalSize. */
                    public totalSize: number;

                    /**
                     * Creates a new ListGeoTargetsResponse instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns ListGeoTargetsResponse instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IListGeoTargetsResponse): google.ads.admanager.v1.ListGeoTargetsResponse;

                    /**
                     * Encodes the specified ListGeoTargetsResponse message. Does not implicitly {@link google.ads.admanager.v1.ListGeoTargetsResponse.verify|verify} messages.
                     * @param message ListGeoTargetsResponse message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IListGeoTargetsResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified ListGeoTargetsResponse message, length delimited. Does not implicitly {@link google.ads.admanager.v1.ListGeoTargetsResponse.verify|verify} messages.
                     * @param message ListGeoTargetsResponse message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IListGeoTargetsResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a ListGeoTargetsResponse message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns ListGeoTargetsResponse
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.ListGeoTargetsResponse;

                    /**
                     * Decodes a ListGeoTargetsResponse message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns ListGeoTargetsResponse
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.ListGeoTargetsResponse;

                    /**
                     * Verifies a ListGeoTargetsResponse message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a ListGeoTargetsResponse message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns ListGeoTargetsResponse
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.ListGeoTargetsResponse;

                    /**
                     * Creates a plain object from a ListGeoTargetsResponse message. Also converts values to other types if specified.
                     * @param message ListGeoTargetsResponse
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.ListGeoTargetsResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this ListGeoTargetsResponse to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for ListGeoTargetsResponse
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a Goal. */
                interface IGoal {

                    /** Goal goalType */
                    goalType?: (google.ads.admanager.v1.GoalTypeEnum.GoalType|keyof typeof google.ads.admanager.v1.GoalTypeEnum.GoalType|null);

                    /** Goal unitType */
                    unitType?: (google.ads.admanager.v1.UnitTypeEnum.UnitType|keyof typeof google.ads.admanager.v1.UnitTypeEnum.UnitType|null);

                    /** Goal units */
                    units?: (number|Long|string|null);
                }

                /** Represents a Goal. */
                class Goal implements IGoal {

                    /**
                     * Constructs a new Goal.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IGoal);

                    /** Goal goalType. */
                    public goalType?: (google.ads.admanager.v1.GoalTypeEnum.GoalType|keyof typeof google.ads.admanager.v1.GoalTypeEnum.GoalType|null);

                    /** Goal unitType. */
                    public unitType?: (google.ads.admanager.v1.UnitTypeEnum.UnitType|keyof typeof google.ads.admanager.v1.UnitTypeEnum.UnitType|null);

                    /** Goal units. */
                    public units?: (number|Long|string|null);

                    /**
                     * Creates a new Goal instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns Goal instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IGoal): google.ads.admanager.v1.Goal;

                    /**
                     * Encodes the specified Goal message. Does not implicitly {@link google.ads.admanager.v1.Goal.verify|verify} messages.
                     * @param message Goal message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IGoal, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified Goal message, length delimited. Does not implicitly {@link google.ads.admanager.v1.Goal.verify|verify} messages.
                     * @param message Goal message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IGoal, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a Goal message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns Goal
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.Goal;

                    /**
                     * Decodes a Goal message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns Goal
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.Goal;

                    /**
                     * Verifies a Goal message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a Goal message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns Goal
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.Goal;

                    /**
                     * Creates a plain object from a Goal message. Also converts values to other types if specified.
                     * @param message Goal
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.Goal, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this Goal to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for Goal
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a GoalTypeEnum. */
                interface IGoalTypeEnum {
                }

                /** Represents a GoalTypeEnum. */
                class GoalTypeEnum implements IGoalTypeEnum {

                    /**
                     * Constructs a new GoalTypeEnum.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IGoalTypeEnum);

                    /**
                     * Creates a new GoalTypeEnum instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns GoalTypeEnum instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IGoalTypeEnum): google.ads.admanager.v1.GoalTypeEnum;

                    /**
                     * Encodes the specified GoalTypeEnum message. Does not implicitly {@link google.ads.admanager.v1.GoalTypeEnum.verify|verify} messages.
                     * @param message GoalTypeEnum message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IGoalTypeEnum, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified GoalTypeEnum message, length delimited. Does not implicitly {@link google.ads.admanager.v1.GoalTypeEnum.verify|verify} messages.
                     * @param message GoalTypeEnum message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IGoalTypeEnum, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a GoalTypeEnum message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns GoalTypeEnum
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.GoalTypeEnum;

                    /**
                     * Decodes a GoalTypeEnum message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns GoalTypeEnum
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.GoalTypeEnum;

                    /**
                     * Verifies a GoalTypeEnum message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a GoalTypeEnum message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns GoalTypeEnum
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.GoalTypeEnum;

                    /**
                     * Creates a plain object from a GoalTypeEnum message. Also converts values to other types if specified.
                     * @param message GoalTypeEnum
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.GoalTypeEnum, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this GoalTypeEnum to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for GoalTypeEnum
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                namespace GoalTypeEnum {

                    /** GoalType enum. */
                    enum GoalType {
                        GOAL_TYPE_UNSPECIFIED = 0,
                        NONE = 1,
                        LIFETIME = 2,
                        DAILY = 3
                    }
                }

                /** Properties of an UnitTypeEnum. */
                interface IUnitTypeEnum {
                }

                /** Represents an UnitTypeEnum. */
                class UnitTypeEnum implements IUnitTypeEnum {

                    /**
                     * Constructs a new UnitTypeEnum.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IUnitTypeEnum);

                    /**
                     * Creates a new UnitTypeEnum instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns UnitTypeEnum instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IUnitTypeEnum): google.ads.admanager.v1.UnitTypeEnum;

                    /**
                     * Encodes the specified UnitTypeEnum message. Does not implicitly {@link google.ads.admanager.v1.UnitTypeEnum.verify|verify} messages.
                     * @param message UnitTypeEnum message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IUnitTypeEnum, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified UnitTypeEnum message, length delimited. Does not implicitly {@link google.ads.admanager.v1.UnitTypeEnum.verify|verify} messages.
                     * @param message UnitTypeEnum message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IUnitTypeEnum, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes an UnitTypeEnum message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns UnitTypeEnum
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.UnitTypeEnum;

                    /**
                     * Decodes an UnitTypeEnum message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns UnitTypeEnum
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.UnitTypeEnum;

                    /**
                     * Verifies an UnitTypeEnum message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates an UnitTypeEnum message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns UnitTypeEnum
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.UnitTypeEnum;

                    /**
                     * Creates a plain object from an UnitTypeEnum message. Also converts values to other types if specified.
                     * @param message UnitTypeEnum
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.UnitTypeEnum, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this UnitTypeEnum to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for UnitTypeEnum
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                namespace UnitTypeEnum {

                    /** UnitType enum. */
                    enum UnitType {
                        UNIT_TYPE_UNSPECIFIED = 0,
                        IMPRESSIONS = 1,
                        CLICKS = 2,
                        CLICK_THROUGH_CPA_CONVERSIONS = 3,
                        VIEW_THROUGH_CPA_CONVERSIONS = 4,
                        TOTAL_CPA_CONVERSIONS = 5,
                        VIEWABLE_IMPRESSIONS = 6,
                        IN_TARGET_IMPRESSIONS = 7
                    }
                }

                /** Properties of a Label. */
                interface ILabel {

                    /** Label name */
                    name?: (string|null);
                }

                /** Represents a Label. */
                class Label implements ILabel {

                    /**
                     * Constructs a new Label.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.ILabel);

                    /** Label name. */
                    public name: string;

                    /**
                     * Creates a new Label instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns Label instance
                     */
                    public static create(properties?: google.ads.admanager.v1.ILabel): google.ads.admanager.v1.Label;

                    /**
                     * Encodes the specified Label message. Does not implicitly {@link google.ads.admanager.v1.Label.verify|verify} messages.
                     * @param message Label message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.ILabel, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified Label message, length delimited. Does not implicitly {@link google.ads.admanager.v1.Label.verify|verify} messages.
                     * @param message Label message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.ILabel, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a Label message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns Label
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.Label;

                    /**
                     * Decodes a Label message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns Label
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.Label;

                    /**
                     * Verifies a Label message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a Label message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns Label
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.Label;

                    /**
                     * Creates a plain object from a Label message. Also converts values to other types if specified.
                     * @param message Label
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.Label, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this Label to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for Label
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a LineItemTypeEnum. */
                interface ILineItemTypeEnum {
                }

                /** Represents a LineItemTypeEnum. */
                class LineItemTypeEnum implements ILineItemTypeEnum {

                    /**
                     * Constructs a new LineItemTypeEnum.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.ILineItemTypeEnum);

                    /**
                     * Creates a new LineItemTypeEnum instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns LineItemTypeEnum instance
                     */
                    public static create(properties?: google.ads.admanager.v1.ILineItemTypeEnum): google.ads.admanager.v1.LineItemTypeEnum;

                    /**
                     * Encodes the specified LineItemTypeEnum message. Does not implicitly {@link google.ads.admanager.v1.LineItemTypeEnum.verify|verify} messages.
                     * @param message LineItemTypeEnum message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.ILineItemTypeEnum, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified LineItemTypeEnum message, length delimited. Does not implicitly {@link google.ads.admanager.v1.LineItemTypeEnum.verify|verify} messages.
                     * @param message LineItemTypeEnum message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.ILineItemTypeEnum, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a LineItemTypeEnum message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns LineItemTypeEnum
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.LineItemTypeEnum;

                    /**
                     * Decodes a LineItemTypeEnum message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns LineItemTypeEnum
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.LineItemTypeEnum;

                    /**
                     * Verifies a LineItemTypeEnum message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a LineItemTypeEnum message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns LineItemTypeEnum
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.LineItemTypeEnum;

                    /**
                     * Creates a plain object from a LineItemTypeEnum message. Also converts values to other types if specified.
                     * @param message LineItemTypeEnum
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.LineItemTypeEnum, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this LineItemTypeEnum to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for LineItemTypeEnum
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                namespace LineItemTypeEnum {

                    /** LineItemType enum. */
                    enum LineItemType {
                        LINE_ITEM_TYPE_UNSPECIFIED = 0,
                        SPONSORSHIP = 12,
                        STANDARD = 13,
                        NETWORK = 9,
                        BULK = 4,
                        PRICE_PRIORITY = 11,
                        HOUSE = 7,
                        CLICK_TRACKING = 6,
                        ADSENSE = 2,
                        AD_EXCHANGE = 3,
                        BUMPER = 5,
                        PREFERRED_DEAL = 10,
                        AUDIENCE_EXTENSION = 14
                    }
                }

                /** Properties of a LineItem. */
                interface ILineItem {

                    /** LineItem name */
                    name?: (string|null);

                    /** LineItem order */
                    order?: (string|null);

                    /** LineItem displayName */
                    displayName?: (string|null);

                    /** LineItem startTime */
                    startTime?: (google.protobuf.ITimestamp|null);

                    /** LineItem endTime */
                    endTime?: (google.protobuf.ITimestamp|null);

                    /** LineItem lineItemType */
                    lineItemType?: (google.ads.admanager.v1.LineItemTypeEnum.LineItemType|keyof typeof google.ads.admanager.v1.LineItemTypeEnum.LineItemType|null);

                    /** LineItem rate */
                    rate?: (google.type.IMoney|null);

                    /** LineItem budget */
                    budget?: (google.type.IMoney|null);

                    /** LineItem customFieldValues */
                    customFieldValues?: (google.ads.admanager.v1.ICustomFieldValue[]|null);

                    /** LineItem goal */
                    goal?: (google.ads.admanager.v1.IGoal|null);
                }

                /** Represents a LineItem. */
                class LineItem implements ILineItem {

                    /**
                     * Constructs a new LineItem.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.ILineItem);

                    /** LineItem name. */
                    public name: string;

                    /** LineItem order. */
                    public order?: (string|null);

                    /** LineItem displayName. */
                    public displayName?: (string|null);

                    /** LineItem startTime. */
                    public startTime?: (google.protobuf.ITimestamp|null);

                    /** LineItem endTime. */
                    public endTime?: (google.protobuf.ITimestamp|null);

                    /** LineItem lineItemType. */
                    public lineItemType?: (google.ads.admanager.v1.LineItemTypeEnum.LineItemType|keyof typeof google.ads.admanager.v1.LineItemTypeEnum.LineItemType|null);

                    /** LineItem rate. */
                    public rate?: (google.type.IMoney|null);

                    /** LineItem budget. */
                    public budget?: (google.type.IMoney|null);

                    /** LineItem customFieldValues. */
                    public customFieldValues: google.ads.admanager.v1.ICustomFieldValue[];

                    /** LineItem goal. */
                    public goal?: (google.ads.admanager.v1.IGoal|null);

                    /**
                     * Creates a new LineItem instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns LineItem instance
                     */
                    public static create(properties?: google.ads.admanager.v1.ILineItem): google.ads.admanager.v1.LineItem;

                    /**
                     * Encodes the specified LineItem message. Does not implicitly {@link google.ads.admanager.v1.LineItem.verify|verify} messages.
                     * @param message LineItem message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.ILineItem, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified LineItem message, length delimited. Does not implicitly {@link google.ads.admanager.v1.LineItem.verify|verify} messages.
                     * @param message LineItem message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.ILineItem, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a LineItem message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns LineItem
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.LineItem;

                    /**
                     * Decodes a LineItem message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns LineItem
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.LineItem;

                    /**
                     * Verifies a LineItem message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a LineItem message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns LineItem
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.LineItem;

                    /**
                     * Creates a plain object from a LineItem message. Also converts values to other types if specified.
                     * @param message LineItem
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.LineItem, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this LineItem to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for LineItem
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Represents a LineItemService */
                class LineItemService extends $protobuf.rpc.Service {

                    /**
                     * Constructs a new LineItemService service.
                     * @param rpcImpl RPC implementation
                     * @param [requestDelimited=false] Whether requests are length-delimited
                     * @param [responseDelimited=false] Whether responses are length-delimited
                     */
                    constructor(rpcImpl: $protobuf.RPCImpl, requestDelimited?: boolean, responseDelimited?: boolean);

                    /**
                     * Creates new LineItemService service using the specified rpc implementation.
                     * @param rpcImpl RPC implementation
                     * @param [requestDelimited=false] Whether requests are length-delimited
                     * @param [responseDelimited=false] Whether responses are length-delimited
                     * @returns RPC service. Useful where requests and/or responses are streamed.
                     */
                    public static create(rpcImpl: $protobuf.RPCImpl, requestDelimited?: boolean, responseDelimited?: boolean): LineItemService;

                    /**
                     * Calls GetLineItem.
                     * @param request GetLineItemRequest message or plain object
                     * @param callback Node-style callback called with the error, if any, and LineItem
                     */
                    public getLineItem(request: google.ads.admanager.v1.IGetLineItemRequest, callback: google.ads.admanager.v1.LineItemService.GetLineItemCallback): void;

                    /**
                     * Calls GetLineItem.
                     * @param request GetLineItemRequest message or plain object
                     * @returns Promise
                     */
                    public getLineItem(request: google.ads.admanager.v1.IGetLineItemRequest): Promise<google.ads.admanager.v1.LineItem>;

                    /**
                     * Calls ListLineItems.
                     * @param request ListLineItemsRequest message or plain object
                     * @param callback Node-style callback called with the error, if any, and ListLineItemsResponse
                     */
                    public listLineItems(request: google.ads.admanager.v1.IListLineItemsRequest, callback: google.ads.admanager.v1.LineItemService.ListLineItemsCallback): void;

                    /**
                     * Calls ListLineItems.
                     * @param request ListLineItemsRequest message or plain object
                     * @returns Promise
                     */
                    public listLineItems(request: google.ads.admanager.v1.IListLineItemsRequest): Promise<google.ads.admanager.v1.ListLineItemsResponse>;
                }

                namespace LineItemService {

                    /**
                     * Callback as used by {@link google.ads.admanager.v1.LineItemService|getLineItem}.
                     * @param error Error, if any
                     * @param [response] LineItem
                     */
                    type GetLineItemCallback = (error: (Error|null), response?: google.ads.admanager.v1.LineItem) => void;

                    /**
                     * Callback as used by {@link google.ads.admanager.v1.LineItemService|listLineItems}.
                     * @param error Error, if any
                     * @param [response] ListLineItemsResponse
                     */
                    type ListLineItemsCallback = (error: (Error|null), response?: google.ads.admanager.v1.ListLineItemsResponse) => void;
                }

                /** Properties of a GetLineItemRequest. */
                interface IGetLineItemRequest {

                    /** GetLineItemRequest name */
                    name?: (string|null);
                }

                /** Represents a GetLineItemRequest. */
                class GetLineItemRequest implements IGetLineItemRequest {

                    /**
                     * Constructs a new GetLineItemRequest.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IGetLineItemRequest);

                    /** GetLineItemRequest name. */
                    public name: string;

                    /**
                     * Creates a new GetLineItemRequest instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns GetLineItemRequest instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IGetLineItemRequest): google.ads.admanager.v1.GetLineItemRequest;

                    /**
                     * Encodes the specified GetLineItemRequest message. Does not implicitly {@link google.ads.admanager.v1.GetLineItemRequest.verify|verify} messages.
                     * @param message GetLineItemRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IGetLineItemRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified GetLineItemRequest message, length delimited. Does not implicitly {@link google.ads.admanager.v1.GetLineItemRequest.verify|verify} messages.
                     * @param message GetLineItemRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IGetLineItemRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a GetLineItemRequest message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns GetLineItemRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.GetLineItemRequest;

                    /**
                     * Decodes a GetLineItemRequest message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns GetLineItemRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.GetLineItemRequest;

                    /**
                     * Verifies a GetLineItemRequest message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a GetLineItemRequest message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns GetLineItemRequest
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.GetLineItemRequest;

                    /**
                     * Creates a plain object from a GetLineItemRequest message. Also converts values to other types if specified.
                     * @param message GetLineItemRequest
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.GetLineItemRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this GetLineItemRequest to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for GetLineItemRequest
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a ListLineItemsRequest. */
                interface IListLineItemsRequest {

                    /** ListLineItemsRequest parent */
                    parent?: (string|null);

                    /** ListLineItemsRequest pageSize */
                    pageSize?: (number|null);

                    /** ListLineItemsRequest pageToken */
                    pageToken?: (string|null);

                    /** ListLineItemsRequest filter */
                    filter?: (string|null);

                    /** ListLineItemsRequest orderBy */
                    orderBy?: (string|null);

                    /** ListLineItemsRequest skip */
                    skip?: (number|null);
                }

                /** Represents a ListLineItemsRequest. */
                class ListLineItemsRequest implements IListLineItemsRequest {

                    /**
                     * Constructs a new ListLineItemsRequest.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IListLineItemsRequest);

                    /** ListLineItemsRequest parent. */
                    public parent: string;

                    /** ListLineItemsRequest pageSize. */
                    public pageSize: number;

                    /** ListLineItemsRequest pageToken. */
                    public pageToken: string;

                    /** ListLineItemsRequest filter. */
                    public filter: string;

                    /** ListLineItemsRequest orderBy. */
                    public orderBy: string;

                    /** ListLineItemsRequest skip. */
                    public skip: number;

                    /**
                     * Creates a new ListLineItemsRequest instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns ListLineItemsRequest instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IListLineItemsRequest): google.ads.admanager.v1.ListLineItemsRequest;

                    /**
                     * Encodes the specified ListLineItemsRequest message. Does not implicitly {@link google.ads.admanager.v1.ListLineItemsRequest.verify|verify} messages.
                     * @param message ListLineItemsRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IListLineItemsRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified ListLineItemsRequest message, length delimited. Does not implicitly {@link google.ads.admanager.v1.ListLineItemsRequest.verify|verify} messages.
                     * @param message ListLineItemsRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IListLineItemsRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a ListLineItemsRequest message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns ListLineItemsRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.ListLineItemsRequest;

                    /**
                     * Decodes a ListLineItemsRequest message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns ListLineItemsRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.ListLineItemsRequest;

                    /**
                     * Verifies a ListLineItemsRequest message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a ListLineItemsRequest message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns ListLineItemsRequest
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.ListLineItemsRequest;

                    /**
                     * Creates a plain object from a ListLineItemsRequest message. Also converts values to other types if specified.
                     * @param message ListLineItemsRequest
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.ListLineItemsRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this ListLineItemsRequest to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for ListLineItemsRequest
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a ListLineItemsResponse. */
                interface IListLineItemsResponse {

                    /** ListLineItemsResponse lineItems */
                    lineItems?: (google.ads.admanager.v1.ILineItem[]|null);

                    /** ListLineItemsResponse nextPageToken */
                    nextPageToken?: (string|null);

                    /** ListLineItemsResponse totalSize */
                    totalSize?: (number|null);
                }

                /** Represents a ListLineItemsResponse. */
                class ListLineItemsResponse implements IListLineItemsResponse {

                    /**
                     * Constructs a new ListLineItemsResponse.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IListLineItemsResponse);

                    /** ListLineItemsResponse lineItems. */
                    public lineItems: google.ads.admanager.v1.ILineItem[];

                    /** ListLineItemsResponse nextPageToken. */
                    public nextPageToken: string;

                    /** ListLineItemsResponse totalSize. */
                    public totalSize: number;

                    /**
                     * Creates a new ListLineItemsResponse instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns ListLineItemsResponse instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IListLineItemsResponse): google.ads.admanager.v1.ListLineItemsResponse;

                    /**
                     * Encodes the specified ListLineItemsResponse message. Does not implicitly {@link google.ads.admanager.v1.ListLineItemsResponse.verify|verify} messages.
                     * @param message ListLineItemsResponse message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IListLineItemsResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified ListLineItemsResponse message, length delimited. Does not implicitly {@link google.ads.admanager.v1.ListLineItemsResponse.verify|verify} messages.
                     * @param message ListLineItemsResponse message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IListLineItemsResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a ListLineItemsResponse message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns ListLineItemsResponse
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.ListLineItemsResponse;

                    /**
                     * Decodes a ListLineItemsResponse message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns ListLineItemsResponse
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.ListLineItemsResponse;

                    /**
                     * Verifies a ListLineItemsResponse message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a ListLineItemsResponse message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns ListLineItemsResponse
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.ListLineItemsResponse;

                    /**
                     * Creates a plain object from a ListLineItemsResponse message. Also converts values to other types if specified.
                     * @param message ListLineItemsResponse
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.ListLineItemsResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this ListLineItemsResponse to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for ListLineItemsResponse
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a LiveStreamEvent. */
                interface ILiveStreamEvent {

                    /** LiveStreamEvent name */
                    name?: (string|null);
                }

                /** Represents a LiveStreamEvent. */
                class LiveStreamEvent implements ILiveStreamEvent {

                    /**
                     * Constructs a new LiveStreamEvent.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.ILiveStreamEvent);

                    /** LiveStreamEvent name. */
                    public name: string;

                    /**
                     * Creates a new LiveStreamEvent instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns LiveStreamEvent instance
                     */
                    public static create(properties?: google.ads.admanager.v1.ILiveStreamEvent): google.ads.admanager.v1.LiveStreamEvent;

                    /**
                     * Encodes the specified LiveStreamEvent message. Does not implicitly {@link google.ads.admanager.v1.LiveStreamEvent.verify|verify} messages.
                     * @param message LiveStreamEvent message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.ILiveStreamEvent, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified LiveStreamEvent message, length delimited. Does not implicitly {@link google.ads.admanager.v1.LiveStreamEvent.verify|verify} messages.
                     * @param message LiveStreamEvent message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.ILiveStreamEvent, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a LiveStreamEvent message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns LiveStreamEvent
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.LiveStreamEvent;

                    /**
                     * Decodes a LiveStreamEvent message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns LiveStreamEvent
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.LiveStreamEvent;

                    /**
                     * Verifies a LiveStreamEvent message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a LiveStreamEvent message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns LiveStreamEvent
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.LiveStreamEvent;

                    /**
                     * Creates a plain object from a LiveStreamEvent message. Also converts values to other types if specified.
                     * @param message LiveStreamEvent
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.LiveStreamEvent, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this LiveStreamEvent to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for LiveStreamEvent
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a MobileCarrier. */
                interface IMobileCarrier {

                    /** MobileCarrier name */
                    name?: (string|null);

                    /** MobileCarrier displayName */
                    displayName?: (string|null);

                    /** MobileCarrier regionCode */
                    regionCode?: (string|null);
                }

                /** Represents a MobileCarrier. */
                class MobileCarrier implements IMobileCarrier {

                    /**
                     * Constructs a new MobileCarrier.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IMobileCarrier);

                    /** MobileCarrier name. */
                    public name: string;

                    /** MobileCarrier displayName. */
                    public displayName?: (string|null);

                    /** MobileCarrier regionCode. */
                    public regionCode?: (string|null);

                    /**
                     * Creates a new MobileCarrier instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns MobileCarrier instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IMobileCarrier): google.ads.admanager.v1.MobileCarrier;

                    /**
                     * Encodes the specified MobileCarrier message. Does not implicitly {@link google.ads.admanager.v1.MobileCarrier.verify|verify} messages.
                     * @param message MobileCarrier message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IMobileCarrier, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified MobileCarrier message, length delimited. Does not implicitly {@link google.ads.admanager.v1.MobileCarrier.verify|verify} messages.
                     * @param message MobileCarrier message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IMobileCarrier, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a MobileCarrier message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns MobileCarrier
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.MobileCarrier;

                    /**
                     * Decodes a MobileCarrier message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns MobileCarrier
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.MobileCarrier;

                    /**
                     * Verifies a MobileCarrier message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a MobileCarrier message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns MobileCarrier
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.MobileCarrier;

                    /**
                     * Creates a plain object from a MobileCarrier message. Also converts values to other types if specified.
                     * @param message MobileCarrier
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.MobileCarrier, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this MobileCarrier to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for MobileCarrier
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Represents a MobileCarrierService */
                class MobileCarrierService extends $protobuf.rpc.Service {

                    /**
                     * Constructs a new MobileCarrierService service.
                     * @param rpcImpl RPC implementation
                     * @param [requestDelimited=false] Whether requests are length-delimited
                     * @param [responseDelimited=false] Whether responses are length-delimited
                     */
                    constructor(rpcImpl: $protobuf.RPCImpl, requestDelimited?: boolean, responseDelimited?: boolean);

                    /**
                     * Creates new MobileCarrierService service using the specified rpc implementation.
                     * @param rpcImpl RPC implementation
                     * @param [requestDelimited=false] Whether requests are length-delimited
                     * @param [responseDelimited=false] Whether responses are length-delimited
                     * @returns RPC service. Useful where requests and/or responses are streamed.
                     */
                    public static create(rpcImpl: $protobuf.RPCImpl, requestDelimited?: boolean, responseDelimited?: boolean): MobileCarrierService;

                    /**
                     * Calls GetMobileCarrier.
                     * @param request GetMobileCarrierRequest message or plain object
                     * @param callback Node-style callback called with the error, if any, and MobileCarrier
                     */
                    public getMobileCarrier(request: google.ads.admanager.v1.IGetMobileCarrierRequest, callback: google.ads.admanager.v1.MobileCarrierService.GetMobileCarrierCallback): void;

                    /**
                     * Calls GetMobileCarrier.
                     * @param request GetMobileCarrierRequest message or plain object
                     * @returns Promise
                     */
                    public getMobileCarrier(request: google.ads.admanager.v1.IGetMobileCarrierRequest): Promise<google.ads.admanager.v1.MobileCarrier>;

                    /**
                     * Calls ListMobileCarriers.
                     * @param request ListMobileCarriersRequest message or plain object
                     * @param callback Node-style callback called with the error, if any, and ListMobileCarriersResponse
                     */
                    public listMobileCarriers(request: google.ads.admanager.v1.IListMobileCarriersRequest, callback: google.ads.admanager.v1.MobileCarrierService.ListMobileCarriersCallback): void;

                    /**
                     * Calls ListMobileCarriers.
                     * @param request ListMobileCarriersRequest message or plain object
                     * @returns Promise
                     */
                    public listMobileCarriers(request: google.ads.admanager.v1.IListMobileCarriersRequest): Promise<google.ads.admanager.v1.ListMobileCarriersResponse>;
                }

                namespace MobileCarrierService {

                    /**
                     * Callback as used by {@link google.ads.admanager.v1.MobileCarrierService|getMobileCarrier}.
                     * @param error Error, if any
                     * @param [response] MobileCarrier
                     */
                    type GetMobileCarrierCallback = (error: (Error|null), response?: google.ads.admanager.v1.MobileCarrier) => void;

                    /**
                     * Callback as used by {@link google.ads.admanager.v1.MobileCarrierService|listMobileCarriers}.
                     * @param error Error, if any
                     * @param [response] ListMobileCarriersResponse
                     */
                    type ListMobileCarriersCallback = (error: (Error|null), response?: google.ads.admanager.v1.ListMobileCarriersResponse) => void;
                }

                /** Properties of a GetMobileCarrierRequest. */
                interface IGetMobileCarrierRequest {

                    /** GetMobileCarrierRequest name */
                    name?: (string|null);
                }

                /** Represents a GetMobileCarrierRequest. */
                class GetMobileCarrierRequest implements IGetMobileCarrierRequest {

                    /**
                     * Constructs a new GetMobileCarrierRequest.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IGetMobileCarrierRequest);

                    /** GetMobileCarrierRequest name. */
                    public name: string;

                    /**
                     * Creates a new GetMobileCarrierRequest instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns GetMobileCarrierRequest instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IGetMobileCarrierRequest): google.ads.admanager.v1.GetMobileCarrierRequest;

                    /**
                     * Encodes the specified GetMobileCarrierRequest message. Does not implicitly {@link google.ads.admanager.v1.GetMobileCarrierRequest.verify|verify} messages.
                     * @param message GetMobileCarrierRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IGetMobileCarrierRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified GetMobileCarrierRequest message, length delimited. Does not implicitly {@link google.ads.admanager.v1.GetMobileCarrierRequest.verify|verify} messages.
                     * @param message GetMobileCarrierRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IGetMobileCarrierRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a GetMobileCarrierRequest message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns GetMobileCarrierRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.GetMobileCarrierRequest;

                    /**
                     * Decodes a GetMobileCarrierRequest message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns GetMobileCarrierRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.GetMobileCarrierRequest;

                    /**
                     * Verifies a GetMobileCarrierRequest message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a GetMobileCarrierRequest message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns GetMobileCarrierRequest
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.GetMobileCarrierRequest;

                    /**
                     * Creates a plain object from a GetMobileCarrierRequest message. Also converts values to other types if specified.
                     * @param message GetMobileCarrierRequest
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.GetMobileCarrierRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this GetMobileCarrierRequest to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for GetMobileCarrierRequest
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a ListMobileCarriersRequest. */
                interface IListMobileCarriersRequest {

                    /** ListMobileCarriersRequest parent */
                    parent?: (string|null);

                    /** ListMobileCarriersRequest pageSize */
                    pageSize?: (number|null);

                    /** ListMobileCarriersRequest pageToken */
                    pageToken?: (string|null);

                    /** ListMobileCarriersRequest filter */
                    filter?: (string|null);

                    /** ListMobileCarriersRequest orderBy */
                    orderBy?: (string|null);

                    /** ListMobileCarriersRequest skip */
                    skip?: (number|null);
                }

                /** Represents a ListMobileCarriersRequest. */
                class ListMobileCarriersRequest implements IListMobileCarriersRequest {

                    /**
                     * Constructs a new ListMobileCarriersRequest.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IListMobileCarriersRequest);

                    /** ListMobileCarriersRequest parent. */
                    public parent: string;

                    /** ListMobileCarriersRequest pageSize. */
                    public pageSize: number;

                    /** ListMobileCarriersRequest pageToken. */
                    public pageToken: string;

                    /** ListMobileCarriersRequest filter. */
                    public filter: string;

                    /** ListMobileCarriersRequest orderBy. */
                    public orderBy: string;

                    /** ListMobileCarriersRequest skip. */
                    public skip: number;

                    /**
                     * Creates a new ListMobileCarriersRequest instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns ListMobileCarriersRequest instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IListMobileCarriersRequest): google.ads.admanager.v1.ListMobileCarriersRequest;

                    /**
                     * Encodes the specified ListMobileCarriersRequest message. Does not implicitly {@link google.ads.admanager.v1.ListMobileCarriersRequest.verify|verify} messages.
                     * @param message ListMobileCarriersRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IListMobileCarriersRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified ListMobileCarriersRequest message, length delimited. Does not implicitly {@link google.ads.admanager.v1.ListMobileCarriersRequest.verify|verify} messages.
                     * @param message ListMobileCarriersRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IListMobileCarriersRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a ListMobileCarriersRequest message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns ListMobileCarriersRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.ListMobileCarriersRequest;

                    /**
                     * Decodes a ListMobileCarriersRequest message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns ListMobileCarriersRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.ListMobileCarriersRequest;

                    /**
                     * Verifies a ListMobileCarriersRequest message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a ListMobileCarriersRequest message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns ListMobileCarriersRequest
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.ListMobileCarriersRequest;

                    /**
                     * Creates a plain object from a ListMobileCarriersRequest message. Also converts values to other types if specified.
                     * @param message ListMobileCarriersRequest
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.ListMobileCarriersRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this ListMobileCarriersRequest to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for ListMobileCarriersRequest
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a ListMobileCarriersResponse. */
                interface IListMobileCarriersResponse {

                    /** ListMobileCarriersResponse mobileCarriers */
                    mobileCarriers?: (google.ads.admanager.v1.IMobileCarrier[]|null);

                    /** ListMobileCarriersResponse nextPageToken */
                    nextPageToken?: (string|null);

                    /** ListMobileCarriersResponse totalSize */
                    totalSize?: (number|null);
                }

                /** Represents a ListMobileCarriersResponse. */
                class ListMobileCarriersResponse implements IListMobileCarriersResponse {

                    /**
                     * Constructs a new ListMobileCarriersResponse.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IListMobileCarriersResponse);

                    /** ListMobileCarriersResponse mobileCarriers. */
                    public mobileCarriers: google.ads.admanager.v1.IMobileCarrier[];

                    /** ListMobileCarriersResponse nextPageToken. */
                    public nextPageToken: string;

                    /** ListMobileCarriersResponse totalSize. */
                    public totalSize: number;

                    /**
                     * Creates a new ListMobileCarriersResponse instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns ListMobileCarriersResponse instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IListMobileCarriersResponse): google.ads.admanager.v1.ListMobileCarriersResponse;

                    /**
                     * Encodes the specified ListMobileCarriersResponse message. Does not implicitly {@link google.ads.admanager.v1.ListMobileCarriersResponse.verify|verify} messages.
                     * @param message ListMobileCarriersResponse message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IListMobileCarriersResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified ListMobileCarriersResponse message, length delimited. Does not implicitly {@link google.ads.admanager.v1.ListMobileCarriersResponse.verify|verify} messages.
                     * @param message ListMobileCarriersResponse message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IListMobileCarriersResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a ListMobileCarriersResponse message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns ListMobileCarriersResponse
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.ListMobileCarriersResponse;

                    /**
                     * Decodes a ListMobileCarriersResponse message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns ListMobileCarriersResponse
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.ListMobileCarriersResponse;

                    /**
                     * Verifies a ListMobileCarriersResponse message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a ListMobileCarriersResponse message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns ListMobileCarriersResponse
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.ListMobileCarriersResponse;

                    /**
                     * Creates a plain object from a ListMobileCarriersResponse message. Also converts values to other types if specified.
                     * @param message ListMobileCarriersResponse
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.ListMobileCarriersResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this ListMobileCarriersResponse to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for ListMobileCarriersResponse
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a MobileDevice. */
                interface IMobileDevice {

                    /** MobileDevice name */
                    name?: (string|null);

                    /** MobileDevice displayName */
                    displayName?: (string|null);

                    /** MobileDevice manufacturer */
                    manufacturer?: (string|null);
                }

                /** Represents a MobileDevice. */
                class MobileDevice implements IMobileDevice {

                    /**
                     * Constructs a new MobileDevice.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IMobileDevice);

                    /** MobileDevice name. */
                    public name: string;

                    /** MobileDevice displayName. */
                    public displayName?: (string|null);

                    /** MobileDevice manufacturer. */
                    public manufacturer?: (string|null);

                    /**
                     * Creates a new MobileDevice instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns MobileDevice instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IMobileDevice): google.ads.admanager.v1.MobileDevice;

                    /**
                     * Encodes the specified MobileDevice message. Does not implicitly {@link google.ads.admanager.v1.MobileDevice.verify|verify} messages.
                     * @param message MobileDevice message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IMobileDevice, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified MobileDevice message, length delimited. Does not implicitly {@link google.ads.admanager.v1.MobileDevice.verify|verify} messages.
                     * @param message MobileDevice message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IMobileDevice, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a MobileDevice message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns MobileDevice
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.MobileDevice;

                    /**
                     * Decodes a MobileDevice message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns MobileDevice
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.MobileDevice;

                    /**
                     * Verifies a MobileDevice message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a MobileDevice message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns MobileDevice
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.MobileDevice;

                    /**
                     * Creates a plain object from a MobileDevice message. Also converts values to other types if specified.
                     * @param message MobileDevice
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.MobileDevice, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this MobileDevice to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for MobileDevice
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Represents a MobileDeviceService */
                class MobileDeviceService extends $protobuf.rpc.Service {

                    /**
                     * Constructs a new MobileDeviceService service.
                     * @param rpcImpl RPC implementation
                     * @param [requestDelimited=false] Whether requests are length-delimited
                     * @param [responseDelimited=false] Whether responses are length-delimited
                     */
                    constructor(rpcImpl: $protobuf.RPCImpl, requestDelimited?: boolean, responseDelimited?: boolean);

                    /**
                     * Creates new MobileDeviceService service using the specified rpc implementation.
                     * @param rpcImpl RPC implementation
                     * @param [requestDelimited=false] Whether requests are length-delimited
                     * @param [responseDelimited=false] Whether responses are length-delimited
                     * @returns RPC service. Useful where requests and/or responses are streamed.
                     */
                    public static create(rpcImpl: $protobuf.RPCImpl, requestDelimited?: boolean, responseDelimited?: boolean): MobileDeviceService;

                    /**
                     * Calls GetMobileDevice.
                     * @param request GetMobileDeviceRequest message or plain object
                     * @param callback Node-style callback called with the error, if any, and MobileDevice
                     */
                    public getMobileDevice(request: google.ads.admanager.v1.IGetMobileDeviceRequest, callback: google.ads.admanager.v1.MobileDeviceService.GetMobileDeviceCallback): void;

                    /**
                     * Calls GetMobileDevice.
                     * @param request GetMobileDeviceRequest message or plain object
                     * @returns Promise
                     */
                    public getMobileDevice(request: google.ads.admanager.v1.IGetMobileDeviceRequest): Promise<google.ads.admanager.v1.MobileDevice>;

                    /**
                     * Calls ListMobileDevices.
                     * @param request ListMobileDevicesRequest message or plain object
                     * @param callback Node-style callback called with the error, if any, and ListMobileDevicesResponse
                     */
                    public listMobileDevices(request: google.ads.admanager.v1.IListMobileDevicesRequest, callback: google.ads.admanager.v1.MobileDeviceService.ListMobileDevicesCallback): void;

                    /**
                     * Calls ListMobileDevices.
                     * @param request ListMobileDevicesRequest message or plain object
                     * @returns Promise
                     */
                    public listMobileDevices(request: google.ads.admanager.v1.IListMobileDevicesRequest): Promise<google.ads.admanager.v1.ListMobileDevicesResponse>;
                }

                namespace MobileDeviceService {

                    /**
                     * Callback as used by {@link google.ads.admanager.v1.MobileDeviceService|getMobileDevice}.
                     * @param error Error, if any
                     * @param [response] MobileDevice
                     */
                    type GetMobileDeviceCallback = (error: (Error|null), response?: google.ads.admanager.v1.MobileDevice) => void;

                    /**
                     * Callback as used by {@link google.ads.admanager.v1.MobileDeviceService|listMobileDevices}.
                     * @param error Error, if any
                     * @param [response] ListMobileDevicesResponse
                     */
                    type ListMobileDevicesCallback = (error: (Error|null), response?: google.ads.admanager.v1.ListMobileDevicesResponse) => void;
                }

                /** Properties of a GetMobileDeviceRequest. */
                interface IGetMobileDeviceRequest {

                    /** GetMobileDeviceRequest name */
                    name?: (string|null);
                }

                /** Represents a GetMobileDeviceRequest. */
                class GetMobileDeviceRequest implements IGetMobileDeviceRequest {

                    /**
                     * Constructs a new GetMobileDeviceRequest.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IGetMobileDeviceRequest);

                    /** GetMobileDeviceRequest name. */
                    public name: string;

                    /**
                     * Creates a new GetMobileDeviceRequest instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns GetMobileDeviceRequest instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IGetMobileDeviceRequest): google.ads.admanager.v1.GetMobileDeviceRequest;

                    /**
                     * Encodes the specified GetMobileDeviceRequest message. Does not implicitly {@link google.ads.admanager.v1.GetMobileDeviceRequest.verify|verify} messages.
                     * @param message GetMobileDeviceRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IGetMobileDeviceRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified GetMobileDeviceRequest message, length delimited. Does not implicitly {@link google.ads.admanager.v1.GetMobileDeviceRequest.verify|verify} messages.
                     * @param message GetMobileDeviceRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IGetMobileDeviceRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a GetMobileDeviceRequest message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns GetMobileDeviceRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.GetMobileDeviceRequest;

                    /**
                     * Decodes a GetMobileDeviceRequest message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns GetMobileDeviceRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.GetMobileDeviceRequest;

                    /**
                     * Verifies a GetMobileDeviceRequest message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a GetMobileDeviceRequest message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns GetMobileDeviceRequest
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.GetMobileDeviceRequest;

                    /**
                     * Creates a plain object from a GetMobileDeviceRequest message. Also converts values to other types if specified.
                     * @param message GetMobileDeviceRequest
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.GetMobileDeviceRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this GetMobileDeviceRequest to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for GetMobileDeviceRequest
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a ListMobileDevicesRequest. */
                interface IListMobileDevicesRequest {

                    /** ListMobileDevicesRequest parent */
                    parent?: (string|null);

                    /** ListMobileDevicesRequest pageSize */
                    pageSize?: (number|null);

                    /** ListMobileDevicesRequest pageToken */
                    pageToken?: (string|null);

                    /** ListMobileDevicesRequest filter */
                    filter?: (string|null);

                    /** ListMobileDevicesRequest orderBy */
                    orderBy?: (string|null);

                    /** ListMobileDevicesRequest skip */
                    skip?: (number|null);
                }

                /** Represents a ListMobileDevicesRequest. */
                class ListMobileDevicesRequest implements IListMobileDevicesRequest {

                    /**
                     * Constructs a new ListMobileDevicesRequest.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IListMobileDevicesRequest);

                    /** ListMobileDevicesRequest parent. */
                    public parent: string;

                    /** ListMobileDevicesRequest pageSize. */
                    public pageSize: number;

                    /** ListMobileDevicesRequest pageToken. */
                    public pageToken: string;

                    /** ListMobileDevicesRequest filter. */
                    public filter: string;

                    /** ListMobileDevicesRequest orderBy. */
                    public orderBy: string;

                    /** ListMobileDevicesRequest skip. */
                    public skip: number;

                    /**
                     * Creates a new ListMobileDevicesRequest instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns ListMobileDevicesRequest instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IListMobileDevicesRequest): google.ads.admanager.v1.ListMobileDevicesRequest;

                    /**
                     * Encodes the specified ListMobileDevicesRequest message. Does not implicitly {@link google.ads.admanager.v1.ListMobileDevicesRequest.verify|verify} messages.
                     * @param message ListMobileDevicesRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IListMobileDevicesRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified ListMobileDevicesRequest message, length delimited. Does not implicitly {@link google.ads.admanager.v1.ListMobileDevicesRequest.verify|verify} messages.
                     * @param message ListMobileDevicesRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IListMobileDevicesRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a ListMobileDevicesRequest message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns ListMobileDevicesRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.ListMobileDevicesRequest;

                    /**
                     * Decodes a ListMobileDevicesRequest message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns ListMobileDevicesRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.ListMobileDevicesRequest;

                    /**
                     * Verifies a ListMobileDevicesRequest message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a ListMobileDevicesRequest message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns ListMobileDevicesRequest
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.ListMobileDevicesRequest;

                    /**
                     * Creates a plain object from a ListMobileDevicesRequest message. Also converts values to other types if specified.
                     * @param message ListMobileDevicesRequest
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.ListMobileDevicesRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this ListMobileDevicesRequest to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for ListMobileDevicesRequest
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a ListMobileDevicesResponse. */
                interface IListMobileDevicesResponse {

                    /** ListMobileDevicesResponse mobileDevices */
                    mobileDevices?: (google.ads.admanager.v1.IMobileDevice[]|null);

                    /** ListMobileDevicesResponse nextPageToken */
                    nextPageToken?: (string|null);

                    /** ListMobileDevicesResponse totalSize */
                    totalSize?: (number|null);
                }

                /** Represents a ListMobileDevicesResponse. */
                class ListMobileDevicesResponse implements IListMobileDevicesResponse {

                    /**
                     * Constructs a new ListMobileDevicesResponse.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IListMobileDevicesResponse);

                    /** ListMobileDevicesResponse mobileDevices. */
                    public mobileDevices: google.ads.admanager.v1.IMobileDevice[];

                    /** ListMobileDevicesResponse nextPageToken. */
                    public nextPageToken: string;

                    /** ListMobileDevicesResponse totalSize. */
                    public totalSize: number;

                    /**
                     * Creates a new ListMobileDevicesResponse instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns ListMobileDevicesResponse instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IListMobileDevicesResponse): google.ads.admanager.v1.ListMobileDevicesResponse;

                    /**
                     * Encodes the specified ListMobileDevicesResponse message. Does not implicitly {@link google.ads.admanager.v1.ListMobileDevicesResponse.verify|verify} messages.
                     * @param message ListMobileDevicesResponse message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IListMobileDevicesResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified ListMobileDevicesResponse message, length delimited. Does not implicitly {@link google.ads.admanager.v1.ListMobileDevicesResponse.verify|verify} messages.
                     * @param message ListMobileDevicesResponse message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IListMobileDevicesResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a ListMobileDevicesResponse message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns ListMobileDevicesResponse
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.ListMobileDevicesResponse;

                    /**
                     * Decodes a ListMobileDevicesResponse message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns ListMobileDevicesResponse
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.ListMobileDevicesResponse;

                    /**
                     * Verifies a ListMobileDevicesResponse message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a ListMobileDevicesResponse message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns ListMobileDevicesResponse
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.ListMobileDevicesResponse;

                    /**
                     * Creates a plain object from a ListMobileDevicesResponse message. Also converts values to other types if specified.
                     * @param message ListMobileDevicesResponse
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.ListMobileDevicesResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this ListMobileDevicesResponse to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for ListMobileDevicesResponse
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a MobileDeviceSubmodel. */
                interface IMobileDeviceSubmodel {

                    /** MobileDeviceSubmodel name */
                    name?: (string|null);

                    /** MobileDeviceSubmodel displayName */
                    displayName?: (string|null);

                    /** MobileDeviceSubmodel mobileDevice */
                    mobileDevice?: (string|null);
                }

                /** Represents a MobileDeviceSubmodel. */
                class MobileDeviceSubmodel implements IMobileDeviceSubmodel {

                    /**
                     * Constructs a new MobileDeviceSubmodel.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IMobileDeviceSubmodel);

                    /** MobileDeviceSubmodel name. */
                    public name: string;

                    /** MobileDeviceSubmodel displayName. */
                    public displayName?: (string|null);

                    /** MobileDeviceSubmodel mobileDevice. */
                    public mobileDevice?: (string|null);

                    /**
                     * Creates a new MobileDeviceSubmodel instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns MobileDeviceSubmodel instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IMobileDeviceSubmodel): google.ads.admanager.v1.MobileDeviceSubmodel;

                    /**
                     * Encodes the specified MobileDeviceSubmodel message. Does not implicitly {@link google.ads.admanager.v1.MobileDeviceSubmodel.verify|verify} messages.
                     * @param message MobileDeviceSubmodel message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IMobileDeviceSubmodel, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified MobileDeviceSubmodel message, length delimited. Does not implicitly {@link google.ads.admanager.v1.MobileDeviceSubmodel.verify|verify} messages.
                     * @param message MobileDeviceSubmodel message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IMobileDeviceSubmodel, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a MobileDeviceSubmodel message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns MobileDeviceSubmodel
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.MobileDeviceSubmodel;

                    /**
                     * Decodes a MobileDeviceSubmodel message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns MobileDeviceSubmodel
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.MobileDeviceSubmodel;

                    /**
                     * Verifies a MobileDeviceSubmodel message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a MobileDeviceSubmodel message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns MobileDeviceSubmodel
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.MobileDeviceSubmodel;

                    /**
                     * Creates a plain object from a MobileDeviceSubmodel message. Also converts values to other types if specified.
                     * @param message MobileDeviceSubmodel
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.MobileDeviceSubmodel, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this MobileDeviceSubmodel to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for MobileDeviceSubmodel
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Represents a MobileDeviceSubmodelService */
                class MobileDeviceSubmodelService extends $protobuf.rpc.Service {

                    /**
                     * Constructs a new MobileDeviceSubmodelService service.
                     * @param rpcImpl RPC implementation
                     * @param [requestDelimited=false] Whether requests are length-delimited
                     * @param [responseDelimited=false] Whether responses are length-delimited
                     */
                    constructor(rpcImpl: $protobuf.RPCImpl, requestDelimited?: boolean, responseDelimited?: boolean);

                    /**
                     * Creates new MobileDeviceSubmodelService service using the specified rpc implementation.
                     * @param rpcImpl RPC implementation
                     * @param [requestDelimited=false] Whether requests are length-delimited
                     * @param [responseDelimited=false] Whether responses are length-delimited
                     * @returns RPC service. Useful where requests and/or responses are streamed.
                     */
                    public static create(rpcImpl: $protobuf.RPCImpl, requestDelimited?: boolean, responseDelimited?: boolean): MobileDeviceSubmodelService;

                    /**
                     * Calls GetMobileDeviceSubmodel.
                     * @param request GetMobileDeviceSubmodelRequest message or plain object
                     * @param callback Node-style callback called with the error, if any, and MobileDeviceSubmodel
                     */
                    public getMobileDeviceSubmodel(request: google.ads.admanager.v1.IGetMobileDeviceSubmodelRequest, callback: google.ads.admanager.v1.MobileDeviceSubmodelService.GetMobileDeviceSubmodelCallback): void;

                    /**
                     * Calls GetMobileDeviceSubmodel.
                     * @param request GetMobileDeviceSubmodelRequest message or plain object
                     * @returns Promise
                     */
                    public getMobileDeviceSubmodel(request: google.ads.admanager.v1.IGetMobileDeviceSubmodelRequest): Promise<google.ads.admanager.v1.MobileDeviceSubmodel>;

                    /**
                     * Calls ListMobileDeviceSubmodels.
                     * @param request ListMobileDeviceSubmodelsRequest message or plain object
                     * @param callback Node-style callback called with the error, if any, and ListMobileDeviceSubmodelsResponse
                     */
                    public listMobileDeviceSubmodels(request: google.ads.admanager.v1.IListMobileDeviceSubmodelsRequest, callback: google.ads.admanager.v1.MobileDeviceSubmodelService.ListMobileDeviceSubmodelsCallback): void;

                    /**
                     * Calls ListMobileDeviceSubmodels.
                     * @param request ListMobileDeviceSubmodelsRequest message or plain object
                     * @returns Promise
                     */
                    public listMobileDeviceSubmodels(request: google.ads.admanager.v1.IListMobileDeviceSubmodelsRequest): Promise<google.ads.admanager.v1.ListMobileDeviceSubmodelsResponse>;
                }

                namespace MobileDeviceSubmodelService {

                    /**
                     * Callback as used by {@link google.ads.admanager.v1.MobileDeviceSubmodelService|getMobileDeviceSubmodel}.
                     * @param error Error, if any
                     * @param [response] MobileDeviceSubmodel
                     */
                    type GetMobileDeviceSubmodelCallback = (error: (Error|null), response?: google.ads.admanager.v1.MobileDeviceSubmodel) => void;

                    /**
                     * Callback as used by {@link google.ads.admanager.v1.MobileDeviceSubmodelService|listMobileDeviceSubmodels}.
                     * @param error Error, if any
                     * @param [response] ListMobileDeviceSubmodelsResponse
                     */
                    type ListMobileDeviceSubmodelsCallback = (error: (Error|null), response?: google.ads.admanager.v1.ListMobileDeviceSubmodelsResponse) => void;
                }

                /** Properties of a GetMobileDeviceSubmodelRequest. */
                interface IGetMobileDeviceSubmodelRequest {

                    /** GetMobileDeviceSubmodelRequest name */
                    name?: (string|null);
                }

                /** Represents a GetMobileDeviceSubmodelRequest. */
                class GetMobileDeviceSubmodelRequest implements IGetMobileDeviceSubmodelRequest {

                    /**
                     * Constructs a new GetMobileDeviceSubmodelRequest.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IGetMobileDeviceSubmodelRequest);

                    /** GetMobileDeviceSubmodelRequest name. */
                    public name: string;

                    /**
                     * Creates a new GetMobileDeviceSubmodelRequest instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns GetMobileDeviceSubmodelRequest instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IGetMobileDeviceSubmodelRequest): google.ads.admanager.v1.GetMobileDeviceSubmodelRequest;

                    /**
                     * Encodes the specified GetMobileDeviceSubmodelRequest message. Does not implicitly {@link google.ads.admanager.v1.GetMobileDeviceSubmodelRequest.verify|verify} messages.
                     * @param message GetMobileDeviceSubmodelRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IGetMobileDeviceSubmodelRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified GetMobileDeviceSubmodelRequest message, length delimited. Does not implicitly {@link google.ads.admanager.v1.GetMobileDeviceSubmodelRequest.verify|verify} messages.
                     * @param message GetMobileDeviceSubmodelRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IGetMobileDeviceSubmodelRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a GetMobileDeviceSubmodelRequest message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns GetMobileDeviceSubmodelRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.GetMobileDeviceSubmodelRequest;

                    /**
                     * Decodes a GetMobileDeviceSubmodelRequest message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns GetMobileDeviceSubmodelRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.GetMobileDeviceSubmodelRequest;

                    /**
                     * Verifies a GetMobileDeviceSubmodelRequest message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a GetMobileDeviceSubmodelRequest message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns GetMobileDeviceSubmodelRequest
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.GetMobileDeviceSubmodelRequest;

                    /**
                     * Creates a plain object from a GetMobileDeviceSubmodelRequest message. Also converts values to other types if specified.
                     * @param message GetMobileDeviceSubmodelRequest
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.GetMobileDeviceSubmodelRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this GetMobileDeviceSubmodelRequest to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for GetMobileDeviceSubmodelRequest
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a ListMobileDeviceSubmodelsRequest. */
                interface IListMobileDeviceSubmodelsRequest {

                    /** ListMobileDeviceSubmodelsRequest parent */
                    parent?: (string|null);

                    /** ListMobileDeviceSubmodelsRequest pageSize */
                    pageSize?: (number|null);

                    /** ListMobileDeviceSubmodelsRequest pageToken */
                    pageToken?: (string|null);

                    /** ListMobileDeviceSubmodelsRequest filter */
                    filter?: (string|null);

                    /** ListMobileDeviceSubmodelsRequest orderBy */
                    orderBy?: (string|null);

                    /** ListMobileDeviceSubmodelsRequest skip */
                    skip?: (number|null);
                }

                /** Represents a ListMobileDeviceSubmodelsRequest. */
                class ListMobileDeviceSubmodelsRequest implements IListMobileDeviceSubmodelsRequest {

                    /**
                     * Constructs a new ListMobileDeviceSubmodelsRequest.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IListMobileDeviceSubmodelsRequest);

                    /** ListMobileDeviceSubmodelsRequest parent. */
                    public parent: string;

                    /** ListMobileDeviceSubmodelsRequest pageSize. */
                    public pageSize: number;

                    /** ListMobileDeviceSubmodelsRequest pageToken. */
                    public pageToken: string;

                    /** ListMobileDeviceSubmodelsRequest filter. */
                    public filter: string;

                    /** ListMobileDeviceSubmodelsRequest orderBy. */
                    public orderBy: string;

                    /** ListMobileDeviceSubmodelsRequest skip. */
                    public skip: number;

                    /**
                     * Creates a new ListMobileDeviceSubmodelsRequest instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns ListMobileDeviceSubmodelsRequest instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IListMobileDeviceSubmodelsRequest): google.ads.admanager.v1.ListMobileDeviceSubmodelsRequest;

                    /**
                     * Encodes the specified ListMobileDeviceSubmodelsRequest message. Does not implicitly {@link google.ads.admanager.v1.ListMobileDeviceSubmodelsRequest.verify|verify} messages.
                     * @param message ListMobileDeviceSubmodelsRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IListMobileDeviceSubmodelsRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified ListMobileDeviceSubmodelsRequest message, length delimited. Does not implicitly {@link google.ads.admanager.v1.ListMobileDeviceSubmodelsRequest.verify|verify} messages.
                     * @param message ListMobileDeviceSubmodelsRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IListMobileDeviceSubmodelsRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a ListMobileDeviceSubmodelsRequest message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns ListMobileDeviceSubmodelsRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.ListMobileDeviceSubmodelsRequest;

                    /**
                     * Decodes a ListMobileDeviceSubmodelsRequest message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns ListMobileDeviceSubmodelsRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.ListMobileDeviceSubmodelsRequest;

                    /**
                     * Verifies a ListMobileDeviceSubmodelsRequest message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a ListMobileDeviceSubmodelsRequest message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns ListMobileDeviceSubmodelsRequest
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.ListMobileDeviceSubmodelsRequest;

                    /**
                     * Creates a plain object from a ListMobileDeviceSubmodelsRequest message. Also converts values to other types if specified.
                     * @param message ListMobileDeviceSubmodelsRequest
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.ListMobileDeviceSubmodelsRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this ListMobileDeviceSubmodelsRequest to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for ListMobileDeviceSubmodelsRequest
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a ListMobileDeviceSubmodelsResponse. */
                interface IListMobileDeviceSubmodelsResponse {

                    /** ListMobileDeviceSubmodelsResponse mobileDeviceSubmodels */
                    mobileDeviceSubmodels?: (google.ads.admanager.v1.IMobileDeviceSubmodel[]|null);

                    /** ListMobileDeviceSubmodelsResponse nextPageToken */
                    nextPageToken?: (string|null);

                    /** ListMobileDeviceSubmodelsResponse totalSize */
                    totalSize?: (number|null);
                }

                /** Represents a ListMobileDeviceSubmodelsResponse. */
                class ListMobileDeviceSubmodelsResponse implements IListMobileDeviceSubmodelsResponse {

                    /**
                     * Constructs a new ListMobileDeviceSubmodelsResponse.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IListMobileDeviceSubmodelsResponse);

                    /** ListMobileDeviceSubmodelsResponse mobileDeviceSubmodels. */
                    public mobileDeviceSubmodels: google.ads.admanager.v1.IMobileDeviceSubmodel[];

                    /** ListMobileDeviceSubmodelsResponse nextPageToken. */
                    public nextPageToken: string;

                    /** ListMobileDeviceSubmodelsResponse totalSize. */
                    public totalSize: number;

                    /**
                     * Creates a new ListMobileDeviceSubmodelsResponse instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns ListMobileDeviceSubmodelsResponse instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IListMobileDeviceSubmodelsResponse): google.ads.admanager.v1.ListMobileDeviceSubmodelsResponse;

                    /**
                     * Encodes the specified ListMobileDeviceSubmodelsResponse message. Does not implicitly {@link google.ads.admanager.v1.ListMobileDeviceSubmodelsResponse.verify|verify} messages.
                     * @param message ListMobileDeviceSubmodelsResponse message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IListMobileDeviceSubmodelsResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified ListMobileDeviceSubmodelsResponse message, length delimited. Does not implicitly {@link google.ads.admanager.v1.ListMobileDeviceSubmodelsResponse.verify|verify} messages.
                     * @param message ListMobileDeviceSubmodelsResponse message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IListMobileDeviceSubmodelsResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a ListMobileDeviceSubmodelsResponse message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns ListMobileDeviceSubmodelsResponse
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.ListMobileDeviceSubmodelsResponse;

                    /**
                     * Decodes a ListMobileDeviceSubmodelsResponse message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns ListMobileDeviceSubmodelsResponse
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.ListMobileDeviceSubmodelsResponse;

                    /**
                     * Verifies a ListMobileDeviceSubmodelsResponse message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a ListMobileDeviceSubmodelsResponse message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns ListMobileDeviceSubmodelsResponse
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.ListMobileDeviceSubmodelsResponse;

                    /**
                     * Creates a plain object from a ListMobileDeviceSubmodelsResponse message. Also converts values to other types if specified.
                     * @param message ListMobileDeviceSubmodelsResponse
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.ListMobileDeviceSubmodelsResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this ListMobileDeviceSubmodelsResponse to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for ListMobileDeviceSubmodelsResponse
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a Network. */
                interface INetwork {

                    /** Network name */
                    name?: (string|null);

                    /** Network displayName */
                    displayName?: (string|null);

                    /** Network networkCode */
                    networkCode?: (string|null);

                    /** Network propertyCode */
                    propertyCode?: (string|null);

                    /** Network timeZone */
                    timeZone?: (string|null);

                    /** Network currencyCode */
                    currencyCode?: (string|null);

                    /** Network secondaryCurrencyCodes */
                    secondaryCurrencyCodes?: (string[]|null);

                    /** Network effectiveRootAdUnit */
                    effectiveRootAdUnit?: (string|null);

                    /** Network testNetwork */
                    testNetwork?: (boolean|null);

                    /** Network networkId */
                    networkId?: (number|Long|string|null);
                }

                /** Represents a Network. */
                class Network implements INetwork {

                    /**
                     * Constructs a new Network.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.INetwork);

                    /** Network name. */
                    public name: string;

                    /** Network displayName. */
                    public displayName?: (string|null);

                    /** Network networkCode. */
                    public networkCode?: (string|null);

                    /** Network propertyCode. */
                    public propertyCode?: (string|null);

                    /** Network timeZone. */
                    public timeZone?: (string|null);

                    /** Network currencyCode. */
                    public currencyCode?: (string|null);

                    /** Network secondaryCurrencyCodes. */
                    public secondaryCurrencyCodes: string[];

                    /** Network effectiveRootAdUnit. */
                    public effectiveRootAdUnit?: (string|null);

                    /** Network testNetwork. */
                    public testNetwork?: (boolean|null);

                    /** Network networkId. */
                    public networkId?: (number|Long|string|null);

                    /**
                     * Creates a new Network instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns Network instance
                     */
                    public static create(properties?: google.ads.admanager.v1.INetwork): google.ads.admanager.v1.Network;

                    /**
                     * Encodes the specified Network message. Does not implicitly {@link google.ads.admanager.v1.Network.verify|verify} messages.
                     * @param message Network message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.INetwork, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified Network message, length delimited. Does not implicitly {@link google.ads.admanager.v1.Network.verify|verify} messages.
                     * @param message Network message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.INetwork, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a Network message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns Network
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.Network;

                    /**
                     * Decodes a Network message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns Network
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.Network;

                    /**
                     * Verifies a Network message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a Network message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns Network
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.Network;

                    /**
                     * Creates a plain object from a Network message. Also converts values to other types if specified.
                     * @param message Network
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.Network, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this Network to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for Network
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Represents a NetworkService */
                class NetworkService extends $protobuf.rpc.Service {

                    /**
                     * Constructs a new NetworkService service.
                     * @param rpcImpl RPC implementation
                     * @param [requestDelimited=false] Whether requests are length-delimited
                     * @param [responseDelimited=false] Whether responses are length-delimited
                     */
                    constructor(rpcImpl: $protobuf.RPCImpl, requestDelimited?: boolean, responseDelimited?: boolean);

                    /**
                     * Creates new NetworkService service using the specified rpc implementation.
                     * @param rpcImpl RPC implementation
                     * @param [requestDelimited=false] Whether requests are length-delimited
                     * @param [responseDelimited=false] Whether responses are length-delimited
                     * @returns RPC service. Useful where requests and/or responses are streamed.
                     */
                    public static create(rpcImpl: $protobuf.RPCImpl, requestDelimited?: boolean, responseDelimited?: boolean): NetworkService;

                    /**
                     * Calls GetNetwork.
                     * @param request GetNetworkRequest message or plain object
                     * @param callback Node-style callback called with the error, if any, and Network
                     */
                    public getNetwork(request: google.ads.admanager.v1.IGetNetworkRequest, callback: google.ads.admanager.v1.NetworkService.GetNetworkCallback): void;

                    /**
                     * Calls GetNetwork.
                     * @param request GetNetworkRequest message or plain object
                     * @returns Promise
                     */
                    public getNetwork(request: google.ads.admanager.v1.IGetNetworkRequest): Promise<google.ads.admanager.v1.Network>;

                    /**
                     * Calls ListNetworks.
                     * @param request ListNetworksRequest message or plain object
                     * @param callback Node-style callback called with the error, if any, and ListNetworksResponse
                     */
                    public listNetworks(request: google.ads.admanager.v1.IListNetworksRequest, callback: google.ads.admanager.v1.NetworkService.ListNetworksCallback): void;

                    /**
                     * Calls ListNetworks.
                     * @param request ListNetworksRequest message or plain object
                     * @returns Promise
                     */
                    public listNetworks(request: google.ads.admanager.v1.IListNetworksRequest): Promise<google.ads.admanager.v1.ListNetworksResponse>;
                }

                namespace NetworkService {

                    /**
                     * Callback as used by {@link google.ads.admanager.v1.NetworkService|getNetwork}.
                     * @param error Error, if any
                     * @param [response] Network
                     */
                    type GetNetworkCallback = (error: (Error|null), response?: google.ads.admanager.v1.Network) => void;

                    /**
                     * Callback as used by {@link google.ads.admanager.v1.NetworkService|listNetworks}.
                     * @param error Error, if any
                     * @param [response] ListNetworksResponse
                     */
                    type ListNetworksCallback = (error: (Error|null), response?: google.ads.admanager.v1.ListNetworksResponse) => void;
                }

                /** Properties of a GetNetworkRequest. */
                interface IGetNetworkRequest {

                    /** GetNetworkRequest name */
                    name?: (string|null);
                }

                /** Represents a GetNetworkRequest. */
                class GetNetworkRequest implements IGetNetworkRequest {

                    /**
                     * Constructs a new GetNetworkRequest.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IGetNetworkRequest);

                    /** GetNetworkRequest name. */
                    public name: string;

                    /**
                     * Creates a new GetNetworkRequest instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns GetNetworkRequest instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IGetNetworkRequest): google.ads.admanager.v1.GetNetworkRequest;

                    /**
                     * Encodes the specified GetNetworkRequest message. Does not implicitly {@link google.ads.admanager.v1.GetNetworkRequest.verify|verify} messages.
                     * @param message GetNetworkRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IGetNetworkRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified GetNetworkRequest message, length delimited. Does not implicitly {@link google.ads.admanager.v1.GetNetworkRequest.verify|verify} messages.
                     * @param message GetNetworkRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IGetNetworkRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a GetNetworkRequest message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns GetNetworkRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.GetNetworkRequest;

                    /**
                     * Decodes a GetNetworkRequest message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns GetNetworkRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.GetNetworkRequest;

                    /**
                     * Verifies a GetNetworkRequest message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a GetNetworkRequest message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns GetNetworkRequest
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.GetNetworkRequest;

                    /**
                     * Creates a plain object from a GetNetworkRequest message. Also converts values to other types if specified.
                     * @param message GetNetworkRequest
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.GetNetworkRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this GetNetworkRequest to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for GetNetworkRequest
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a ListNetworksRequest. */
                interface IListNetworksRequest {

                    /** ListNetworksRequest pageSize */
                    pageSize?: (number|null);

                    /** ListNetworksRequest pageToken */
                    pageToken?: (string|null);

                    /** ListNetworksRequest skip */
                    skip?: (number|null);
                }

                /** Represents a ListNetworksRequest. */
                class ListNetworksRequest implements IListNetworksRequest {

                    /**
                     * Constructs a new ListNetworksRequest.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IListNetworksRequest);

                    /** ListNetworksRequest pageSize. */
                    public pageSize: number;

                    /** ListNetworksRequest pageToken. */
                    public pageToken: string;

                    /** ListNetworksRequest skip. */
                    public skip: number;

                    /**
                     * Creates a new ListNetworksRequest instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns ListNetworksRequest instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IListNetworksRequest): google.ads.admanager.v1.ListNetworksRequest;

                    /**
                     * Encodes the specified ListNetworksRequest message. Does not implicitly {@link google.ads.admanager.v1.ListNetworksRequest.verify|verify} messages.
                     * @param message ListNetworksRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IListNetworksRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified ListNetworksRequest message, length delimited. Does not implicitly {@link google.ads.admanager.v1.ListNetworksRequest.verify|verify} messages.
                     * @param message ListNetworksRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IListNetworksRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a ListNetworksRequest message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns ListNetworksRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.ListNetworksRequest;

                    /**
                     * Decodes a ListNetworksRequest message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns ListNetworksRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.ListNetworksRequest;

                    /**
                     * Verifies a ListNetworksRequest message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a ListNetworksRequest message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns ListNetworksRequest
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.ListNetworksRequest;

                    /**
                     * Creates a plain object from a ListNetworksRequest message. Also converts values to other types if specified.
                     * @param message ListNetworksRequest
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.ListNetworksRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this ListNetworksRequest to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for ListNetworksRequest
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a ListNetworksResponse. */
                interface IListNetworksResponse {

                    /** ListNetworksResponse networks */
                    networks?: (google.ads.admanager.v1.INetwork[]|null);

                    /** ListNetworksResponse nextPageToken */
                    nextPageToken?: (string|null);

                    /** ListNetworksResponse totalSize */
                    totalSize?: (number|null);
                }

                /** Represents a ListNetworksResponse. */
                class ListNetworksResponse implements IListNetworksResponse {

                    /**
                     * Constructs a new ListNetworksResponse.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IListNetworksResponse);

                    /** ListNetworksResponse networks. */
                    public networks: google.ads.admanager.v1.INetwork[];

                    /** ListNetworksResponse nextPageToken. */
                    public nextPageToken: string;

                    /** ListNetworksResponse totalSize. */
                    public totalSize: number;

                    /**
                     * Creates a new ListNetworksResponse instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns ListNetworksResponse instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IListNetworksResponse): google.ads.admanager.v1.ListNetworksResponse;

                    /**
                     * Encodes the specified ListNetworksResponse message. Does not implicitly {@link google.ads.admanager.v1.ListNetworksResponse.verify|verify} messages.
                     * @param message ListNetworksResponse message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IListNetworksResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified ListNetworksResponse message, length delimited. Does not implicitly {@link google.ads.admanager.v1.ListNetworksResponse.verify|verify} messages.
                     * @param message ListNetworksResponse message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IListNetworksResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a ListNetworksResponse message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns ListNetworksResponse
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.ListNetworksResponse;

                    /**
                     * Decodes a ListNetworksResponse message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns ListNetworksResponse
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.ListNetworksResponse;

                    /**
                     * Verifies a ListNetworksResponse message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a ListNetworksResponse message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns ListNetworksResponse
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.ListNetworksResponse;

                    /**
                     * Creates a plain object from a ListNetworksResponse message. Also converts values to other types if specified.
                     * @param message ListNetworksResponse
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.ListNetworksResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this ListNetworksResponse to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for ListNetworksResponse
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of an OperatingSystem. */
                interface IOperatingSystem {

                    /** OperatingSystem name */
                    name?: (string|null);

                    /** OperatingSystem displayName */
                    displayName?: (string|null);
                }

                /** Represents an OperatingSystem. */
                class OperatingSystem implements IOperatingSystem {

                    /**
                     * Constructs a new OperatingSystem.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IOperatingSystem);

                    /** OperatingSystem name. */
                    public name: string;

                    /** OperatingSystem displayName. */
                    public displayName?: (string|null);

                    /**
                     * Creates a new OperatingSystem instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns OperatingSystem instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IOperatingSystem): google.ads.admanager.v1.OperatingSystem;

                    /**
                     * Encodes the specified OperatingSystem message. Does not implicitly {@link google.ads.admanager.v1.OperatingSystem.verify|verify} messages.
                     * @param message OperatingSystem message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IOperatingSystem, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified OperatingSystem message, length delimited. Does not implicitly {@link google.ads.admanager.v1.OperatingSystem.verify|verify} messages.
                     * @param message OperatingSystem message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IOperatingSystem, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes an OperatingSystem message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns OperatingSystem
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.OperatingSystem;

                    /**
                     * Decodes an OperatingSystem message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns OperatingSystem
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.OperatingSystem;

                    /**
                     * Verifies an OperatingSystem message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates an OperatingSystem message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns OperatingSystem
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.OperatingSystem;

                    /**
                     * Creates a plain object from an OperatingSystem message. Also converts values to other types if specified.
                     * @param message OperatingSystem
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.OperatingSystem, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this OperatingSystem to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for OperatingSystem
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Represents an OperatingSystemService */
                class OperatingSystemService extends $protobuf.rpc.Service {

                    /**
                     * Constructs a new OperatingSystemService service.
                     * @param rpcImpl RPC implementation
                     * @param [requestDelimited=false] Whether requests are length-delimited
                     * @param [responseDelimited=false] Whether responses are length-delimited
                     */
                    constructor(rpcImpl: $protobuf.RPCImpl, requestDelimited?: boolean, responseDelimited?: boolean);

                    /**
                     * Creates new OperatingSystemService service using the specified rpc implementation.
                     * @param rpcImpl RPC implementation
                     * @param [requestDelimited=false] Whether requests are length-delimited
                     * @param [responseDelimited=false] Whether responses are length-delimited
                     * @returns RPC service. Useful where requests and/or responses are streamed.
                     */
                    public static create(rpcImpl: $protobuf.RPCImpl, requestDelimited?: boolean, responseDelimited?: boolean): OperatingSystemService;

                    /**
                     * Calls GetOperatingSystem.
                     * @param request GetOperatingSystemRequest message or plain object
                     * @param callback Node-style callback called with the error, if any, and OperatingSystem
                     */
                    public getOperatingSystem(request: google.ads.admanager.v1.IGetOperatingSystemRequest, callback: google.ads.admanager.v1.OperatingSystemService.GetOperatingSystemCallback): void;

                    /**
                     * Calls GetOperatingSystem.
                     * @param request GetOperatingSystemRequest message or plain object
                     * @returns Promise
                     */
                    public getOperatingSystem(request: google.ads.admanager.v1.IGetOperatingSystemRequest): Promise<google.ads.admanager.v1.OperatingSystem>;

                    /**
                     * Calls ListOperatingSystems.
                     * @param request ListOperatingSystemsRequest message or plain object
                     * @param callback Node-style callback called with the error, if any, and ListOperatingSystemsResponse
                     */
                    public listOperatingSystems(request: google.ads.admanager.v1.IListOperatingSystemsRequest, callback: google.ads.admanager.v1.OperatingSystemService.ListOperatingSystemsCallback): void;

                    /**
                     * Calls ListOperatingSystems.
                     * @param request ListOperatingSystemsRequest message or plain object
                     * @returns Promise
                     */
                    public listOperatingSystems(request: google.ads.admanager.v1.IListOperatingSystemsRequest): Promise<google.ads.admanager.v1.ListOperatingSystemsResponse>;
                }

                namespace OperatingSystemService {

                    /**
                     * Callback as used by {@link google.ads.admanager.v1.OperatingSystemService|getOperatingSystem}.
                     * @param error Error, if any
                     * @param [response] OperatingSystem
                     */
                    type GetOperatingSystemCallback = (error: (Error|null), response?: google.ads.admanager.v1.OperatingSystem) => void;

                    /**
                     * Callback as used by {@link google.ads.admanager.v1.OperatingSystemService|listOperatingSystems}.
                     * @param error Error, if any
                     * @param [response] ListOperatingSystemsResponse
                     */
                    type ListOperatingSystemsCallback = (error: (Error|null), response?: google.ads.admanager.v1.ListOperatingSystemsResponse) => void;
                }

                /** Properties of a GetOperatingSystemRequest. */
                interface IGetOperatingSystemRequest {

                    /** GetOperatingSystemRequest name */
                    name?: (string|null);
                }

                /** Represents a GetOperatingSystemRequest. */
                class GetOperatingSystemRequest implements IGetOperatingSystemRequest {

                    /**
                     * Constructs a new GetOperatingSystemRequest.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IGetOperatingSystemRequest);

                    /** GetOperatingSystemRequest name. */
                    public name: string;

                    /**
                     * Creates a new GetOperatingSystemRequest instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns GetOperatingSystemRequest instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IGetOperatingSystemRequest): google.ads.admanager.v1.GetOperatingSystemRequest;

                    /**
                     * Encodes the specified GetOperatingSystemRequest message. Does not implicitly {@link google.ads.admanager.v1.GetOperatingSystemRequest.verify|verify} messages.
                     * @param message GetOperatingSystemRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IGetOperatingSystemRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified GetOperatingSystemRequest message, length delimited. Does not implicitly {@link google.ads.admanager.v1.GetOperatingSystemRequest.verify|verify} messages.
                     * @param message GetOperatingSystemRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IGetOperatingSystemRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a GetOperatingSystemRequest message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns GetOperatingSystemRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.GetOperatingSystemRequest;

                    /**
                     * Decodes a GetOperatingSystemRequest message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns GetOperatingSystemRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.GetOperatingSystemRequest;

                    /**
                     * Verifies a GetOperatingSystemRequest message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a GetOperatingSystemRequest message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns GetOperatingSystemRequest
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.GetOperatingSystemRequest;

                    /**
                     * Creates a plain object from a GetOperatingSystemRequest message. Also converts values to other types if specified.
                     * @param message GetOperatingSystemRequest
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.GetOperatingSystemRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this GetOperatingSystemRequest to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for GetOperatingSystemRequest
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a ListOperatingSystemsRequest. */
                interface IListOperatingSystemsRequest {

                    /** ListOperatingSystemsRequest parent */
                    parent?: (string|null);

                    /** ListOperatingSystemsRequest pageSize */
                    pageSize?: (number|null);

                    /** ListOperatingSystemsRequest pageToken */
                    pageToken?: (string|null);

                    /** ListOperatingSystemsRequest filter */
                    filter?: (string|null);

                    /** ListOperatingSystemsRequest orderBy */
                    orderBy?: (string|null);

                    /** ListOperatingSystemsRequest skip */
                    skip?: (number|null);
                }

                /** Represents a ListOperatingSystemsRequest. */
                class ListOperatingSystemsRequest implements IListOperatingSystemsRequest {

                    /**
                     * Constructs a new ListOperatingSystemsRequest.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IListOperatingSystemsRequest);

                    /** ListOperatingSystemsRequest parent. */
                    public parent: string;

                    /** ListOperatingSystemsRequest pageSize. */
                    public pageSize: number;

                    /** ListOperatingSystemsRequest pageToken. */
                    public pageToken: string;

                    /** ListOperatingSystemsRequest filter. */
                    public filter: string;

                    /** ListOperatingSystemsRequest orderBy. */
                    public orderBy: string;

                    /** ListOperatingSystemsRequest skip. */
                    public skip: number;

                    /**
                     * Creates a new ListOperatingSystemsRequest instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns ListOperatingSystemsRequest instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IListOperatingSystemsRequest): google.ads.admanager.v1.ListOperatingSystemsRequest;

                    /**
                     * Encodes the specified ListOperatingSystemsRequest message. Does not implicitly {@link google.ads.admanager.v1.ListOperatingSystemsRequest.verify|verify} messages.
                     * @param message ListOperatingSystemsRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IListOperatingSystemsRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified ListOperatingSystemsRequest message, length delimited. Does not implicitly {@link google.ads.admanager.v1.ListOperatingSystemsRequest.verify|verify} messages.
                     * @param message ListOperatingSystemsRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IListOperatingSystemsRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a ListOperatingSystemsRequest message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns ListOperatingSystemsRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.ListOperatingSystemsRequest;

                    /**
                     * Decodes a ListOperatingSystemsRequest message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns ListOperatingSystemsRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.ListOperatingSystemsRequest;

                    /**
                     * Verifies a ListOperatingSystemsRequest message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a ListOperatingSystemsRequest message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns ListOperatingSystemsRequest
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.ListOperatingSystemsRequest;

                    /**
                     * Creates a plain object from a ListOperatingSystemsRequest message. Also converts values to other types if specified.
                     * @param message ListOperatingSystemsRequest
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.ListOperatingSystemsRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this ListOperatingSystemsRequest to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for ListOperatingSystemsRequest
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a ListOperatingSystemsResponse. */
                interface IListOperatingSystemsResponse {

                    /** ListOperatingSystemsResponse operatingSystems */
                    operatingSystems?: (google.ads.admanager.v1.IOperatingSystem[]|null);

                    /** ListOperatingSystemsResponse nextPageToken */
                    nextPageToken?: (string|null);

                    /** ListOperatingSystemsResponse totalSize */
                    totalSize?: (number|null);
                }

                /** Represents a ListOperatingSystemsResponse. */
                class ListOperatingSystemsResponse implements IListOperatingSystemsResponse {

                    /**
                     * Constructs a new ListOperatingSystemsResponse.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IListOperatingSystemsResponse);

                    /** ListOperatingSystemsResponse operatingSystems. */
                    public operatingSystems: google.ads.admanager.v1.IOperatingSystem[];

                    /** ListOperatingSystemsResponse nextPageToken. */
                    public nextPageToken: string;

                    /** ListOperatingSystemsResponse totalSize. */
                    public totalSize: number;

                    /**
                     * Creates a new ListOperatingSystemsResponse instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns ListOperatingSystemsResponse instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IListOperatingSystemsResponse): google.ads.admanager.v1.ListOperatingSystemsResponse;

                    /**
                     * Encodes the specified ListOperatingSystemsResponse message. Does not implicitly {@link google.ads.admanager.v1.ListOperatingSystemsResponse.verify|verify} messages.
                     * @param message ListOperatingSystemsResponse message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IListOperatingSystemsResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified ListOperatingSystemsResponse message, length delimited. Does not implicitly {@link google.ads.admanager.v1.ListOperatingSystemsResponse.verify|verify} messages.
                     * @param message ListOperatingSystemsResponse message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IListOperatingSystemsResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a ListOperatingSystemsResponse message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns ListOperatingSystemsResponse
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.ListOperatingSystemsResponse;

                    /**
                     * Decodes a ListOperatingSystemsResponse message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns ListOperatingSystemsResponse
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.ListOperatingSystemsResponse;

                    /**
                     * Verifies a ListOperatingSystemsResponse message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a ListOperatingSystemsResponse message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns ListOperatingSystemsResponse
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.ListOperatingSystemsResponse;

                    /**
                     * Creates a plain object from a ListOperatingSystemsResponse message. Also converts values to other types if specified.
                     * @param message ListOperatingSystemsResponse
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.ListOperatingSystemsResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this ListOperatingSystemsResponse to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for ListOperatingSystemsResponse
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of an OperatingSystemVersion. */
                interface IOperatingSystemVersion {

                    /** OperatingSystemVersion name */
                    name?: (string|null);

                    /** OperatingSystemVersion majorVersion */
                    majorVersion?: (number|null);

                    /** OperatingSystemVersion minorVersion */
                    minorVersion?: (number|null);

                    /** OperatingSystemVersion microVersion */
                    microVersion?: (number|null);
                }

                /** Represents an OperatingSystemVersion. */
                class OperatingSystemVersion implements IOperatingSystemVersion {

                    /**
                     * Constructs a new OperatingSystemVersion.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IOperatingSystemVersion);

                    /** OperatingSystemVersion name. */
                    public name: string;

                    /** OperatingSystemVersion majorVersion. */
                    public majorVersion?: (number|null);

                    /** OperatingSystemVersion minorVersion. */
                    public minorVersion?: (number|null);

                    /** OperatingSystemVersion microVersion. */
                    public microVersion?: (number|null);

                    /**
                     * Creates a new OperatingSystemVersion instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns OperatingSystemVersion instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IOperatingSystemVersion): google.ads.admanager.v1.OperatingSystemVersion;

                    /**
                     * Encodes the specified OperatingSystemVersion message. Does not implicitly {@link google.ads.admanager.v1.OperatingSystemVersion.verify|verify} messages.
                     * @param message OperatingSystemVersion message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IOperatingSystemVersion, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified OperatingSystemVersion message, length delimited. Does not implicitly {@link google.ads.admanager.v1.OperatingSystemVersion.verify|verify} messages.
                     * @param message OperatingSystemVersion message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IOperatingSystemVersion, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes an OperatingSystemVersion message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns OperatingSystemVersion
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.OperatingSystemVersion;

                    /**
                     * Decodes an OperatingSystemVersion message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns OperatingSystemVersion
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.OperatingSystemVersion;

                    /**
                     * Verifies an OperatingSystemVersion message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates an OperatingSystemVersion message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns OperatingSystemVersion
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.OperatingSystemVersion;

                    /**
                     * Creates a plain object from an OperatingSystemVersion message. Also converts values to other types if specified.
                     * @param message OperatingSystemVersion
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.OperatingSystemVersion, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this OperatingSystemVersion to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for OperatingSystemVersion
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Represents an OperatingSystemVersionService */
                class OperatingSystemVersionService extends $protobuf.rpc.Service {

                    /**
                     * Constructs a new OperatingSystemVersionService service.
                     * @param rpcImpl RPC implementation
                     * @param [requestDelimited=false] Whether requests are length-delimited
                     * @param [responseDelimited=false] Whether responses are length-delimited
                     */
                    constructor(rpcImpl: $protobuf.RPCImpl, requestDelimited?: boolean, responseDelimited?: boolean);

                    /**
                     * Creates new OperatingSystemVersionService service using the specified rpc implementation.
                     * @param rpcImpl RPC implementation
                     * @param [requestDelimited=false] Whether requests are length-delimited
                     * @param [responseDelimited=false] Whether responses are length-delimited
                     * @returns RPC service. Useful where requests and/or responses are streamed.
                     */
                    public static create(rpcImpl: $protobuf.RPCImpl, requestDelimited?: boolean, responseDelimited?: boolean): OperatingSystemVersionService;

                    /**
                     * Calls GetOperatingSystemVersion.
                     * @param request GetOperatingSystemVersionRequest message or plain object
                     * @param callback Node-style callback called with the error, if any, and OperatingSystemVersion
                     */
                    public getOperatingSystemVersion(request: google.ads.admanager.v1.IGetOperatingSystemVersionRequest, callback: google.ads.admanager.v1.OperatingSystemVersionService.GetOperatingSystemVersionCallback): void;

                    /**
                     * Calls GetOperatingSystemVersion.
                     * @param request GetOperatingSystemVersionRequest message or plain object
                     * @returns Promise
                     */
                    public getOperatingSystemVersion(request: google.ads.admanager.v1.IGetOperatingSystemVersionRequest): Promise<google.ads.admanager.v1.OperatingSystemVersion>;

                    /**
                     * Calls ListOperatingSystemVersions.
                     * @param request ListOperatingSystemVersionsRequest message or plain object
                     * @param callback Node-style callback called with the error, if any, and ListOperatingSystemVersionsResponse
                     */
                    public listOperatingSystemVersions(request: google.ads.admanager.v1.IListOperatingSystemVersionsRequest, callback: google.ads.admanager.v1.OperatingSystemVersionService.ListOperatingSystemVersionsCallback): void;

                    /**
                     * Calls ListOperatingSystemVersions.
                     * @param request ListOperatingSystemVersionsRequest message or plain object
                     * @returns Promise
                     */
                    public listOperatingSystemVersions(request: google.ads.admanager.v1.IListOperatingSystemVersionsRequest): Promise<google.ads.admanager.v1.ListOperatingSystemVersionsResponse>;
                }

                namespace OperatingSystemVersionService {

                    /**
                     * Callback as used by {@link google.ads.admanager.v1.OperatingSystemVersionService|getOperatingSystemVersion}.
                     * @param error Error, if any
                     * @param [response] OperatingSystemVersion
                     */
                    type GetOperatingSystemVersionCallback = (error: (Error|null), response?: google.ads.admanager.v1.OperatingSystemVersion) => void;

                    /**
                     * Callback as used by {@link google.ads.admanager.v1.OperatingSystemVersionService|listOperatingSystemVersions}.
                     * @param error Error, if any
                     * @param [response] ListOperatingSystemVersionsResponse
                     */
                    type ListOperatingSystemVersionsCallback = (error: (Error|null), response?: google.ads.admanager.v1.ListOperatingSystemVersionsResponse) => void;
                }

                /** Properties of a GetOperatingSystemVersionRequest. */
                interface IGetOperatingSystemVersionRequest {

                    /** GetOperatingSystemVersionRequest name */
                    name?: (string|null);
                }

                /** Represents a GetOperatingSystemVersionRequest. */
                class GetOperatingSystemVersionRequest implements IGetOperatingSystemVersionRequest {

                    /**
                     * Constructs a new GetOperatingSystemVersionRequest.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IGetOperatingSystemVersionRequest);

                    /** GetOperatingSystemVersionRequest name. */
                    public name: string;

                    /**
                     * Creates a new GetOperatingSystemVersionRequest instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns GetOperatingSystemVersionRequest instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IGetOperatingSystemVersionRequest): google.ads.admanager.v1.GetOperatingSystemVersionRequest;

                    /**
                     * Encodes the specified GetOperatingSystemVersionRequest message. Does not implicitly {@link google.ads.admanager.v1.GetOperatingSystemVersionRequest.verify|verify} messages.
                     * @param message GetOperatingSystemVersionRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IGetOperatingSystemVersionRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified GetOperatingSystemVersionRequest message, length delimited. Does not implicitly {@link google.ads.admanager.v1.GetOperatingSystemVersionRequest.verify|verify} messages.
                     * @param message GetOperatingSystemVersionRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IGetOperatingSystemVersionRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a GetOperatingSystemVersionRequest message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns GetOperatingSystemVersionRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.GetOperatingSystemVersionRequest;

                    /**
                     * Decodes a GetOperatingSystemVersionRequest message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns GetOperatingSystemVersionRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.GetOperatingSystemVersionRequest;

                    /**
                     * Verifies a GetOperatingSystemVersionRequest message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a GetOperatingSystemVersionRequest message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns GetOperatingSystemVersionRequest
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.GetOperatingSystemVersionRequest;

                    /**
                     * Creates a plain object from a GetOperatingSystemVersionRequest message. Also converts values to other types if specified.
                     * @param message GetOperatingSystemVersionRequest
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.GetOperatingSystemVersionRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this GetOperatingSystemVersionRequest to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for GetOperatingSystemVersionRequest
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a ListOperatingSystemVersionsRequest. */
                interface IListOperatingSystemVersionsRequest {

                    /** ListOperatingSystemVersionsRequest parent */
                    parent?: (string|null);

                    /** ListOperatingSystemVersionsRequest pageSize */
                    pageSize?: (number|null);

                    /** ListOperatingSystemVersionsRequest pageToken */
                    pageToken?: (string|null);

                    /** ListOperatingSystemVersionsRequest filter */
                    filter?: (string|null);

                    /** ListOperatingSystemVersionsRequest orderBy */
                    orderBy?: (string|null);

                    /** ListOperatingSystemVersionsRequest skip */
                    skip?: (number|null);
                }

                /** Represents a ListOperatingSystemVersionsRequest. */
                class ListOperatingSystemVersionsRequest implements IListOperatingSystemVersionsRequest {

                    /**
                     * Constructs a new ListOperatingSystemVersionsRequest.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IListOperatingSystemVersionsRequest);

                    /** ListOperatingSystemVersionsRequest parent. */
                    public parent: string;

                    /** ListOperatingSystemVersionsRequest pageSize. */
                    public pageSize: number;

                    /** ListOperatingSystemVersionsRequest pageToken. */
                    public pageToken: string;

                    /** ListOperatingSystemVersionsRequest filter. */
                    public filter: string;

                    /** ListOperatingSystemVersionsRequest orderBy. */
                    public orderBy: string;

                    /** ListOperatingSystemVersionsRequest skip. */
                    public skip: number;

                    /**
                     * Creates a new ListOperatingSystemVersionsRequest instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns ListOperatingSystemVersionsRequest instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IListOperatingSystemVersionsRequest): google.ads.admanager.v1.ListOperatingSystemVersionsRequest;

                    /**
                     * Encodes the specified ListOperatingSystemVersionsRequest message. Does not implicitly {@link google.ads.admanager.v1.ListOperatingSystemVersionsRequest.verify|verify} messages.
                     * @param message ListOperatingSystemVersionsRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IListOperatingSystemVersionsRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified ListOperatingSystemVersionsRequest message, length delimited. Does not implicitly {@link google.ads.admanager.v1.ListOperatingSystemVersionsRequest.verify|verify} messages.
                     * @param message ListOperatingSystemVersionsRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IListOperatingSystemVersionsRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a ListOperatingSystemVersionsRequest message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns ListOperatingSystemVersionsRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.ListOperatingSystemVersionsRequest;

                    /**
                     * Decodes a ListOperatingSystemVersionsRequest message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns ListOperatingSystemVersionsRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.ListOperatingSystemVersionsRequest;

                    /**
                     * Verifies a ListOperatingSystemVersionsRequest message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a ListOperatingSystemVersionsRequest message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns ListOperatingSystemVersionsRequest
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.ListOperatingSystemVersionsRequest;

                    /**
                     * Creates a plain object from a ListOperatingSystemVersionsRequest message. Also converts values to other types if specified.
                     * @param message ListOperatingSystemVersionsRequest
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.ListOperatingSystemVersionsRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this ListOperatingSystemVersionsRequest to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for ListOperatingSystemVersionsRequest
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a ListOperatingSystemVersionsResponse. */
                interface IListOperatingSystemVersionsResponse {

                    /** ListOperatingSystemVersionsResponse operatingSystemVersions */
                    operatingSystemVersions?: (google.ads.admanager.v1.IOperatingSystemVersion[]|null);

                    /** ListOperatingSystemVersionsResponse nextPageToken */
                    nextPageToken?: (string|null);

                    /** ListOperatingSystemVersionsResponse totalSize */
                    totalSize?: (number|null);
                }

                /** Represents a ListOperatingSystemVersionsResponse. */
                class ListOperatingSystemVersionsResponse implements IListOperatingSystemVersionsResponse {

                    /**
                     * Constructs a new ListOperatingSystemVersionsResponse.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IListOperatingSystemVersionsResponse);

                    /** ListOperatingSystemVersionsResponse operatingSystemVersions. */
                    public operatingSystemVersions: google.ads.admanager.v1.IOperatingSystemVersion[];

                    /** ListOperatingSystemVersionsResponse nextPageToken. */
                    public nextPageToken: string;

                    /** ListOperatingSystemVersionsResponse totalSize. */
                    public totalSize: number;

                    /**
                     * Creates a new ListOperatingSystemVersionsResponse instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns ListOperatingSystemVersionsResponse instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IListOperatingSystemVersionsResponse): google.ads.admanager.v1.ListOperatingSystemVersionsResponse;

                    /**
                     * Encodes the specified ListOperatingSystemVersionsResponse message. Does not implicitly {@link google.ads.admanager.v1.ListOperatingSystemVersionsResponse.verify|verify} messages.
                     * @param message ListOperatingSystemVersionsResponse message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IListOperatingSystemVersionsResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified ListOperatingSystemVersionsResponse message, length delimited. Does not implicitly {@link google.ads.admanager.v1.ListOperatingSystemVersionsResponse.verify|verify} messages.
                     * @param message ListOperatingSystemVersionsResponse message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IListOperatingSystemVersionsResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a ListOperatingSystemVersionsResponse message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns ListOperatingSystemVersionsResponse
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.ListOperatingSystemVersionsResponse;

                    /**
                     * Decodes a ListOperatingSystemVersionsResponse message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns ListOperatingSystemVersionsResponse
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.ListOperatingSystemVersionsResponse;

                    /**
                     * Verifies a ListOperatingSystemVersionsResponse message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a ListOperatingSystemVersionsResponse message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns ListOperatingSystemVersionsResponse
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.ListOperatingSystemVersionsResponse;

                    /**
                     * Creates a plain object from a ListOperatingSystemVersionsResponse message. Also converts values to other types if specified.
                     * @param message ListOperatingSystemVersionsResponse
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.ListOperatingSystemVersionsResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this ListOperatingSystemVersionsResponse to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for ListOperatingSystemVersionsResponse
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of an OrderStatusEnum. */
                interface IOrderStatusEnum {
                }

                /** Represents an OrderStatusEnum. */
                class OrderStatusEnum implements IOrderStatusEnum {

                    /**
                     * Constructs a new OrderStatusEnum.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IOrderStatusEnum);

                    /**
                     * Creates a new OrderStatusEnum instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns OrderStatusEnum instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IOrderStatusEnum): google.ads.admanager.v1.OrderStatusEnum;

                    /**
                     * Encodes the specified OrderStatusEnum message. Does not implicitly {@link google.ads.admanager.v1.OrderStatusEnum.verify|verify} messages.
                     * @param message OrderStatusEnum message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IOrderStatusEnum, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified OrderStatusEnum message, length delimited. Does not implicitly {@link google.ads.admanager.v1.OrderStatusEnum.verify|verify} messages.
                     * @param message OrderStatusEnum message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IOrderStatusEnum, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes an OrderStatusEnum message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns OrderStatusEnum
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.OrderStatusEnum;

                    /**
                     * Decodes an OrderStatusEnum message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns OrderStatusEnum
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.OrderStatusEnum;

                    /**
                     * Verifies an OrderStatusEnum message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates an OrderStatusEnum message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns OrderStatusEnum
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.OrderStatusEnum;

                    /**
                     * Creates a plain object from an OrderStatusEnum message. Also converts values to other types if specified.
                     * @param message OrderStatusEnum
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.OrderStatusEnum, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this OrderStatusEnum to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for OrderStatusEnum
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                namespace OrderStatusEnum {

                    /** OrderStatus enum. */
                    enum OrderStatus {
                        ORDER_STATUS_UNSPECIFIED = 0,
                        DRAFT = 2,
                        PENDING_APPROVAL = 3,
                        APPROVED = 4,
                        DISAPPROVED = 5,
                        PAUSED = 6,
                        CANCELED = 7,
                        DELETED = 8
                    }
                }

                /** Properties of an Order. */
                interface IOrder {

                    /** Order name */
                    name?: (string|null);

                    /** Order orderId */
                    orderId?: (number|Long|string|null);

                    /** Order displayName */
                    displayName?: (string|null);

                    /** Order programmatic */
                    programmatic?: (boolean|null);

                    /** Order trafficker */
                    trafficker?: (string|null);

                    /** Order advertiserContacts */
                    advertiserContacts?: (string[]|null);

                    /** Order advertiser */
                    advertiser?: (string|null);

                    /** Order agencyContacts */
                    agencyContacts?: (string[]|null);

                    /** Order agency */
                    agency?: (string|null);

                    /** Order appliedTeams */
                    appliedTeams?: (string[]|null);

                    /** Order effectiveTeams */
                    effectiveTeams?: (string[]|null);

                    /** Order creator */
                    creator?: (string|null);

                    /** Order currencyCode */
                    currencyCode?: (string|null);

                    /** Order startTime */
                    startTime?: (google.protobuf.ITimestamp|null);

                    /** Order endTime */
                    endTime?: (google.protobuf.ITimestamp|null);

                    /** Order unlimitedEndTime */
                    unlimitedEndTime?: (boolean|null);

                    /** Order externalOrderId */
                    externalOrderId?: (number|null);

                    /** Order archived */
                    archived?: (boolean|null);

                    /** Order lastModifiedByApp */
                    lastModifiedByApp?: (string|null);

                    /** Order updateTime */
                    updateTime?: (google.protobuf.ITimestamp|null);

                    /** Order notes */
                    notes?: (string|null);

                    /** Order poNumber */
                    poNumber?: (string|null);

                    /** Order status */
                    status?: (google.ads.admanager.v1.OrderStatusEnum.OrderStatus|keyof typeof google.ads.admanager.v1.OrderStatusEnum.OrderStatus|null);

                    /** Order salesperson */
                    salesperson?: (string|null);

                    /** Order secondarySalespeople */
                    secondarySalespeople?: (string[]|null);

                    /** Order secondaryTraffickers */
                    secondaryTraffickers?: (string[]|null);

                    /** Order appliedLabels */
                    appliedLabels?: (google.ads.admanager.v1.IAppliedLabel[]|null);

                    /** Order effectiveAppliedLabels */
                    effectiveAppliedLabels?: (google.ads.admanager.v1.IAppliedLabel[]|null);

                    /** Order customFieldValues */
                    customFieldValues?: (google.ads.admanager.v1.ICustomFieldValue[]|null);
                }

                /** Represents an Order. */
                class Order implements IOrder {

                    /**
                     * Constructs a new Order.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IOrder);

                    /** Order name. */
                    public name: string;

                    /** Order orderId. */
                    public orderId?: (number|Long|string|null);

                    /** Order displayName. */
                    public displayName?: (string|null);

                    /** Order programmatic. */
                    public programmatic?: (boolean|null);

                    /** Order trafficker. */
                    public trafficker?: (string|null);

                    /** Order advertiserContacts. */
                    public advertiserContacts: string[];

                    /** Order advertiser. */
                    public advertiser?: (string|null);

                    /** Order agencyContacts. */
                    public agencyContacts: string[];

                    /** Order agency. */
                    public agency?: (string|null);

                    /** Order appliedTeams. */
                    public appliedTeams: string[];

                    /** Order effectiveTeams. */
                    public effectiveTeams: string[];

                    /** Order creator. */
                    public creator?: (string|null);

                    /** Order currencyCode. */
                    public currencyCode?: (string|null);

                    /** Order startTime. */
                    public startTime?: (google.protobuf.ITimestamp|null);

                    /** Order endTime. */
                    public endTime?: (google.protobuf.ITimestamp|null);

                    /** Order unlimitedEndTime. */
                    public unlimitedEndTime?: (boolean|null);

                    /** Order externalOrderId. */
                    public externalOrderId?: (number|null);

                    /** Order archived. */
                    public archived?: (boolean|null);

                    /** Order lastModifiedByApp. */
                    public lastModifiedByApp?: (string|null);

                    /** Order updateTime. */
                    public updateTime?: (google.protobuf.ITimestamp|null);

                    /** Order notes. */
                    public notes?: (string|null);

                    /** Order poNumber. */
                    public poNumber?: (string|null);

                    /** Order status. */
                    public status?: (google.ads.admanager.v1.OrderStatusEnum.OrderStatus|keyof typeof google.ads.admanager.v1.OrderStatusEnum.OrderStatus|null);

                    /** Order salesperson. */
                    public salesperson?: (string|null);

                    /** Order secondarySalespeople. */
                    public secondarySalespeople: string[];

                    /** Order secondaryTraffickers. */
                    public secondaryTraffickers: string[];

                    /** Order appliedLabels. */
                    public appliedLabels: google.ads.admanager.v1.IAppliedLabel[];

                    /** Order effectiveAppliedLabels. */
                    public effectiveAppliedLabels: google.ads.admanager.v1.IAppliedLabel[];

                    /** Order customFieldValues. */
                    public customFieldValues: google.ads.admanager.v1.ICustomFieldValue[];

                    /**
                     * Creates a new Order instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns Order instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IOrder): google.ads.admanager.v1.Order;

                    /**
                     * Encodes the specified Order message. Does not implicitly {@link google.ads.admanager.v1.Order.verify|verify} messages.
                     * @param message Order message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IOrder, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified Order message, length delimited. Does not implicitly {@link google.ads.admanager.v1.Order.verify|verify} messages.
                     * @param message Order message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IOrder, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes an Order message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns Order
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.Order;

                    /**
                     * Decodes an Order message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns Order
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.Order;

                    /**
                     * Verifies an Order message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates an Order message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns Order
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.Order;

                    /**
                     * Creates a plain object from an Order message. Also converts values to other types if specified.
                     * @param message Order
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.Order, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this Order to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for Order
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Represents an OrderService */
                class OrderService extends $protobuf.rpc.Service {

                    /**
                     * Constructs a new OrderService service.
                     * @param rpcImpl RPC implementation
                     * @param [requestDelimited=false] Whether requests are length-delimited
                     * @param [responseDelimited=false] Whether responses are length-delimited
                     */
                    constructor(rpcImpl: $protobuf.RPCImpl, requestDelimited?: boolean, responseDelimited?: boolean);

                    /**
                     * Creates new OrderService service using the specified rpc implementation.
                     * @param rpcImpl RPC implementation
                     * @param [requestDelimited=false] Whether requests are length-delimited
                     * @param [responseDelimited=false] Whether responses are length-delimited
                     * @returns RPC service. Useful where requests and/or responses are streamed.
                     */
                    public static create(rpcImpl: $protobuf.RPCImpl, requestDelimited?: boolean, responseDelimited?: boolean): OrderService;

                    /**
                     * Calls GetOrder.
                     * @param request GetOrderRequest message or plain object
                     * @param callback Node-style callback called with the error, if any, and Order
                     */
                    public getOrder(request: google.ads.admanager.v1.IGetOrderRequest, callback: google.ads.admanager.v1.OrderService.GetOrderCallback): void;

                    /**
                     * Calls GetOrder.
                     * @param request GetOrderRequest message or plain object
                     * @returns Promise
                     */
                    public getOrder(request: google.ads.admanager.v1.IGetOrderRequest): Promise<google.ads.admanager.v1.Order>;

                    /**
                     * Calls ListOrders.
                     * @param request ListOrdersRequest message or plain object
                     * @param callback Node-style callback called with the error, if any, and ListOrdersResponse
                     */
                    public listOrders(request: google.ads.admanager.v1.IListOrdersRequest, callback: google.ads.admanager.v1.OrderService.ListOrdersCallback): void;

                    /**
                     * Calls ListOrders.
                     * @param request ListOrdersRequest message or plain object
                     * @returns Promise
                     */
                    public listOrders(request: google.ads.admanager.v1.IListOrdersRequest): Promise<google.ads.admanager.v1.ListOrdersResponse>;
                }

                namespace OrderService {

                    /**
                     * Callback as used by {@link google.ads.admanager.v1.OrderService|getOrder}.
                     * @param error Error, if any
                     * @param [response] Order
                     */
                    type GetOrderCallback = (error: (Error|null), response?: google.ads.admanager.v1.Order) => void;

                    /**
                     * Callback as used by {@link google.ads.admanager.v1.OrderService|listOrders}.
                     * @param error Error, if any
                     * @param [response] ListOrdersResponse
                     */
                    type ListOrdersCallback = (error: (Error|null), response?: google.ads.admanager.v1.ListOrdersResponse) => void;
                }

                /** Properties of a GetOrderRequest. */
                interface IGetOrderRequest {

                    /** GetOrderRequest name */
                    name?: (string|null);
                }

                /** Represents a GetOrderRequest. */
                class GetOrderRequest implements IGetOrderRequest {

                    /**
                     * Constructs a new GetOrderRequest.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IGetOrderRequest);

                    /** GetOrderRequest name. */
                    public name: string;

                    /**
                     * Creates a new GetOrderRequest instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns GetOrderRequest instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IGetOrderRequest): google.ads.admanager.v1.GetOrderRequest;

                    /**
                     * Encodes the specified GetOrderRequest message. Does not implicitly {@link google.ads.admanager.v1.GetOrderRequest.verify|verify} messages.
                     * @param message GetOrderRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IGetOrderRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified GetOrderRequest message, length delimited. Does not implicitly {@link google.ads.admanager.v1.GetOrderRequest.verify|verify} messages.
                     * @param message GetOrderRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IGetOrderRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a GetOrderRequest message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns GetOrderRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.GetOrderRequest;

                    /**
                     * Decodes a GetOrderRequest message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns GetOrderRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.GetOrderRequest;

                    /**
                     * Verifies a GetOrderRequest message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a GetOrderRequest message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns GetOrderRequest
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.GetOrderRequest;

                    /**
                     * Creates a plain object from a GetOrderRequest message. Also converts values to other types if specified.
                     * @param message GetOrderRequest
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.GetOrderRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this GetOrderRequest to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for GetOrderRequest
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a ListOrdersRequest. */
                interface IListOrdersRequest {

                    /** ListOrdersRequest parent */
                    parent?: (string|null);

                    /** ListOrdersRequest pageSize */
                    pageSize?: (number|null);

                    /** ListOrdersRequest pageToken */
                    pageToken?: (string|null);

                    /** ListOrdersRequest filter */
                    filter?: (string|null);

                    /** ListOrdersRequest orderBy */
                    orderBy?: (string|null);

                    /** ListOrdersRequest skip */
                    skip?: (number|null);
                }

                /** Represents a ListOrdersRequest. */
                class ListOrdersRequest implements IListOrdersRequest {

                    /**
                     * Constructs a new ListOrdersRequest.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IListOrdersRequest);

                    /** ListOrdersRequest parent. */
                    public parent: string;

                    /** ListOrdersRequest pageSize. */
                    public pageSize: number;

                    /** ListOrdersRequest pageToken. */
                    public pageToken: string;

                    /** ListOrdersRequest filter. */
                    public filter: string;

                    /** ListOrdersRequest orderBy. */
                    public orderBy: string;

                    /** ListOrdersRequest skip. */
                    public skip: number;

                    /**
                     * Creates a new ListOrdersRequest instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns ListOrdersRequest instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IListOrdersRequest): google.ads.admanager.v1.ListOrdersRequest;

                    /**
                     * Encodes the specified ListOrdersRequest message. Does not implicitly {@link google.ads.admanager.v1.ListOrdersRequest.verify|verify} messages.
                     * @param message ListOrdersRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IListOrdersRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified ListOrdersRequest message, length delimited. Does not implicitly {@link google.ads.admanager.v1.ListOrdersRequest.verify|verify} messages.
                     * @param message ListOrdersRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IListOrdersRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a ListOrdersRequest message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns ListOrdersRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.ListOrdersRequest;

                    /**
                     * Decodes a ListOrdersRequest message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns ListOrdersRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.ListOrdersRequest;

                    /**
                     * Verifies a ListOrdersRequest message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a ListOrdersRequest message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns ListOrdersRequest
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.ListOrdersRequest;

                    /**
                     * Creates a plain object from a ListOrdersRequest message. Also converts values to other types if specified.
                     * @param message ListOrdersRequest
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.ListOrdersRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this ListOrdersRequest to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for ListOrdersRequest
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a ListOrdersResponse. */
                interface IListOrdersResponse {

                    /** ListOrdersResponse orders */
                    orders?: (google.ads.admanager.v1.IOrder[]|null);

                    /** ListOrdersResponse nextPageToken */
                    nextPageToken?: (string|null);

                    /** ListOrdersResponse totalSize */
                    totalSize?: (number|null);
                }

                /** Represents a ListOrdersResponse. */
                class ListOrdersResponse implements IListOrdersResponse {

                    /**
                     * Constructs a new ListOrdersResponse.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IListOrdersResponse);

                    /** ListOrdersResponse orders. */
                    public orders: google.ads.admanager.v1.IOrder[];

                    /** ListOrdersResponse nextPageToken. */
                    public nextPageToken: string;

                    /** ListOrdersResponse totalSize. */
                    public totalSize: number;

                    /**
                     * Creates a new ListOrdersResponse instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns ListOrdersResponse instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IListOrdersResponse): google.ads.admanager.v1.ListOrdersResponse;

                    /**
                     * Encodes the specified ListOrdersResponse message. Does not implicitly {@link google.ads.admanager.v1.ListOrdersResponse.verify|verify} messages.
                     * @param message ListOrdersResponse message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IListOrdersResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified ListOrdersResponse message, length delimited. Does not implicitly {@link google.ads.admanager.v1.ListOrdersResponse.verify|verify} messages.
                     * @param message ListOrdersResponse message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IListOrdersResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a ListOrdersResponse message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns ListOrdersResponse
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.ListOrdersResponse;

                    /**
                     * Decodes a ListOrdersResponse message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns ListOrdersResponse
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.ListOrdersResponse;

                    /**
                     * Verifies a ListOrdersResponse message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a ListOrdersResponse message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns ListOrdersResponse
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.ListOrdersResponse;

                    /**
                     * Creates a plain object from a ListOrdersResponse message. Also converts values to other types if specified.
                     * @param message ListOrdersResponse
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.ListOrdersResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this ListOrdersResponse to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for ListOrdersResponse
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a PlacementStatusEnum. */
                interface IPlacementStatusEnum {
                }

                /** Represents a PlacementStatusEnum. */
                class PlacementStatusEnum implements IPlacementStatusEnum {

                    /**
                     * Constructs a new PlacementStatusEnum.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IPlacementStatusEnum);

                    /**
                     * Creates a new PlacementStatusEnum instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns PlacementStatusEnum instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IPlacementStatusEnum): google.ads.admanager.v1.PlacementStatusEnum;

                    /**
                     * Encodes the specified PlacementStatusEnum message. Does not implicitly {@link google.ads.admanager.v1.PlacementStatusEnum.verify|verify} messages.
                     * @param message PlacementStatusEnum message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IPlacementStatusEnum, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified PlacementStatusEnum message, length delimited. Does not implicitly {@link google.ads.admanager.v1.PlacementStatusEnum.verify|verify} messages.
                     * @param message PlacementStatusEnum message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IPlacementStatusEnum, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a PlacementStatusEnum message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns PlacementStatusEnum
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.PlacementStatusEnum;

                    /**
                     * Decodes a PlacementStatusEnum message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns PlacementStatusEnum
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.PlacementStatusEnum;

                    /**
                     * Verifies a PlacementStatusEnum message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a PlacementStatusEnum message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns PlacementStatusEnum
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.PlacementStatusEnum;

                    /**
                     * Creates a plain object from a PlacementStatusEnum message. Also converts values to other types if specified.
                     * @param message PlacementStatusEnum
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.PlacementStatusEnum, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this PlacementStatusEnum to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for PlacementStatusEnum
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                namespace PlacementStatusEnum {

                    /** PlacementStatus enum. */
                    enum PlacementStatus {
                        PLACEMENT_STATUS_UNSPECIFIED = 0,
                        ACTIVE = 1,
                        INACTIVE = 2,
                        ARCHIVED = 3
                    }
                }

                /** Properties of a Placement. */
                interface IPlacement {

                    /** Placement name */
                    name?: (string|null);

                    /** Placement placementId */
                    placementId?: (number|Long|string|null);

                    /** Placement displayName */
                    displayName?: (string|null);

                    /** Placement description */
                    description?: (string|null);

                    /** Placement placementCode */
                    placementCode?: (string|null);

                    /** Placement status */
                    status?: (google.ads.admanager.v1.PlacementStatusEnum.PlacementStatus|keyof typeof google.ads.admanager.v1.PlacementStatusEnum.PlacementStatus|null);

                    /** Placement targetedAdUnits */
                    targetedAdUnits?: (string[]|null);

                    /** Placement updateTime */
                    updateTime?: (google.protobuf.ITimestamp|null);
                }

                /** Represents a Placement. */
                class Placement implements IPlacement {

                    /**
                     * Constructs a new Placement.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IPlacement);

                    /** Placement name. */
                    public name: string;

                    /** Placement placementId. */
                    public placementId: (number|Long|string);

                    /** Placement displayName. */
                    public displayName?: (string|null);

                    /** Placement description. */
                    public description?: (string|null);

                    /** Placement placementCode. */
                    public placementCode?: (string|null);

                    /** Placement status. */
                    public status?: (google.ads.admanager.v1.PlacementStatusEnum.PlacementStatus|keyof typeof google.ads.admanager.v1.PlacementStatusEnum.PlacementStatus|null);

                    /** Placement targetedAdUnits. */
                    public targetedAdUnits: string[];

                    /** Placement updateTime. */
                    public updateTime?: (google.protobuf.ITimestamp|null);

                    /**
                     * Creates a new Placement instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns Placement instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IPlacement): google.ads.admanager.v1.Placement;

                    /**
                     * Encodes the specified Placement message. Does not implicitly {@link google.ads.admanager.v1.Placement.verify|verify} messages.
                     * @param message Placement message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IPlacement, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified Placement message, length delimited. Does not implicitly {@link google.ads.admanager.v1.Placement.verify|verify} messages.
                     * @param message Placement message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IPlacement, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a Placement message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns Placement
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.Placement;

                    /**
                     * Decodes a Placement message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns Placement
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.Placement;

                    /**
                     * Verifies a Placement message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a Placement message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns Placement
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.Placement;

                    /**
                     * Creates a plain object from a Placement message. Also converts values to other types if specified.
                     * @param message Placement
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.Placement, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this Placement to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for Placement
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Represents a PlacementService */
                class PlacementService extends $protobuf.rpc.Service {

                    /**
                     * Constructs a new PlacementService service.
                     * @param rpcImpl RPC implementation
                     * @param [requestDelimited=false] Whether requests are length-delimited
                     * @param [responseDelimited=false] Whether responses are length-delimited
                     */
                    constructor(rpcImpl: $protobuf.RPCImpl, requestDelimited?: boolean, responseDelimited?: boolean);

                    /**
                     * Creates new PlacementService service using the specified rpc implementation.
                     * @param rpcImpl RPC implementation
                     * @param [requestDelimited=false] Whether requests are length-delimited
                     * @param [responseDelimited=false] Whether responses are length-delimited
                     * @returns RPC service. Useful where requests and/or responses are streamed.
                     */
                    public static create(rpcImpl: $protobuf.RPCImpl, requestDelimited?: boolean, responseDelimited?: boolean): PlacementService;

                    /**
                     * Calls GetPlacement.
                     * @param request GetPlacementRequest message or plain object
                     * @param callback Node-style callback called with the error, if any, and Placement
                     */
                    public getPlacement(request: google.ads.admanager.v1.IGetPlacementRequest, callback: google.ads.admanager.v1.PlacementService.GetPlacementCallback): void;

                    /**
                     * Calls GetPlacement.
                     * @param request GetPlacementRequest message or plain object
                     * @returns Promise
                     */
                    public getPlacement(request: google.ads.admanager.v1.IGetPlacementRequest): Promise<google.ads.admanager.v1.Placement>;

                    /**
                     * Calls ListPlacements.
                     * @param request ListPlacementsRequest message or plain object
                     * @param callback Node-style callback called with the error, if any, and ListPlacementsResponse
                     */
                    public listPlacements(request: google.ads.admanager.v1.IListPlacementsRequest, callback: google.ads.admanager.v1.PlacementService.ListPlacementsCallback): void;

                    /**
                     * Calls ListPlacements.
                     * @param request ListPlacementsRequest message or plain object
                     * @returns Promise
                     */
                    public listPlacements(request: google.ads.admanager.v1.IListPlacementsRequest): Promise<google.ads.admanager.v1.ListPlacementsResponse>;

                    /**
                     * Calls CreatePlacement.
                     * @param request CreatePlacementRequest message or plain object
                     * @param callback Node-style callback called with the error, if any, and Placement
                     */
                    public createPlacement(request: google.ads.admanager.v1.ICreatePlacementRequest, callback: google.ads.admanager.v1.PlacementService.CreatePlacementCallback): void;

                    /**
                     * Calls CreatePlacement.
                     * @param request CreatePlacementRequest message or plain object
                     * @returns Promise
                     */
                    public createPlacement(request: google.ads.admanager.v1.ICreatePlacementRequest): Promise<google.ads.admanager.v1.Placement>;

                    /**
                     * Calls UpdatePlacement.
                     * @param request UpdatePlacementRequest message or plain object
                     * @param callback Node-style callback called with the error, if any, and Placement
                     */
                    public updatePlacement(request: google.ads.admanager.v1.IUpdatePlacementRequest, callback: google.ads.admanager.v1.PlacementService.UpdatePlacementCallback): void;

                    /**
                     * Calls UpdatePlacement.
                     * @param request UpdatePlacementRequest message or plain object
                     * @returns Promise
                     */
                    public updatePlacement(request: google.ads.admanager.v1.IUpdatePlacementRequest): Promise<google.ads.admanager.v1.Placement>;

                    /**
                     * Calls BatchCreatePlacements.
                     * @param request BatchCreatePlacementsRequest message or plain object
                     * @param callback Node-style callback called with the error, if any, and BatchCreatePlacementsResponse
                     */
                    public batchCreatePlacements(request: google.ads.admanager.v1.IBatchCreatePlacementsRequest, callback: google.ads.admanager.v1.PlacementService.BatchCreatePlacementsCallback): void;

                    /**
                     * Calls BatchCreatePlacements.
                     * @param request BatchCreatePlacementsRequest message or plain object
                     * @returns Promise
                     */
                    public batchCreatePlacements(request: google.ads.admanager.v1.IBatchCreatePlacementsRequest): Promise<google.ads.admanager.v1.BatchCreatePlacementsResponse>;

                    /**
                     * Calls BatchUpdatePlacements.
                     * @param request BatchUpdatePlacementsRequest message or plain object
                     * @param callback Node-style callback called with the error, if any, and BatchUpdatePlacementsResponse
                     */
                    public batchUpdatePlacements(request: google.ads.admanager.v1.IBatchUpdatePlacementsRequest, callback: google.ads.admanager.v1.PlacementService.BatchUpdatePlacementsCallback): void;

                    /**
                     * Calls BatchUpdatePlacements.
                     * @param request BatchUpdatePlacementsRequest message or plain object
                     * @returns Promise
                     */
                    public batchUpdatePlacements(request: google.ads.admanager.v1.IBatchUpdatePlacementsRequest): Promise<google.ads.admanager.v1.BatchUpdatePlacementsResponse>;

                    /**
                     * Calls BatchActivatePlacements.
                     * @param request BatchActivatePlacementsRequest message or plain object
                     * @param callback Node-style callback called with the error, if any, and BatchActivatePlacementsResponse
                     */
                    public batchActivatePlacements(request: google.ads.admanager.v1.IBatchActivatePlacementsRequest, callback: google.ads.admanager.v1.PlacementService.BatchActivatePlacementsCallback): void;

                    /**
                     * Calls BatchActivatePlacements.
                     * @param request BatchActivatePlacementsRequest message or plain object
                     * @returns Promise
                     */
                    public batchActivatePlacements(request: google.ads.admanager.v1.IBatchActivatePlacementsRequest): Promise<google.ads.admanager.v1.BatchActivatePlacementsResponse>;

                    /**
                     * Calls BatchDeactivatePlacements.
                     * @param request BatchDeactivatePlacementsRequest message or plain object
                     * @param callback Node-style callback called with the error, if any, and BatchDeactivatePlacementsResponse
                     */
                    public batchDeactivatePlacements(request: google.ads.admanager.v1.IBatchDeactivatePlacementsRequest, callback: google.ads.admanager.v1.PlacementService.BatchDeactivatePlacementsCallback): void;

                    /**
                     * Calls BatchDeactivatePlacements.
                     * @param request BatchDeactivatePlacementsRequest message or plain object
                     * @returns Promise
                     */
                    public batchDeactivatePlacements(request: google.ads.admanager.v1.IBatchDeactivatePlacementsRequest): Promise<google.ads.admanager.v1.BatchDeactivatePlacementsResponse>;

                    /**
                     * Calls BatchArchivePlacements.
                     * @param request BatchArchivePlacementsRequest message or plain object
                     * @param callback Node-style callback called with the error, if any, and BatchArchivePlacementsResponse
                     */
                    public batchArchivePlacements(request: google.ads.admanager.v1.IBatchArchivePlacementsRequest, callback: google.ads.admanager.v1.PlacementService.BatchArchivePlacementsCallback): void;

                    /**
                     * Calls BatchArchivePlacements.
                     * @param request BatchArchivePlacementsRequest message or plain object
                     * @returns Promise
                     */
                    public batchArchivePlacements(request: google.ads.admanager.v1.IBatchArchivePlacementsRequest): Promise<google.ads.admanager.v1.BatchArchivePlacementsResponse>;
                }

                namespace PlacementService {

                    /**
                     * Callback as used by {@link google.ads.admanager.v1.PlacementService|getPlacement}.
                     * @param error Error, if any
                     * @param [response] Placement
                     */
                    type GetPlacementCallback = (error: (Error|null), response?: google.ads.admanager.v1.Placement) => void;

                    /**
                     * Callback as used by {@link google.ads.admanager.v1.PlacementService|listPlacements}.
                     * @param error Error, if any
                     * @param [response] ListPlacementsResponse
                     */
                    type ListPlacementsCallback = (error: (Error|null), response?: google.ads.admanager.v1.ListPlacementsResponse) => void;

                    /**
                     * Callback as used by {@link google.ads.admanager.v1.PlacementService|createPlacement}.
                     * @param error Error, if any
                     * @param [response] Placement
                     */
                    type CreatePlacementCallback = (error: (Error|null), response?: google.ads.admanager.v1.Placement) => void;

                    /**
                     * Callback as used by {@link google.ads.admanager.v1.PlacementService|updatePlacement}.
                     * @param error Error, if any
                     * @param [response] Placement
                     */
                    type UpdatePlacementCallback = (error: (Error|null), response?: google.ads.admanager.v1.Placement) => void;

                    /**
                     * Callback as used by {@link google.ads.admanager.v1.PlacementService|batchCreatePlacements}.
                     * @param error Error, if any
                     * @param [response] BatchCreatePlacementsResponse
                     */
                    type BatchCreatePlacementsCallback = (error: (Error|null), response?: google.ads.admanager.v1.BatchCreatePlacementsResponse) => void;

                    /**
                     * Callback as used by {@link google.ads.admanager.v1.PlacementService|batchUpdatePlacements}.
                     * @param error Error, if any
                     * @param [response] BatchUpdatePlacementsResponse
                     */
                    type BatchUpdatePlacementsCallback = (error: (Error|null), response?: google.ads.admanager.v1.BatchUpdatePlacementsResponse) => void;

                    /**
                     * Callback as used by {@link google.ads.admanager.v1.PlacementService|batchActivatePlacements}.
                     * @param error Error, if any
                     * @param [response] BatchActivatePlacementsResponse
                     */
                    type BatchActivatePlacementsCallback = (error: (Error|null), response?: google.ads.admanager.v1.BatchActivatePlacementsResponse) => void;

                    /**
                     * Callback as used by {@link google.ads.admanager.v1.PlacementService|batchDeactivatePlacements}.
                     * @param error Error, if any
                     * @param [response] BatchDeactivatePlacementsResponse
                     */
                    type BatchDeactivatePlacementsCallback = (error: (Error|null), response?: google.ads.admanager.v1.BatchDeactivatePlacementsResponse) => void;

                    /**
                     * Callback as used by {@link google.ads.admanager.v1.PlacementService|batchArchivePlacements}.
                     * @param error Error, if any
                     * @param [response] BatchArchivePlacementsResponse
                     */
                    type BatchArchivePlacementsCallback = (error: (Error|null), response?: google.ads.admanager.v1.BatchArchivePlacementsResponse) => void;
                }

                /** Properties of a GetPlacementRequest. */
                interface IGetPlacementRequest {

                    /** GetPlacementRequest name */
                    name?: (string|null);
                }

                /** Represents a GetPlacementRequest. */
                class GetPlacementRequest implements IGetPlacementRequest {

                    /**
                     * Constructs a new GetPlacementRequest.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IGetPlacementRequest);

                    /** GetPlacementRequest name. */
                    public name: string;

                    /**
                     * Creates a new GetPlacementRequest instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns GetPlacementRequest instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IGetPlacementRequest): google.ads.admanager.v1.GetPlacementRequest;

                    /**
                     * Encodes the specified GetPlacementRequest message. Does not implicitly {@link google.ads.admanager.v1.GetPlacementRequest.verify|verify} messages.
                     * @param message GetPlacementRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IGetPlacementRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified GetPlacementRequest message, length delimited. Does not implicitly {@link google.ads.admanager.v1.GetPlacementRequest.verify|verify} messages.
                     * @param message GetPlacementRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IGetPlacementRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a GetPlacementRequest message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns GetPlacementRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.GetPlacementRequest;

                    /**
                     * Decodes a GetPlacementRequest message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns GetPlacementRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.GetPlacementRequest;

                    /**
                     * Verifies a GetPlacementRequest message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a GetPlacementRequest message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns GetPlacementRequest
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.GetPlacementRequest;

                    /**
                     * Creates a plain object from a GetPlacementRequest message. Also converts values to other types if specified.
                     * @param message GetPlacementRequest
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.GetPlacementRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this GetPlacementRequest to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for GetPlacementRequest
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a ListPlacementsRequest. */
                interface IListPlacementsRequest {

                    /** ListPlacementsRequest parent */
                    parent?: (string|null);

                    /** ListPlacementsRequest pageSize */
                    pageSize?: (number|null);

                    /** ListPlacementsRequest pageToken */
                    pageToken?: (string|null);

                    /** ListPlacementsRequest filter */
                    filter?: (string|null);

                    /** ListPlacementsRequest orderBy */
                    orderBy?: (string|null);

                    /** ListPlacementsRequest skip */
                    skip?: (number|null);
                }

                /** Represents a ListPlacementsRequest. */
                class ListPlacementsRequest implements IListPlacementsRequest {

                    /**
                     * Constructs a new ListPlacementsRequest.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IListPlacementsRequest);

                    /** ListPlacementsRequest parent. */
                    public parent: string;

                    /** ListPlacementsRequest pageSize. */
                    public pageSize: number;

                    /** ListPlacementsRequest pageToken. */
                    public pageToken: string;

                    /** ListPlacementsRequest filter. */
                    public filter: string;

                    /** ListPlacementsRequest orderBy. */
                    public orderBy: string;

                    /** ListPlacementsRequest skip. */
                    public skip: number;

                    /**
                     * Creates a new ListPlacementsRequest instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns ListPlacementsRequest instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IListPlacementsRequest): google.ads.admanager.v1.ListPlacementsRequest;

                    /**
                     * Encodes the specified ListPlacementsRequest message. Does not implicitly {@link google.ads.admanager.v1.ListPlacementsRequest.verify|verify} messages.
                     * @param message ListPlacementsRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IListPlacementsRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified ListPlacementsRequest message, length delimited. Does not implicitly {@link google.ads.admanager.v1.ListPlacementsRequest.verify|verify} messages.
                     * @param message ListPlacementsRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IListPlacementsRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a ListPlacementsRequest message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns ListPlacementsRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.ListPlacementsRequest;

                    /**
                     * Decodes a ListPlacementsRequest message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns ListPlacementsRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.ListPlacementsRequest;

                    /**
                     * Verifies a ListPlacementsRequest message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a ListPlacementsRequest message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns ListPlacementsRequest
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.ListPlacementsRequest;

                    /**
                     * Creates a plain object from a ListPlacementsRequest message. Also converts values to other types if specified.
                     * @param message ListPlacementsRequest
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.ListPlacementsRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this ListPlacementsRequest to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for ListPlacementsRequest
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a ListPlacementsResponse. */
                interface IListPlacementsResponse {

                    /** ListPlacementsResponse placements */
                    placements?: (google.ads.admanager.v1.IPlacement[]|null);

                    /** ListPlacementsResponse nextPageToken */
                    nextPageToken?: (string|null);

                    /** ListPlacementsResponse totalSize */
                    totalSize?: (number|null);
                }

                /** Represents a ListPlacementsResponse. */
                class ListPlacementsResponse implements IListPlacementsResponse {

                    /**
                     * Constructs a new ListPlacementsResponse.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IListPlacementsResponse);

                    /** ListPlacementsResponse placements. */
                    public placements: google.ads.admanager.v1.IPlacement[];

                    /** ListPlacementsResponse nextPageToken. */
                    public nextPageToken: string;

                    /** ListPlacementsResponse totalSize. */
                    public totalSize: number;

                    /**
                     * Creates a new ListPlacementsResponse instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns ListPlacementsResponse instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IListPlacementsResponse): google.ads.admanager.v1.ListPlacementsResponse;

                    /**
                     * Encodes the specified ListPlacementsResponse message. Does not implicitly {@link google.ads.admanager.v1.ListPlacementsResponse.verify|verify} messages.
                     * @param message ListPlacementsResponse message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IListPlacementsResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified ListPlacementsResponse message, length delimited. Does not implicitly {@link google.ads.admanager.v1.ListPlacementsResponse.verify|verify} messages.
                     * @param message ListPlacementsResponse message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IListPlacementsResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a ListPlacementsResponse message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns ListPlacementsResponse
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.ListPlacementsResponse;

                    /**
                     * Decodes a ListPlacementsResponse message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns ListPlacementsResponse
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.ListPlacementsResponse;

                    /**
                     * Verifies a ListPlacementsResponse message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a ListPlacementsResponse message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns ListPlacementsResponse
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.ListPlacementsResponse;

                    /**
                     * Creates a plain object from a ListPlacementsResponse message. Also converts values to other types if specified.
                     * @param message ListPlacementsResponse
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.ListPlacementsResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this ListPlacementsResponse to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for ListPlacementsResponse
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a CreatePlacementRequest. */
                interface ICreatePlacementRequest {

                    /** CreatePlacementRequest parent */
                    parent?: (string|null);

                    /** CreatePlacementRequest placement */
                    placement?: (google.ads.admanager.v1.IPlacement|null);
                }

                /** Represents a CreatePlacementRequest. */
                class CreatePlacementRequest implements ICreatePlacementRequest {

                    /**
                     * Constructs a new CreatePlacementRequest.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.ICreatePlacementRequest);

                    /** CreatePlacementRequest parent. */
                    public parent: string;

                    /** CreatePlacementRequest placement. */
                    public placement?: (google.ads.admanager.v1.IPlacement|null);

                    /**
                     * Creates a new CreatePlacementRequest instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns CreatePlacementRequest instance
                     */
                    public static create(properties?: google.ads.admanager.v1.ICreatePlacementRequest): google.ads.admanager.v1.CreatePlacementRequest;

                    /**
                     * Encodes the specified CreatePlacementRequest message. Does not implicitly {@link google.ads.admanager.v1.CreatePlacementRequest.verify|verify} messages.
                     * @param message CreatePlacementRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.ICreatePlacementRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified CreatePlacementRequest message, length delimited. Does not implicitly {@link google.ads.admanager.v1.CreatePlacementRequest.verify|verify} messages.
                     * @param message CreatePlacementRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.ICreatePlacementRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a CreatePlacementRequest message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns CreatePlacementRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.CreatePlacementRequest;

                    /**
                     * Decodes a CreatePlacementRequest message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns CreatePlacementRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.CreatePlacementRequest;

                    /**
                     * Verifies a CreatePlacementRequest message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a CreatePlacementRequest message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns CreatePlacementRequest
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.CreatePlacementRequest;

                    /**
                     * Creates a plain object from a CreatePlacementRequest message. Also converts values to other types if specified.
                     * @param message CreatePlacementRequest
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.CreatePlacementRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this CreatePlacementRequest to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for CreatePlacementRequest
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a BatchCreatePlacementsRequest. */
                interface IBatchCreatePlacementsRequest {

                    /** BatchCreatePlacementsRequest parent */
                    parent?: (string|null);

                    /** BatchCreatePlacementsRequest requests */
                    requests?: (google.ads.admanager.v1.ICreatePlacementRequest[]|null);
                }

                /** Represents a BatchCreatePlacementsRequest. */
                class BatchCreatePlacementsRequest implements IBatchCreatePlacementsRequest {

                    /**
                     * Constructs a new BatchCreatePlacementsRequest.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IBatchCreatePlacementsRequest);

                    /** BatchCreatePlacementsRequest parent. */
                    public parent: string;

                    /** BatchCreatePlacementsRequest requests. */
                    public requests: google.ads.admanager.v1.ICreatePlacementRequest[];

                    /**
                     * Creates a new BatchCreatePlacementsRequest instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns BatchCreatePlacementsRequest instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IBatchCreatePlacementsRequest): google.ads.admanager.v1.BatchCreatePlacementsRequest;

                    /**
                     * Encodes the specified BatchCreatePlacementsRequest message. Does not implicitly {@link google.ads.admanager.v1.BatchCreatePlacementsRequest.verify|verify} messages.
                     * @param message BatchCreatePlacementsRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IBatchCreatePlacementsRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified BatchCreatePlacementsRequest message, length delimited. Does not implicitly {@link google.ads.admanager.v1.BatchCreatePlacementsRequest.verify|verify} messages.
                     * @param message BatchCreatePlacementsRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IBatchCreatePlacementsRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a BatchCreatePlacementsRequest message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns BatchCreatePlacementsRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.BatchCreatePlacementsRequest;

                    /**
                     * Decodes a BatchCreatePlacementsRequest message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns BatchCreatePlacementsRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.BatchCreatePlacementsRequest;

                    /**
                     * Verifies a BatchCreatePlacementsRequest message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a BatchCreatePlacementsRequest message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns BatchCreatePlacementsRequest
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.BatchCreatePlacementsRequest;

                    /**
                     * Creates a plain object from a BatchCreatePlacementsRequest message. Also converts values to other types if specified.
                     * @param message BatchCreatePlacementsRequest
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.BatchCreatePlacementsRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this BatchCreatePlacementsRequest to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for BatchCreatePlacementsRequest
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a BatchCreatePlacementsResponse. */
                interface IBatchCreatePlacementsResponse {

                    /** BatchCreatePlacementsResponse placements */
                    placements?: (google.ads.admanager.v1.IPlacement[]|null);
                }

                /** Represents a BatchCreatePlacementsResponse. */
                class BatchCreatePlacementsResponse implements IBatchCreatePlacementsResponse {

                    /**
                     * Constructs a new BatchCreatePlacementsResponse.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IBatchCreatePlacementsResponse);

                    /** BatchCreatePlacementsResponse placements. */
                    public placements: google.ads.admanager.v1.IPlacement[];

                    /**
                     * Creates a new BatchCreatePlacementsResponse instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns BatchCreatePlacementsResponse instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IBatchCreatePlacementsResponse): google.ads.admanager.v1.BatchCreatePlacementsResponse;

                    /**
                     * Encodes the specified BatchCreatePlacementsResponse message. Does not implicitly {@link google.ads.admanager.v1.BatchCreatePlacementsResponse.verify|verify} messages.
                     * @param message BatchCreatePlacementsResponse message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IBatchCreatePlacementsResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified BatchCreatePlacementsResponse message, length delimited. Does not implicitly {@link google.ads.admanager.v1.BatchCreatePlacementsResponse.verify|verify} messages.
                     * @param message BatchCreatePlacementsResponse message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IBatchCreatePlacementsResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a BatchCreatePlacementsResponse message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns BatchCreatePlacementsResponse
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.BatchCreatePlacementsResponse;

                    /**
                     * Decodes a BatchCreatePlacementsResponse message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns BatchCreatePlacementsResponse
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.BatchCreatePlacementsResponse;

                    /**
                     * Verifies a BatchCreatePlacementsResponse message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a BatchCreatePlacementsResponse message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns BatchCreatePlacementsResponse
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.BatchCreatePlacementsResponse;

                    /**
                     * Creates a plain object from a BatchCreatePlacementsResponse message. Also converts values to other types if specified.
                     * @param message BatchCreatePlacementsResponse
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.BatchCreatePlacementsResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this BatchCreatePlacementsResponse to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for BatchCreatePlacementsResponse
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of an UpdatePlacementRequest. */
                interface IUpdatePlacementRequest {

                    /** UpdatePlacementRequest placement */
                    placement?: (google.ads.admanager.v1.IPlacement|null);

                    /** UpdatePlacementRequest updateMask */
                    updateMask?: (google.protobuf.IFieldMask|null);
                }

                /** Represents an UpdatePlacementRequest. */
                class UpdatePlacementRequest implements IUpdatePlacementRequest {

                    /**
                     * Constructs a new UpdatePlacementRequest.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IUpdatePlacementRequest);

                    /** UpdatePlacementRequest placement. */
                    public placement?: (google.ads.admanager.v1.IPlacement|null);

                    /** UpdatePlacementRequest updateMask. */
                    public updateMask?: (google.protobuf.IFieldMask|null);

                    /**
                     * Creates a new UpdatePlacementRequest instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns UpdatePlacementRequest instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IUpdatePlacementRequest): google.ads.admanager.v1.UpdatePlacementRequest;

                    /**
                     * Encodes the specified UpdatePlacementRequest message. Does not implicitly {@link google.ads.admanager.v1.UpdatePlacementRequest.verify|verify} messages.
                     * @param message UpdatePlacementRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IUpdatePlacementRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified UpdatePlacementRequest message, length delimited. Does not implicitly {@link google.ads.admanager.v1.UpdatePlacementRequest.verify|verify} messages.
                     * @param message UpdatePlacementRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IUpdatePlacementRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes an UpdatePlacementRequest message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns UpdatePlacementRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.UpdatePlacementRequest;

                    /**
                     * Decodes an UpdatePlacementRequest message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns UpdatePlacementRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.UpdatePlacementRequest;

                    /**
                     * Verifies an UpdatePlacementRequest message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates an UpdatePlacementRequest message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns UpdatePlacementRequest
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.UpdatePlacementRequest;

                    /**
                     * Creates a plain object from an UpdatePlacementRequest message. Also converts values to other types if specified.
                     * @param message UpdatePlacementRequest
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.UpdatePlacementRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this UpdatePlacementRequest to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for UpdatePlacementRequest
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a BatchUpdatePlacementsRequest. */
                interface IBatchUpdatePlacementsRequest {

                    /** BatchUpdatePlacementsRequest parent */
                    parent?: (string|null);

                    /** BatchUpdatePlacementsRequest requests */
                    requests?: (google.ads.admanager.v1.IUpdatePlacementRequest[]|null);
                }

                /** Represents a BatchUpdatePlacementsRequest. */
                class BatchUpdatePlacementsRequest implements IBatchUpdatePlacementsRequest {

                    /**
                     * Constructs a new BatchUpdatePlacementsRequest.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IBatchUpdatePlacementsRequest);

                    /** BatchUpdatePlacementsRequest parent. */
                    public parent: string;

                    /** BatchUpdatePlacementsRequest requests. */
                    public requests: google.ads.admanager.v1.IUpdatePlacementRequest[];

                    /**
                     * Creates a new BatchUpdatePlacementsRequest instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns BatchUpdatePlacementsRequest instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IBatchUpdatePlacementsRequest): google.ads.admanager.v1.BatchUpdatePlacementsRequest;

                    /**
                     * Encodes the specified BatchUpdatePlacementsRequest message. Does not implicitly {@link google.ads.admanager.v1.BatchUpdatePlacementsRequest.verify|verify} messages.
                     * @param message BatchUpdatePlacementsRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IBatchUpdatePlacementsRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified BatchUpdatePlacementsRequest message, length delimited. Does not implicitly {@link google.ads.admanager.v1.BatchUpdatePlacementsRequest.verify|verify} messages.
                     * @param message BatchUpdatePlacementsRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IBatchUpdatePlacementsRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a BatchUpdatePlacementsRequest message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns BatchUpdatePlacementsRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.BatchUpdatePlacementsRequest;

                    /**
                     * Decodes a BatchUpdatePlacementsRequest message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns BatchUpdatePlacementsRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.BatchUpdatePlacementsRequest;

                    /**
                     * Verifies a BatchUpdatePlacementsRequest message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a BatchUpdatePlacementsRequest message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns BatchUpdatePlacementsRequest
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.BatchUpdatePlacementsRequest;

                    /**
                     * Creates a plain object from a BatchUpdatePlacementsRequest message. Also converts values to other types if specified.
                     * @param message BatchUpdatePlacementsRequest
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.BatchUpdatePlacementsRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this BatchUpdatePlacementsRequest to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for BatchUpdatePlacementsRequest
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a BatchUpdatePlacementsResponse. */
                interface IBatchUpdatePlacementsResponse {

                    /** BatchUpdatePlacementsResponse placements */
                    placements?: (google.ads.admanager.v1.IPlacement[]|null);
                }

                /** Represents a BatchUpdatePlacementsResponse. */
                class BatchUpdatePlacementsResponse implements IBatchUpdatePlacementsResponse {

                    /**
                     * Constructs a new BatchUpdatePlacementsResponse.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IBatchUpdatePlacementsResponse);

                    /** BatchUpdatePlacementsResponse placements. */
                    public placements: google.ads.admanager.v1.IPlacement[];

                    /**
                     * Creates a new BatchUpdatePlacementsResponse instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns BatchUpdatePlacementsResponse instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IBatchUpdatePlacementsResponse): google.ads.admanager.v1.BatchUpdatePlacementsResponse;

                    /**
                     * Encodes the specified BatchUpdatePlacementsResponse message. Does not implicitly {@link google.ads.admanager.v1.BatchUpdatePlacementsResponse.verify|verify} messages.
                     * @param message BatchUpdatePlacementsResponse message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IBatchUpdatePlacementsResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified BatchUpdatePlacementsResponse message, length delimited. Does not implicitly {@link google.ads.admanager.v1.BatchUpdatePlacementsResponse.verify|verify} messages.
                     * @param message BatchUpdatePlacementsResponse message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IBatchUpdatePlacementsResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a BatchUpdatePlacementsResponse message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns BatchUpdatePlacementsResponse
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.BatchUpdatePlacementsResponse;

                    /**
                     * Decodes a BatchUpdatePlacementsResponse message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns BatchUpdatePlacementsResponse
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.BatchUpdatePlacementsResponse;

                    /**
                     * Verifies a BatchUpdatePlacementsResponse message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a BatchUpdatePlacementsResponse message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns BatchUpdatePlacementsResponse
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.BatchUpdatePlacementsResponse;

                    /**
                     * Creates a plain object from a BatchUpdatePlacementsResponse message. Also converts values to other types if specified.
                     * @param message BatchUpdatePlacementsResponse
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.BatchUpdatePlacementsResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this BatchUpdatePlacementsResponse to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for BatchUpdatePlacementsResponse
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a BatchActivatePlacementsRequest. */
                interface IBatchActivatePlacementsRequest {

                    /** BatchActivatePlacementsRequest parent */
                    parent?: (string|null);

                    /** BatchActivatePlacementsRequest names */
                    names?: (string[]|null);
                }

                /** Represents a BatchActivatePlacementsRequest. */
                class BatchActivatePlacementsRequest implements IBatchActivatePlacementsRequest {

                    /**
                     * Constructs a new BatchActivatePlacementsRequest.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IBatchActivatePlacementsRequest);

                    /** BatchActivatePlacementsRequest parent. */
                    public parent: string;

                    /** BatchActivatePlacementsRequest names. */
                    public names: string[];

                    /**
                     * Creates a new BatchActivatePlacementsRequest instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns BatchActivatePlacementsRequest instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IBatchActivatePlacementsRequest): google.ads.admanager.v1.BatchActivatePlacementsRequest;

                    /**
                     * Encodes the specified BatchActivatePlacementsRequest message. Does not implicitly {@link google.ads.admanager.v1.BatchActivatePlacementsRequest.verify|verify} messages.
                     * @param message BatchActivatePlacementsRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IBatchActivatePlacementsRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified BatchActivatePlacementsRequest message, length delimited. Does not implicitly {@link google.ads.admanager.v1.BatchActivatePlacementsRequest.verify|verify} messages.
                     * @param message BatchActivatePlacementsRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IBatchActivatePlacementsRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a BatchActivatePlacementsRequest message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns BatchActivatePlacementsRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.BatchActivatePlacementsRequest;

                    /**
                     * Decodes a BatchActivatePlacementsRequest message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns BatchActivatePlacementsRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.BatchActivatePlacementsRequest;

                    /**
                     * Verifies a BatchActivatePlacementsRequest message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a BatchActivatePlacementsRequest message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns BatchActivatePlacementsRequest
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.BatchActivatePlacementsRequest;

                    /**
                     * Creates a plain object from a BatchActivatePlacementsRequest message. Also converts values to other types if specified.
                     * @param message BatchActivatePlacementsRequest
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.BatchActivatePlacementsRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this BatchActivatePlacementsRequest to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for BatchActivatePlacementsRequest
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a BatchActivatePlacementsResponse. */
                interface IBatchActivatePlacementsResponse {
                }

                /** Represents a BatchActivatePlacementsResponse. */
                class BatchActivatePlacementsResponse implements IBatchActivatePlacementsResponse {

                    /**
                     * Constructs a new BatchActivatePlacementsResponse.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IBatchActivatePlacementsResponse);

                    /**
                     * Creates a new BatchActivatePlacementsResponse instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns BatchActivatePlacementsResponse instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IBatchActivatePlacementsResponse): google.ads.admanager.v1.BatchActivatePlacementsResponse;

                    /**
                     * Encodes the specified BatchActivatePlacementsResponse message. Does not implicitly {@link google.ads.admanager.v1.BatchActivatePlacementsResponse.verify|verify} messages.
                     * @param message BatchActivatePlacementsResponse message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IBatchActivatePlacementsResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified BatchActivatePlacementsResponse message, length delimited. Does not implicitly {@link google.ads.admanager.v1.BatchActivatePlacementsResponse.verify|verify} messages.
                     * @param message BatchActivatePlacementsResponse message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IBatchActivatePlacementsResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a BatchActivatePlacementsResponse message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns BatchActivatePlacementsResponse
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.BatchActivatePlacementsResponse;

                    /**
                     * Decodes a BatchActivatePlacementsResponse message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns BatchActivatePlacementsResponse
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.BatchActivatePlacementsResponse;

                    /**
                     * Verifies a BatchActivatePlacementsResponse message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a BatchActivatePlacementsResponse message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns BatchActivatePlacementsResponse
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.BatchActivatePlacementsResponse;

                    /**
                     * Creates a plain object from a BatchActivatePlacementsResponse message. Also converts values to other types if specified.
                     * @param message BatchActivatePlacementsResponse
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.BatchActivatePlacementsResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this BatchActivatePlacementsResponse to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for BatchActivatePlacementsResponse
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a BatchDeactivatePlacementsRequest. */
                interface IBatchDeactivatePlacementsRequest {

                    /** BatchDeactivatePlacementsRequest parent */
                    parent?: (string|null);

                    /** BatchDeactivatePlacementsRequest names */
                    names?: (string[]|null);
                }

                /** Represents a BatchDeactivatePlacementsRequest. */
                class BatchDeactivatePlacementsRequest implements IBatchDeactivatePlacementsRequest {

                    /**
                     * Constructs a new BatchDeactivatePlacementsRequest.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IBatchDeactivatePlacementsRequest);

                    /** BatchDeactivatePlacementsRequest parent. */
                    public parent: string;

                    /** BatchDeactivatePlacementsRequest names. */
                    public names: string[];

                    /**
                     * Creates a new BatchDeactivatePlacementsRequest instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns BatchDeactivatePlacementsRequest instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IBatchDeactivatePlacementsRequest): google.ads.admanager.v1.BatchDeactivatePlacementsRequest;

                    /**
                     * Encodes the specified BatchDeactivatePlacementsRequest message. Does not implicitly {@link google.ads.admanager.v1.BatchDeactivatePlacementsRequest.verify|verify} messages.
                     * @param message BatchDeactivatePlacementsRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IBatchDeactivatePlacementsRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified BatchDeactivatePlacementsRequest message, length delimited. Does not implicitly {@link google.ads.admanager.v1.BatchDeactivatePlacementsRequest.verify|verify} messages.
                     * @param message BatchDeactivatePlacementsRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IBatchDeactivatePlacementsRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a BatchDeactivatePlacementsRequest message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns BatchDeactivatePlacementsRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.BatchDeactivatePlacementsRequest;

                    /**
                     * Decodes a BatchDeactivatePlacementsRequest message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns BatchDeactivatePlacementsRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.BatchDeactivatePlacementsRequest;

                    /**
                     * Verifies a BatchDeactivatePlacementsRequest message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a BatchDeactivatePlacementsRequest message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns BatchDeactivatePlacementsRequest
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.BatchDeactivatePlacementsRequest;

                    /**
                     * Creates a plain object from a BatchDeactivatePlacementsRequest message. Also converts values to other types if specified.
                     * @param message BatchDeactivatePlacementsRequest
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.BatchDeactivatePlacementsRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this BatchDeactivatePlacementsRequest to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for BatchDeactivatePlacementsRequest
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a BatchDeactivatePlacementsResponse. */
                interface IBatchDeactivatePlacementsResponse {
                }

                /** Represents a BatchDeactivatePlacementsResponse. */
                class BatchDeactivatePlacementsResponse implements IBatchDeactivatePlacementsResponse {

                    /**
                     * Constructs a new BatchDeactivatePlacementsResponse.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IBatchDeactivatePlacementsResponse);

                    /**
                     * Creates a new BatchDeactivatePlacementsResponse instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns BatchDeactivatePlacementsResponse instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IBatchDeactivatePlacementsResponse): google.ads.admanager.v1.BatchDeactivatePlacementsResponse;

                    /**
                     * Encodes the specified BatchDeactivatePlacementsResponse message. Does not implicitly {@link google.ads.admanager.v1.BatchDeactivatePlacementsResponse.verify|verify} messages.
                     * @param message BatchDeactivatePlacementsResponse message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IBatchDeactivatePlacementsResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified BatchDeactivatePlacementsResponse message, length delimited. Does not implicitly {@link google.ads.admanager.v1.BatchDeactivatePlacementsResponse.verify|verify} messages.
                     * @param message BatchDeactivatePlacementsResponse message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IBatchDeactivatePlacementsResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a BatchDeactivatePlacementsResponse message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns BatchDeactivatePlacementsResponse
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.BatchDeactivatePlacementsResponse;

                    /**
                     * Decodes a BatchDeactivatePlacementsResponse message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns BatchDeactivatePlacementsResponse
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.BatchDeactivatePlacementsResponse;

                    /**
                     * Verifies a BatchDeactivatePlacementsResponse message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a BatchDeactivatePlacementsResponse message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns BatchDeactivatePlacementsResponse
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.BatchDeactivatePlacementsResponse;

                    /**
                     * Creates a plain object from a BatchDeactivatePlacementsResponse message. Also converts values to other types if specified.
                     * @param message BatchDeactivatePlacementsResponse
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.BatchDeactivatePlacementsResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this BatchDeactivatePlacementsResponse to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for BatchDeactivatePlacementsResponse
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a BatchArchivePlacementsRequest. */
                interface IBatchArchivePlacementsRequest {

                    /** BatchArchivePlacementsRequest parent */
                    parent?: (string|null);

                    /** BatchArchivePlacementsRequest names */
                    names?: (string[]|null);
                }

                /** Represents a BatchArchivePlacementsRequest. */
                class BatchArchivePlacementsRequest implements IBatchArchivePlacementsRequest {

                    /**
                     * Constructs a new BatchArchivePlacementsRequest.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IBatchArchivePlacementsRequest);

                    /** BatchArchivePlacementsRequest parent. */
                    public parent: string;

                    /** BatchArchivePlacementsRequest names. */
                    public names: string[];

                    /**
                     * Creates a new BatchArchivePlacementsRequest instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns BatchArchivePlacementsRequest instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IBatchArchivePlacementsRequest): google.ads.admanager.v1.BatchArchivePlacementsRequest;

                    /**
                     * Encodes the specified BatchArchivePlacementsRequest message. Does not implicitly {@link google.ads.admanager.v1.BatchArchivePlacementsRequest.verify|verify} messages.
                     * @param message BatchArchivePlacementsRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IBatchArchivePlacementsRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified BatchArchivePlacementsRequest message, length delimited. Does not implicitly {@link google.ads.admanager.v1.BatchArchivePlacementsRequest.verify|verify} messages.
                     * @param message BatchArchivePlacementsRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IBatchArchivePlacementsRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a BatchArchivePlacementsRequest message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns BatchArchivePlacementsRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.BatchArchivePlacementsRequest;

                    /**
                     * Decodes a BatchArchivePlacementsRequest message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns BatchArchivePlacementsRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.BatchArchivePlacementsRequest;

                    /**
                     * Verifies a BatchArchivePlacementsRequest message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a BatchArchivePlacementsRequest message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns BatchArchivePlacementsRequest
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.BatchArchivePlacementsRequest;

                    /**
                     * Creates a plain object from a BatchArchivePlacementsRequest message. Also converts values to other types if specified.
                     * @param message BatchArchivePlacementsRequest
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.BatchArchivePlacementsRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this BatchArchivePlacementsRequest to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for BatchArchivePlacementsRequest
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a BatchArchivePlacementsResponse. */
                interface IBatchArchivePlacementsResponse {
                }

                /** Represents a BatchArchivePlacementsResponse. */
                class BatchArchivePlacementsResponse implements IBatchArchivePlacementsResponse {

                    /**
                     * Constructs a new BatchArchivePlacementsResponse.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IBatchArchivePlacementsResponse);

                    /**
                     * Creates a new BatchArchivePlacementsResponse instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns BatchArchivePlacementsResponse instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IBatchArchivePlacementsResponse): google.ads.admanager.v1.BatchArchivePlacementsResponse;

                    /**
                     * Encodes the specified BatchArchivePlacementsResponse message. Does not implicitly {@link google.ads.admanager.v1.BatchArchivePlacementsResponse.verify|verify} messages.
                     * @param message BatchArchivePlacementsResponse message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IBatchArchivePlacementsResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified BatchArchivePlacementsResponse message, length delimited. Does not implicitly {@link google.ads.admanager.v1.BatchArchivePlacementsResponse.verify|verify} messages.
                     * @param message BatchArchivePlacementsResponse message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IBatchArchivePlacementsResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a BatchArchivePlacementsResponse message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns BatchArchivePlacementsResponse
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.BatchArchivePlacementsResponse;

                    /**
                     * Decodes a BatchArchivePlacementsResponse message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns BatchArchivePlacementsResponse
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.BatchArchivePlacementsResponse;

                    /**
                     * Verifies a BatchArchivePlacementsResponse message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a BatchArchivePlacementsResponse message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns BatchArchivePlacementsResponse
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.BatchArchivePlacementsResponse;

                    /**
                     * Creates a plain object from a BatchArchivePlacementsResponse message. Also converts values to other types if specified.
                     * @param message BatchArchivePlacementsResponse
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.BatchArchivePlacementsResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this BatchArchivePlacementsResponse to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for BatchArchivePlacementsResponse
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a PrivateAuctionDeal. */
                interface IPrivateAuctionDeal {

                    /** PrivateAuctionDeal name */
                    name?: (string|null);

                    /** PrivateAuctionDeal privateAuctionDealId */
                    privateAuctionDealId?: (number|Long|string|null);

                    /** PrivateAuctionDeal privateAuctionId */
                    privateAuctionId?: (number|Long|string|null);

                    /** PrivateAuctionDeal privateAuctionDisplayName */
                    privateAuctionDisplayName?: (string|null);

                    /** PrivateAuctionDeal buyerAccountId */
                    buyerAccountId?: (number|Long|string|null);

                    /** PrivateAuctionDeal externalDealId */
                    externalDealId?: (number|Long|string|null);

                    /** PrivateAuctionDeal targeting */
                    targeting?: (google.ads.admanager.v1.ITargeting|null);

                    /** PrivateAuctionDeal endTime */
                    endTime?: (google.protobuf.ITimestamp|null);

                    /** PrivateAuctionDeal floorPrice */
                    floorPrice?: (google.type.IMoney|null);

                    /** PrivateAuctionDeal creativeSizes */
                    creativeSizes?: (google.ads.admanager.v1.ISize[]|null);

                    /** PrivateAuctionDeal status */
                    status?: (google.ads.admanager.v1.PrivateMarketplaceDealStatusEnum.PrivateMarketplaceDealStatus|keyof typeof google.ads.admanager.v1.PrivateMarketplaceDealStatusEnum.PrivateMarketplaceDealStatus|null);

                    /** PrivateAuctionDeal auctionPriorityEnabled */
                    auctionPriorityEnabled?: (boolean|null);

                    /** PrivateAuctionDeal blockOverrideEnabled */
                    blockOverrideEnabled?: (boolean|null);

                    /** PrivateAuctionDeal buyerPermissionType */
                    buyerPermissionType?: (google.ads.admanager.v1.DealBuyerPermissionTypeEnum.DealBuyerPermissionType|keyof typeof google.ads.admanager.v1.DealBuyerPermissionTypeEnum.DealBuyerPermissionType|null);

                    /** PrivateAuctionDeal buyerData */
                    buyerData?: (google.ads.admanager.v1.PrivateAuctionDeal.IBuyerData|null);

                    /** PrivateAuctionDeal createTime */
                    createTime?: (google.protobuf.ITimestamp|null);

                    /** PrivateAuctionDeal updateTime */
                    updateTime?: (google.protobuf.ITimestamp|null);
                }

                /** Represents a PrivateAuctionDeal. */
                class PrivateAuctionDeal implements IPrivateAuctionDeal {

                    /**
                     * Constructs a new PrivateAuctionDeal.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IPrivateAuctionDeal);

                    /** PrivateAuctionDeal name. */
                    public name: string;

                    /** PrivateAuctionDeal privateAuctionDealId. */
                    public privateAuctionDealId?: (number|Long|string|null);

                    /** PrivateAuctionDeal privateAuctionId. */
                    public privateAuctionId?: (number|Long|string|null);

                    /** PrivateAuctionDeal privateAuctionDisplayName. */
                    public privateAuctionDisplayName?: (string|null);

                    /** PrivateAuctionDeal buyerAccountId. */
                    public buyerAccountId?: (number|Long|string|null);

                    /** PrivateAuctionDeal externalDealId. */
                    public externalDealId?: (number|Long|string|null);

                    /** PrivateAuctionDeal targeting. */
                    public targeting?: (google.ads.admanager.v1.ITargeting|null);

                    /** PrivateAuctionDeal endTime. */
                    public endTime?: (google.protobuf.ITimestamp|null);

                    /** PrivateAuctionDeal floorPrice. */
                    public floorPrice?: (google.type.IMoney|null);

                    /** PrivateAuctionDeal creativeSizes. */
                    public creativeSizes: google.ads.admanager.v1.ISize[];

                    /** PrivateAuctionDeal status. */
                    public status?: (google.ads.admanager.v1.PrivateMarketplaceDealStatusEnum.PrivateMarketplaceDealStatus|keyof typeof google.ads.admanager.v1.PrivateMarketplaceDealStatusEnum.PrivateMarketplaceDealStatus|null);

                    /** PrivateAuctionDeal auctionPriorityEnabled. */
                    public auctionPriorityEnabled?: (boolean|null);

                    /** PrivateAuctionDeal blockOverrideEnabled. */
                    public blockOverrideEnabled?: (boolean|null);

                    /** PrivateAuctionDeal buyerPermissionType. */
                    public buyerPermissionType?: (google.ads.admanager.v1.DealBuyerPermissionTypeEnum.DealBuyerPermissionType|keyof typeof google.ads.admanager.v1.DealBuyerPermissionTypeEnum.DealBuyerPermissionType|null);

                    /** PrivateAuctionDeal buyerData. */
                    public buyerData?: (google.ads.admanager.v1.PrivateAuctionDeal.IBuyerData|null);

                    /** PrivateAuctionDeal createTime. */
                    public createTime?: (google.protobuf.ITimestamp|null);

                    /** PrivateAuctionDeal updateTime. */
                    public updateTime?: (google.protobuf.ITimestamp|null);

                    /**
                     * Creates a new PrivateAuctionDeal instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns PrivateAuctionDeal instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IPrivateAuctionDeal): google.ads.admanager.v1.PrivateAuctionDeal;

                    /**
                     * Encodes the specified PrivateAuctionDeal message. Does not implicitly {@link google.ads.admanager.v1.PrivateAuctionDeal.verify|verify} messages.
                     * @param message PrivateAuctionDeal message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IPrivateAuctionDeal, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified PrivateAuctionDeal message, length delimited. Does not implicitly {@link google.ads.admanager.v1.PrivateAuctionDeal.verify|verify} messages.
                     * @param message PrivateAuctionDeal message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IPrivateAuctionDeal, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a PrivateAuctionDeal message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns PrivateAuctionDeal
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.PrivateAuctionDeal;

                    /**
                     * Decodes a PrivateAuctionDeal message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns PrivateAuctionDeal
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.PrivateAuctionDeal;

                    /**
                     * Verifies a PrivateAuctionDeal message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a PrivateAuctionDeal message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns PrivateAuctionDeal
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.PrivateAuctionDeal;

                    /**
                     * Creates a plain object from a PrivateAuctionDeal message. Also converts values to other types if specified.
                     * @param message PrivateAuctionDeal
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.PrivateAuctionDeal, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this PrivateAuctionDeal to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for PrivateAuctionDeal
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                namespace PrivateAuctionDeal {

                    /** Properties of a BuyerData. */
                    interface IBuyerData {

                        /** BuyerData buyerEmails */
                        buyerEmails?: (string[]|null);
                    }

                    /** Represents a BuyerData. */
                    class BuyerData implements IBuyerData {

                        /**
                         * Constructs a new BuyerData.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.ads.admanager.v1.PrivateAuctionDeal.IBuyerData);

                        /** BuyerData buyerEmails. */
                        public buyerEmails: string[];

                        /**
                         * Creates a new BuyerData instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns BuyerData instance
                         */
                        public static create(properties?: google.ads.admanager.v1.PrivateAuctionDeal.IBuyerData): google.ads.admanager.v1.PrivateAuctionDeal.BuyerData;

                        /**
                         * Encodes the specified BuyerData message. Does not implicitly {@link google.ads.admanager.v1.PrivateAuctionDeal.BuyerData.verify|verify} messages.
                         * @param message BuyerData message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.ads.admanager.v1.PrivateAuctionDeal.IBuyerData, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified BuyerData message, length delimited. Does not implicitly {@link google.ads.admanager.v1.PrivateAuctionDeal.BuyerData.verify|verify} messages.
                         * @param message BuyerData message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.ads.admanager.v1.PrivateAuctionDeal.IBuyerData, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a BuyerData message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns BuyerData
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.PrivateAuctionDeal.BuyerData;

                        /**
                         * Decodes a BuyerData message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns BuyerData
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.PrivateAuctionDeal.BuyerData;

                        /**
                         * Verifies a BuyerData message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a BuyerData message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns BuyerData
                         */
                        public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.PrivateAuctionDeal.BuyerData;

                        /**
                         * Creates a plain object from a BuyerData message. Also converts values to other types if specified.
                         * @param message BuyerData
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.ads.admanager.v1.PrivateAuctionDeal.BuyerData, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this BuyerData to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for BuyerData
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }
                }

                /** Properties of a PrivateMarketplaceDealStatusEnum. */
                interface IPrivateMarketplaceDealStatusEnum {
                }

                /** Represents a PrivateMarketplaceDealStatusEnum. */
                class PrivateMarketplaceDealStatusEnum implements IPrivateMarketplaceDealStatusEnum {

                    /**
                     * Constructs a new PrivateMarketplaceDealStatusEnum.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IPrivateMarketplaceDealStatusEnum);

                    /**
                     * Creates a new PrivateMarketplaceDealStatusEnum instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns PrivateMarketplaceDealStatusEnum instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IPrivateMarketplaceDealStatusEnum): google.ads.admanager.v1.PrivateMarketplaceDealStatusEnum;

                    /**
                     * Encodes the specified PrivateMarketplaceDealStatusEnum message. Does not implicitly {@link google.ads.admanager.v1.PrivateMarketplaceDealStatusEnum.verify|verify} messages.
                     * @param message PrivateMarketplaceDealStatusEnum message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IPrivateMarketplaceDealStatusEnum, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified PrivateMarketplaceDealStatusEnum message, length delimited. Does not implicitly {@link google.ads.admanager.v1.PrivateMarketplaceDealStatusEnum.verify|verify} messages.
                     * @param message PrivateMarketplaceDealStatusEnum message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IPrivateMarketplaceDealStatusEnum, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a PrivateMarketplaceDealStatusEnum message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns PrivateMarketplaceDealStatusEnum
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.PrivateMarketplaceDealStatusEnum;

                    /**
                     * Decodes a PrivateMarketplaceDealStatusEnum message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns PrivateMarketplaceDealStatusEnum
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.PrivateMarketplaceDealStatusEnum;

                    /**
                     * Verifies a PrivateMarketplaceDealStatusEnum message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a PrivateMarketplaceDealStatusEnum message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns PrivateMarketplaceDealStatusEnum
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.PrivateMarketplaceDealStatusEnum;

                    /**
                     * Creates a plain object from a PrivateMarketplaceDealStatusEnum message. Also converts values to other types if specified.
                     * @param message PrivateMarketplaceDealStatusEnum
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.PrivateMarketplaceDealStatusEnum, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this PrivateMarketplaceDealStatusEnum to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for PrivateMarketplaceDealStatusEnum
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                namespace PrivateMarketplaceDealStatusEnum {

                    /** PrivateMarketplaceDealStatus enum. */
                    enum PrivateMarketplaceDealStatus {
                        PRIVATE_MARKETPLACE_DEAL_STATUS_UNSPECIFIED = 0,
                        PENDING = 1,
                        ACTIVE = 2,
                        CANCELED = 3,
                        SELLER_PAUSED = 4,
                        BUYER_PAUSED = 5
                    }
                }

                /** Properties of a Targeting. */
                interface ITargeting {

                    /** Targeting geoTargeting */
                    geoTargeting?: (google.ads.admanager.v1.IGeoTargeting|null);

                    /** Targeting technologyTargeting */
                    technologyTargeting?: (google.ads.admanager.v1.ITechnologyTargeting|null);

                    /** Targeting inventoryTargeting */
                    inventoryTargeting?: (google.ads.admanager.v1.IInventoryTargeting|null);

                    /** Targeting requestPlatformTargeting */
                    requestPlatformTargeting?: (google.ads.admanager.v1.IRequestPlatformTargeting|null);

                    /** Targeting customTargeting */
                    customTargeting?: (google.ads.admanager.v1.ICustomTargeting|null);

                    /** Targeting userDomainTargeting */
                    userDomainTargeting?: (google.ads.admanager.v1.IUserDomainTargeting|null);

                    /** Targeting videoPositionTargeting */
                    videoPositionTargeting?: (google.ads.admanager.v1.IVideoPositionTargeting|null);

                    /** Targeting dataSegmentTargeting */
                    dataSegmentTargeting?: (google.ads.admanager.v1.IDataSegmentTargeting|null);

                    /** Targeting contentTargeting */
                    contentTargeting?: (google.ads.admanager.v1.IContentTargeting|null);

                    /** Targeting mobileApplicationTargeting */
                    mobileApplicationTargeting?: (google.ads.admanager.v1.IMobileApplicationTargeting|null);
                }

                /** Represents a Targeting. */
                class Targeting implements ITargeting {

                    /**
                     * Constructs a new Targeting.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.ITargeting);

                    /** Targeting geoTargeting. */
                    public geoTargeting?: (google.ads.admanager.v1.IGeoTargeting|null);

                    /** Targeting technologyTargeting. */
                    public technologyTargeting?: (google.ads.admanager.v1.ITechnologyTargeting|null);

                    /** Targeting inventoryTargeting. */
                    public inventoryTargeting?: (google.ads.admanager.v1.IInventoryTargeting|null);

                    /** Targeting requestPlatformTargeting. */
                    public requestPlatformTargeting?: (google.ads.admanager.v1.IRequestPlatformTargeting|null);

                    /** Targeting customTargeting. */
                    public customTargeting?: (google.ads.admanager.v1.ICustomTargeting|null);

                    /** Targeting userDomainTargeting. */
                    public userDomainTargeting?: (google.ads.admanager.v1.IUserDomainTargeting|null);

                    /** Targeting videoPositionTargeting. */
                    public videoPositionTargeting?: (google.ads.admanager.v1.IVideoPositionTargeting|null);

                    /** Targeting dataSegmentTargeting. */
                    public dataSegmentTargeting?: (google.ads.admanager.v1.IDataSegmentTargeting|null);

                    /** Targeting contentTargeting. */
                    public contentTargeting?: (google.ads.admanager.v1.IContentTargeting|null);

                    /** Targeting mobileApplicationTargeting. */
                    public mobileApplicationTargeting?: (google.ads.admanager.v1.IMobileApplicationTargeting|null);

                    /**
                     * Creates a new Targeting instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns Targeting instance
                     */
                    public static create(properties?: google.ads.admanager.v1.ITargeting): google.ads.admanager.v1.Targeting;

                    /**
                     * Encodes the specified Targeting message. Does not implicitly {@link google.ads.admanager.v1.Targeting.verify|verify} messages.
                     * @param message Targeting message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.ITargeting, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified Targeting message, length delimited. Does not implicitly {@link google.ads.admanager.v1.Targeting.verify|verify} messages.
                     * @param message Targeting message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.ITargeting, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a Targeting message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns Targeting
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.Targeting;

                    /**
                     * Decodes a Targeting message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns Targeting
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.Targeting;

                    /**
                     * Verifies a Targeting message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a Targeting message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns Targeting
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.Targeting;

                    /**
                     * Creates a plain object from a Targeting message. Also converts values to other types if specified.
                     * @param message Targeting
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.Targeting, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this Targeting to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for Targeting
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a GeoTargeting. */
                interface IGeoTargeting {

                    /** GeoTargeting targetedGeos */
                    targetedGeos?: (string[]|null);

                    /** GeoTargeting excludedGeos */
                    excludedGeos?: (string[]|null);
                }

                /** Represents a GeoTargeting. */
                class GeoTargeting implements IGeoTargeting {

                    /**
                     * Constructs a new GeoTargeting.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IGeoTargeting);

                    /** GeoTargeting targetedGeos. */
                    public targetedGeos: string[];

                    /** GeoTargeting excludedGeos. */
                    public excludedGeos: string[];

                    /**
                     * Creates a new GeoTargeting instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns GeoTargeting instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IGeoTargeting): google.ads.admanager.v1.GeoTargeting;

                    /**
                     * Encodes the specified GeoTargeting message. Does not implicitly {@link google.ads.admanager.v1.GeoTargeting.verify|verify} messages.
                     * @param message GeoTargeting message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IGeoTargeting, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified GeoTargeting message, length delimited. Does not implicitly {@link google.ads.admanager.v1.GeoTargeting.verify|verify} messages.
                     * @param message GeoTargeting message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IGeoTargeting, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a GeoTargeting message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns GeoTargeting
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.GeoTargeting;

                    /**
                     * Decodes a GeoTargeting message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns GeoTargeting
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.GeoTargeting;

                    /**
                     * Verifies a GeoTargeting message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a GeoTargeting message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns GeoTargeting
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.GeoTargeting;

                    /**
                     * Creates a plain object from a GeoTargeting message. Also converts values to other types if specified.
                     * @param message GeoTargeting
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.GeoTargeting, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this GeoTargeting to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for GeoTargeting
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a TechnologyTargeting. */
                interface ITechnologyTargeting {

                    /** TechnologyTargeting bandwidthTargeting */
                    bandwidthTargeting?: (google.ads.admanager.v1.IBandwidthTargeting|null);

                    /** TechnologyTargeting browserTargeting */
                    browserTargeting?: (google.ads.admanager.v1.IBrowserTargeting|null);

                    /** TechnologyTargeting browserLanguageTargeting */
                    browserLanguageTargeting?: (google.ads.admanager.v1.IBrowserLanguageTargeting|null);

                    /** TechnologyTargeting deviceCapabilityTargeting */
                    deviceCapabilityTargeting?: (google.ads.admanager.v1.IDeviceCapabilityTargeting|null);

                    /** TechnologyTargeting deviceCategoryTargeting */
                    deviceCategoryTargeting?: (google.ads.admanager.v1.IDeviceCategoryTargeting|null);

                    /** TechnologyTargeting deviceManufacturerTargeting */
                    deviceManufacturerTargeting?: (google.ads.admanager.v1.IDeviceManufacturerTargeting|null);

                    /** TechnologyTargeting mobileCarrierTargeting */
                    mobileCarrierTargeting?: (google.ads.admanager.v1.IMobileCarrierTargeting|null);

                    /** TechnologyTargeting operatingSystemTargeting */
                    operatingSystemTargeting?: (google.ads.admanager.v1.IOperatingSystemTargeting|null);
                }

                /** Represents a TechnologyTargeting. */
                class TechnologyTargeting implements ITechnologyTargeting {

                    /**
                     * Constructs a new TechnologyTargeting.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.ITechnologyTargeting);

                    /** TechnologyTargeting bandwidthTargeting. */
                    public bandwidthTargeting?: (google.ads.admanager.v1.IBandwidthTargeting|null);

                    /** TechnologyTargeting browserTargeting. */
                    public browserTargeting?: (google.ads.admanager.v1.IBrowserTargeting|null);

                    /** TechnologyTargeting browserLanguageTargeting. */
                    public browserLanguageTargeting?: (google.ads.admanager.v1.IBrowserLanguageTargeting|null);

                    /** TechnologyTargeting deviceCapabilityTargeting. */
                    public deviceCapabilityTargeting?: (google.ads.admanager.v1.IDeviceCapabilityTargeting|null);

                    /** TechnologyTargeting deviceCategoryTargeting. */
                    public deviceCategoryTargeting?: (google.ads.admanager.v1.IDeviceCategoryTargeting|null);

                    /** TechnologyTargeting deviceManufacturerTargeting. */
                    public deviceManufacturerTargeting?: (google.ads.admanager.v1.IDeviceManufacturerTargeting|null);

                    /** TechnologyTargeting mobileCarrierTargeting. */
                    public mobileCarrierTargeting?: (google.ads.admanager.v1.IMobileCarrierTargeting|null);

                    /** TechnologyTargeting operatingSystemTargeting. */
                    public operatingSystemTargeting?: (google.ads.admanager.v1.IOperatingSystemTargeting|null);

                    /**
                     * Creates a new TechnologyTargeting instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns TechnologyTargeting instance
                     */
                    public static create(properties?: google.ads.admanager.v1.ITechnologyTargeting): google.ads.admanager.v1.TechnologyTargeting;

                    /**
                     * Encodes the specified TechnologyTargeting message. Does not implicitly {@link google.ads.admanager.v1.TechnologyTargeting.verify|verify} messages.
                     * @param message TechnologyTargeting message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.ITechnologyTargeting, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified TechnologyTargeting message, length delimited. Does not implicitly {@link google.ads.admanager.v1.TechnologyTargeting.verify|verify} messages.
                     * @param message TechnologyTargeting message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.ITechnologyTargeting, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a TechnologyTargeting message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns TechnologyTargeting
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.TechnologyTargeting;

                    /**
                     * Decodes a TechnologyTargeting message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns TechnologyTargeting
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.TechnologyTargeting;

                    /**
                     * Verifies a TechnologyTargeting message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a TechnologyTargeting message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns TechnologyTargeting
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.TechnologyTargeting;

                    /**
                     * Creates a plain object from a TechnologyTargeting message. Also converts values to other types if specified.
                     * @param message TechnologyTargeting
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.TechnologyTargeting, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this TechnologyTargeting to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for TechnologyTargeting
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a BandwidthTargeting. */
                interface IBandwidthTargeting {

                    /** BandwidthTargeting targetedBandwidthGroups */
                    targetedBandwidthGroups?: (string[]|null);

                    /** BandwidthTargeting excludedBandwidthGroups */
                    excludedBandwidthGroups?: (string[]|null);
                }

                /** Represents a BandwidthTargeting. */
                class BandwidthTargeting implements IBandwidthTargeting {

                    /**
                     * Constructs a new BandwidthTargeting.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IBandwidthTargeting);

                    /** BandwidthTargeting targetedBandwidthGroups. */
                    public targetedBandwidthGroups: string[];

                    /** BandwidthTargeting excludedBandwidthGroups. */
                    public excludedBandwidthGroups: string[];

                    /**
                     * Creates a new BandwidthTargeting instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns BandwidthTargeting instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IBandwidthTargeting): google.ads.admanager.v1.BandwidthTargeting;

                    /**
                     * Encodes the specified BandwidthTargeting message. Does not implicitly {@link google.ads.admanager.v1.BandwidthTargeting.verify|verify} messages.
                     * @param message BandwidthTargeting message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IBandwidthTargeting, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified BandwidthTargeting message, length delimited. Does not implicitly {@link google.ads.admanager.v1.BandwidthTargeting.verify|verify} messages.
                     * @param message BandwidthTargeting message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IBandwidthTargeting, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a BandwidthTargeting message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns BandwidthTargeting
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.BandwidthTargeting;

                    /**
                     * Decodes a BandwidthTargeting message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns BandwidthTargeting
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.BandwidthTargeting;

                    /**
                     * Verifies a BandwidthTargeting message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a BandwidthTargeting message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns BandwidthTargeting
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.BandwidthTargeting;

                    /**
                     * Creates a plain object from a BandwidthTargeting message. Also converts values to other types if specified.
                     * @param message BandwidthTargeting
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.BandwidthTargeting, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this BandwidthTargeting to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for BandwidthTargeting
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a BrowserTargeting. */
                interface IBrowserTargeting {

                    /** BrowserTargeting targetedBrowsers */
                    targetedBrowsers?: (string[]|null);

                    /** BrowserTargeting excludedBrowsers */
                    excludedBrowsers?: (string[]|null);
                }

                /** Represents a BrowserTargeting. */
                class BrowserTargeting implements IBrowserTargeting {

                    /**
                     * Constructs a new BrowserTargeting.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IBrowserTargeting);

                    /** BrowserTargeting targetedBrowsers. */
                    public targetedBrowsers: string[];

                    /** BrowserTargeting excludedBrowsers. */
                    public excludedBrowsers: string[];

                    /**
                     * Creates a new BrowserTargeting instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns BrowserTargeting instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IBrowserTargeting): google.ads.admanager.v1.BrowserTargeting;

                    /**
                     * Encodes the specified BrowserTargeting message. Does not implicitly {@link google.ads.admanager.v1.BrowserTargeting.verify|verify} messages.
                     * @param message BrowserTargeting message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IBrowserTargeting, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified BrowserTargeting message, length delimited. Does not implicitly {@link google.ads.admanager.v1.BrowserTargeting.verify|verify} messages.
                     * @param message BrowserTargeting message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IBrowserTargeting, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a BrowserTargeting message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns BrowserTargeting
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.BrowserTargeting;

                    /**
                     * Decodes a BrowserTargeting message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns BrowserTargeting
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.BrowserTargeting;

                    /**
                     * Verifies a BrowserTargeting message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a BrowserTargeting message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns BrowserTargeting
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.BrowserTargeting;

                    /**
                     * Creates a plain object from a BrowserTargeting message. Also converts values to other types if specified.
                     * @param message BrowserTargeting
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.BrowserTargeting, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this BrowserTargeting to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for BrowserTargeting
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a BrowserLanguageTargeting. */
                interface IBrowserLanguageTargeting {

                    /** BrowserLanguageTargeting targetedBrowserLanguages */
                    targetedBrowserLanguages?: (string[]|null);

                    /** BrowserLanguageTargeting excludedBrowserLanguages */
                    excludedBrowserLanguages?: (string[]|null);
                }

                /** Represents a BrowserLanguageTargeting. */
                class BrowserLanguageTargeting implements IBrowserLanguageTargeting {

                    /**
                     * Constructs a new BrowserLanguageTargeting.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IBrowserLanguageTargeting);

                    /** BrowserLanguageTargeting targetedBrowserLanguages. */
                    public targetedBrowserLanguages: string[];

                    /** BrowserLanguageTargeting excludedBrowserLanguages. */
                    public excludedBrowserLanguages: string[];

                    /**
                     * Creates a new BrowserLanguageTargeting instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns BrowserLanguageTargeting instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IBrowserLanguageTargeting): google.ads.admanager.v1.BrowserLanguageTargeting;

                    /**
                     * Encodes the specified BrowserLanguageTargeting message. Does not implicitly {@link google.ads.admanager.v1.BrowserLanguageTargeting.verify|verify} messages.
                     * @param message BrowserLanguageTargeting message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IBrowserLanguageTargeting, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified BrowserLanguageTargeting message, length delimited. Does not implicitly {@link google.ads.admanager.v1.BrowserLanguageTargeting.verify|verify} messages.
                     * @param message BrowserLanguageTargeting message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IBrowserLanguageTargeting, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a BrowserLanguageTargeting message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns BrowserLanguageTargeting
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.BrowserLanguageTargeting;

                    /**
                     * Decodes a BrowserLanguageTargeting message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns BrowserLanguageTargeting
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.BrowserLanguageTargeting;

                    /**
                     * Verifies a BrowserLanguageTargeting message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a BrowserLanguageTargeting message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns BrowserLanguageTargeting
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.BrowserLanguageTargeting;

                    /**
                     * Creates a plain object from a BrowserLanguageTargeting message. Also converts values to other types if specified.
                     * @param message BrowserLanguageTargeting
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.BrowserLanguageTargeting, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this BrowserLanguageTargeting to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for BrowserLanguageTargeting
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a DeviceCategoryTargeting. */
                interface IDeviceCategoryTargeting {

                    /** DeviceCategoryTargeting targetedCategories */
                    targetedCategories?: (string[]|null);

                    /** DeviceCategoryTargeting excludedCategories */
                    excludedCategories?: (string[]|null);
                }

                /** Represents a DeviceCategoryTargeting. */
                class DeviceCategoryTargeting implements IDeviceCategoryTargeting {

                    /**
                     * Constructs a new DeviceCategoryTargeting.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IDeviceCategoryTargeting);

                    /** DeviceCategoryTargeting targetedCategories. */
                    public targetedCategories: string[];

                    /** DeviceCategoryTargeting excludedCategories. */
                    public excludedCategories: string[];

                    /**
                     * Creates a new DeviceCategoryTargeting instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns DeviceCategoryTargeting instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IDeviceCategoryTargeting): google.ads.admanager.v1.DeviceCategoryTargeting;

                    /**
                     * Encodes the specified DeviceCategoryTargeting message. Does not implicitly {@link google.ads.admanager.v1.DeviceCategoryTargeting.verify|verify} messages.
                     * @param message DeviceCategoryTargeting message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IDeviceCategoryTargeting, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified DeviceCategoryTargeting message, length delimited. Does not implicitly {@link google.ads.admanager.v1.DeviceCategoryTargeting.verify|verify} messages.
                     * @param message DeviceCategoryTargeting message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IDeviceCategoryTargeting, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a DeviceCategoryTargeting message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns DeviceCategoryTargeting
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.DeviceCategoryTargeting;

                    /**
                     * Decodes a DeviceCategoryTargeting message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns DeviceCategoryTargeting
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.DeviceCategoryTargeting;

                    /**
                     * Verifies a DeviceCategoryTargeting message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a DeviceCategoryTargeting message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns DeviceCategoryTargeting
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.DeviceCategoryTargeting;

                    /**
                     * Creates a plain object from a DeviceCategoryTargeting message. Also converts values to other types if specified.
                     * @param message DeviceCategoryTargeting
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.DeviceCategoryTargeting, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this DeviceCategoryTargeting to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for DeviceCategoryTargeting
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a DeviceCapabilityTargeting. */
                interface IDeviceCapabilityTargeting {

                    /** DeviceCapabilityTargeting targetedCapabilities */
                    targetedCapabilities?: (string[]|null);

                    /** DeviceCapabilityTargeting excludedCapabilities */
                    excludedCapabilities?: (string[]|null);
                }

                /** Represents a DeviceCapabilityTargeting. */
                class DeviceCapabilityTargeting implements IDeviceCapabilityTargeting {

                    /**
                     * Constructs a new DeviceCapabilityTargeting.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IDeviceCapabilityTargeting);

                    /** DeviceCapabilityTargeting targetedCapabilities. */
                    public targetedCapabilities: string[];

                    /** DeviceCapabilityTargeting excludedCapabilities. */
                    public excludedCapabilities: string[];

                    /**
                     * Creates a new DeviceCapabilityTargeting instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns DeviceCapabilityTargeting instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IDeviceCapabilityTargeting): google.ads.admanager.v1.DeviceCapabilityTargeting;

                    /**
                     * Encodes the specified DeviceCapabilityTargeting message. Does not implicitly {@link google.ads.admanager.v1.DeviceCapabilityTargeting.verify|verify} messages.
                     * @param message DeviceCapabilityTargeting message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IDeviceCapabilityTargeting, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified DeviceCapabilityTargeting message, length delimited. Does not implicitly {@link google.ads.admanager.v1.DeviceCapabilityTargeting.verify|verify} messages.
                     * @param message DeviceCapabilityTargeting message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IDeviceCapabilityTargeting, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a DeviceCapabilityTargeting message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns DeviceCapabilityTargeting
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.DeviceCapabilityTargeting;

                    /**
                     * Decodes a DeviceCapabilityTargeting message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns DeviceCapabilityTargeting
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.DeviceCapabilityTargeting;

                    /**
                     * Verifies a DeviceCapabilityTargeting message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a DeviceCapabilityTargeting message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns DeviceCapabilityTargeting
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.DeviceCapabilityTargeting;

                    /**
                     * Creates a plain object from a DeviceCapabilityTargeting message. Also converts values to other types if specified.
                     * @param message DeviceCapabilityTargeting
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.DeviceCapabilityTargeting, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this DeviceCapabilityTargeting to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for DeviceCapabilityTargeting
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a DeviceManufacturerTargeting. */
                interface IDeviceManufacturerTargeting {

                    /** DeviceManufacturerTargeting targetedDeviceManufacturers */
                    targetedDeviceManufacturers?: (string[]|null);

                    /** DeviceManufacturerTargeting excludedDeviceManufacturers */
                    excludedDeviceManufacturers?: (string[]|null);

                    /** DeviceManufacturerTargeting targetedMobileDevices */
                    targetedMobileDevices?: (string[]|null);

                    /** DeviceManufacturerTargeting excludedMobileDevices */
                    excludedMobileDevices?: (string[]|null);

                    /** DeviceManufacturerTargeting targetedMobileDeviceSubmodels */
                    targetedMobileDeviceSubmodels?: (string[]|null);

                    /** DeviceManufacturerTargeting excludedMobileDeviceSubmodels */
                    excludedMobileDeviceSubmodels?: (string[]|null);
                }

                /** Represents a DeviceManufacturerTargeting. */
                class DeviceManufacturerTargeting implements IDeviceManufacturerTargeting {

                    /**
                     * Constructs a new DeviceManufacturerTargeting.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IDeviceManufacturerTargeting);

                    /** DeviceManufacturerTargeting targetedDeviceManufacturers. */
                    public targetedDeviceManufacturers: string[];

                    /** DeviceManufacturerTargeting excludedDeviceManufacturers. */
                    public excludedDeviceManufacturers: string[];

                    /** DeviceManufacturerTargeting targetedMobileDevices. */
                    public targetedMobileDevices: string[];

                    /** DeviceManufacturerTargeting excludedMobileDevices. */
                    public excludedMobileDevices: string[];

                    /** DeviceManufacturerTargeting targetedMobileDeviceSubmodels. */
                    public targetedMobileDeviceSubmodels: string[];

                    /** DeviceManufacturerTargeting excludedMobileDeviceSubmodels. */
                    public excludedMobileDeviceSubmodels: string[];

                    /**
                     * Creates a new DeviceManufacturerTargeting instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns DeviceManufacturerTargeting instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IDeviceManufacturerTargeting): google.ads.admanager.v1.DeviceManufacturerTargeting;

                    /**
                     * Encodes the specified DeviceManufacturerTargeting message. Does not implicitly {@link google.ads.admanager.v1.DeviceManufacturerTargeting.verify|verify} messages.
                     * @param message DeviceManufacturerTargeting message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IDeviceManufacturerTargeting, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified DeviceManufacturerTargeting message, length delimited. Does not implicitly {@link google.ads.admanager.v1.DeviceManufacturerTargeting.verify|verify} messages.
                     * @param message DeviceManufacturerTargeting message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IDeviceManufacturerTargeting, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a DeviceManufacturerTargeting message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns DeviceManufacturerTargeting
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.DeviceManufacturerTargeting;

                    /**
                     * Decodes a DeviceManufacturerTargeting message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns DeviceManufacturerTargeting
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.DeviceManufacturerTargeting;

                    /**
                     * Verifies a DeviceManufacturerTargeting message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a DeviceManufacturerTargeting message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns DeviceManufacturerTargeting
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.DeviceManufacturerTargeting;

                    /**
                     * Creates a plain object from a DeviceManufacturerTargeting message. Also converts values to other types if specified.
                     * @param message DeviceManufacturerTargeting
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.DeviceManufacturerTargeting, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this DeviceManufacturerTargeting to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for DeviceManufacturerTargeting
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a MobileCarrierTargeting. */
                interface IMobileCarrierTargeting {

                    /** MobileCarrierTargeting targetedMobileCarriers */
                    targetedMobileCarriers?: (string[]|null);

                    /** MobileCarrierTargeting excludedMobileCarriers */
                    excludedMobileCarriers?: (string[]|null);
                }

                /** Represents a MobileCarrierTargeting. */
                class MobileCarrierTargeting implements IMobileCarrierTargeting {

                    /**
                     * Constructs a new MobileCarrierTargeting.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IMobileCarrierTargeting);

                    /** MobileCarrierTargeting targetedMobileCarriers. */
                    public targetedMobileCarriers: string[];

                    /** MobileCarrierTargeting excludedMobileCarriers. */
                    public excludedMobileCarriers: string[];

                    /**
                     * Creates a new MobileCarrierTargeting instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns MobileCarrierTargeting instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IMobileCarrierTargeting): google.ads.admanager.v1.MobileCarrierTargeting;

                    /**
                     * Encodes the specified MobileCarrierTargeting message. Does not implicitly {@link google.ads.admanager.v1.MobileCarrierTargeting.verify|verify} messages.
                     * @param message MobileCarrierTargeting message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IMobileCarrierTargeting, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified MobileCarrierTargeting message, length delimited. Does not implicitly {@link google.ads.admanager.v1.MobileCarrierTargeting.verify|verify} messages.
                     * @param message MobileCarrierTargeting message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IMobileCarrierTargeting, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a MobileCarrierTargeting message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns MobileCarrierTargeting
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.MobileCarrierTargeting;

                    /**
                     * Decodes a MobileCarrierTargeting message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns MobileCarrierTargeting
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.MobileCarrierTargeting;

                    /**
                     * Verifies a MobileCarrierTargeting message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a MobileCarrierTargeting message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns MobileCarrierTargeting
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.MobileCarrierTargeting;

                    /**
                     * Creates a plain object from a MobileCarrierTargeting message. Also converts values to other types if specified.
                     * @param message MobileCarrierTargeting
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.MobileCarrierTargeting, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this MobileCarrierTargeting to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for MobileCarrierTargeting
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of an OperatingSystemTargeting. */
                interface IOperatingSystemTargeting {

                    /** OperatingSystemTargeting targetedOperatingSystems */
                    targetedOperatingSystems?: (string[]|null);

                    /** OperatingSystemTargeting excludedOperatingSystems */
                    excludedOperatingSystems?: (string[]|null);

                    /** OperatingSystemTargeting targetedOperatingSystemVersions */
                    targetedOperatingSystemVersions?: (string[]|null);

                    /** OperatingSystemTargeting excludedOperatingSystemVersions */
                    excludedOperatingSystemVersions?: (string[]|null);
                }

                /** Represents an OperatingSystemTargeting. */
                class OperatingSystemTargeting implements IOperatingSystemTargeting {

                    /**
                     * Constructs a new OperatingSystemTargeting.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IOperatingSystemTargeting);

                    /** OperatingSystemTargeting targetedOperatingSystems. */
                    public targetedOperatingSystems: string[];

                    /** OperatingSystemTargeting excludedOperatingSystems. */
                    public excludedOperatingSystems: string[];

                    /** OperatingSystemTargeting targetedOperatingSystemVersions. */
                    public targetedOperatingSystemVersions: string[];

                    /** OperatingSystemTargeting excludedOperatingSystemVersions. */
                    public excludedOperatingSystemVersions: string[];

                    /**
                     * Creates a new OperatingSystemTargeting instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns OperatingSystemTargeting instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IOperatingSystemTargeting): google.ads.admanager.v1.OperatingSystemTargeting;

                    /**
                     * Encodes the specified OperatingSystemTargeting message. Does not implicitly {@link google.ads.admanager.v1.OperatingSystemTargeting.verify|verify} messages.
                     * @param message OperatingSystemTargeting message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IOperatingSystemTargeting, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified OperatingSystemTargeting message, length delimited. Does not implicitly {@link google.ads.admanager.v1.OperatingSystemTargeting.verify|verify} messages.
                     * @param message OperatingSystemTargeting message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IOperatingSystemTargeting, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes an OperatingSystemTargeting message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns OperatingSystemTargeting
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.OperatingSystemTargeting;

                    /**
                     * Decodes an OperatingSystemTargeting message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns OperatingSystemTargeting
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.OperatingSystemTargeting;

                    /**
                     * Verifies an OperatingSystemTargeting message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates an OperatingSystemTargeting message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns OperatingSystemTargeting
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.OperatingSystemTargeting;

                    /**
                     * Creates a plain object from an OperatingSystemTargeting message. Also converts values to other types if specified.
                     * @param message OperatingSystemTargeting
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.OperatingSystemTargeting, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this OperatingSystemTargeting to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for OperatingSystemTargeting
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of an InventoryTargeting. */
                interface IInventoryTargeting {

                    /** InventoryTargeting targetedAdUnits */
                    targetedAdUnits?: (google.ads.admanager.v1.IAdUnitTargeting[]|null);

                    /** InventoryTargeting excludedAdUnits */
                    excludedAdUnits?: (google.ads.admanager.v1.IAdUnitTargeting[]|null);

                    /** InventoryTargeting targetedPlacements */
                    targetedPlacements?: (string[]|null);
                }

                /** Represents an InventoryTargeting. */
                class InventoryTargeting implements IInventoryTargeting {

                    /**
                     * Constructs a new InventoryTargeting.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IInventoryTargeting);

                    /** InventoryTargeting targetedAdUnits. */
                    public targetedAdUnits: google.ads.admanager.v1.IAdUnitTargeting[];

                    /** InventoryTargeting excludedAdUnits. */
                    public excludedAdUnits: google.ads.admanager.v1.IAdUnitTargeting[];

                    /** InventoryTargeting targetedPlacements. */
                    public targetedPlacements: string[];

                    /**
                     * Creates a new InventoryTargeting instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns InventoryTargeting instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IInventoryTargeting): google.ads.admanager.v1.InventoryTargeting;

                    /**
                     * Encodes the specified InventoryTargeting message. Does not implicitly {@link google.ads.admanager.v1.InventoryTargeting.verify|verify} messages.
                     * @param message InventoryTargeting message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IInventoryTargeting, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified InventoryTargeting message, length delimited. Does not implicitly {@link google.ads.admanager.v1.InventoryTargeting.verify|verify} messages.
                     * @param message InventoryTargeting message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IInventoryTargeting, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes an InventoryTargeting message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns InventoryTargeting
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.InventoryTargeting;

                    /**
                     * Decodes an InventoryTargeting message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns InventoryTargeting
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.InventoryTargeting;

                    /**
                     * Verifies an InventoryTargeting message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates an InventoryTargeting message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns InventoryTargeting
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.InventoryTargeting;

                    /**
                     * Creates a plain object from an InventoryTargeting message. Also converts values to other types if specified.
                     * @param message InventoryTargeting
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.InventoryTargeting, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this InventoryTargeting to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for InventoryTargeting
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of an AdUnitTargeting. */
                interface IAdUnitTargeting {

                    /** AdUnitTargeting includeDescendants */
                    includeDescendants?: (boolean|null);

                    /** AdUnitTargeting adUnit */
                    adUnit?: (string|null);
                }

                /** Represents an AdUnitTargeting. */
                class AdUnitTargeting implements IAdUnitTargeting {

                    /**
                     * Constructs a new AdUnitTargeting.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IAdUnitTargeting);

                    /** AdUnitTargeting includeDescendants. */
                    public includeDescendants?: (boolean|null);

                    /** AdUnitTargeting adUnit. */
                    public adUnit?: (string|null);

                    /**
                     * Creates a new AdUnitTargeting instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns AdUnitTargeting instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IAdUnitTargeting): google.ads.admanager.v1.AdUnitTargeting;

                    /**
                     * Encodes the specified AdUnitTargeting message. Does not implicitly {@link google.ads.admanager.v1.AdUnitTargeting.verify|verify} messages.
                     * @param message AdUnitTargeting message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IAdUnitTargeting, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified AdUnitTargeting message, length delimited. Does not implicitly {@link google.ads.admanager.v1.AdUnitTargeting.verify|verify} messages.
                     * @param message AdUnitTargeting message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IAdUnitTargeting, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes an AdUnitTargeting message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns AdUnitTargeting
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.AdUnitTargeting;

                    /**
                     * Decodes an AdUnitTargeting message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns AdUnitTargeting
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.AdUnitTargeting;

                    /**
                     * Verifies an AdUnitTargeting message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates an AdUnitTargeting message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns AdUnitTargeting
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.AdUnitTargeting;

                    /**
                     * Creates a plain object from an AdUnitTargeting message. Also converts values to other types if specified.
                     * @param message AdUnitTargeting
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.AdUnitTargeting, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this AdUnitTargeting to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for AdUnitTargeting
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a RequestPlatformTargeting. */
                interface IRequestPlatformTargeting {

                    /** RequestPlatformTargeting requestPlatforms */
                    requestPlatforms?: (google.ads.admanager.v1.RequestPlatformEnum.RequestPlatform[]|null);
                }

                /** Represents a RequestPlatformTargeting. */
                class RequestPlatformTargeting implements IRequestPlatformTargeting {

                    /**
                     * Constructs a new RequestPlatformTargeting.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IRequestPlatformTargeting);

                    /** RequestPlatformTargeting requestPlatforms. */
                    public requestPlatforms: google.ads.admanager.v1.RequestPlatformEnum.RequestPlatform[];

                    /**
                     * Creates a new RequestPlatformTargeting instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns RequestPlatformTargeting instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IRequestPlatformTargeting): google.ads.admanager.v1.RequestPlatformTargeting;

                    /**
                     * Encodes the specified RequestPlatformTargeting message. Does not implicitly {@link google.ads.admanager.v1.RequestPlatformTargeting.verify|verify} messages.
                     * @param message RequestPlatformTargeting message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IRequestPlatformTargeting, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified RequestPlatformTargeting message, length delimited. Does not implicitly {@link google.ads.admanager.v1.RequestPlatformTargeting.verify|verify} messages.
                     * @param message RequestPlatformTargeting message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IRequestPlatformTargeting, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a RequestPlatformTargeting message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns RequestPlatformTargeting
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.RequestPlatformTargeting;

                    /**
                     * Decodes a RequestPlatformTargeting message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns RequestPlatformTargeting
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.RequestPlatformTargeting;

                    /**
                     * Verifies a RequestPlatformTargeting message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a RequestPlatformTargeting message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns RequestPlatformTargeting
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.RequestPlatformTargeting;

                    /**
                     * Creates a plain object from a RequestPlatformTargeting message. Also converts values to other types if specified.
                     * @param message RequestPlatformTargeting
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.RequestPlatformTargeting, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this RequestPlatformTargeting to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for RequestPlatformTargeting
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a CustomTargeting. */
                interface ICustomTargeting {

                    /** CustomTargeting customTargetingClauses */
                    customTargetingClauses?: (google.ads.admanager.v1.ICustomTargetingClause[]|null);
                }

                /** Represents a CustomTargeting. */
                class CustomTargeting implements ICustomTargeting {

                    /**
                     * Constructs a new CustomTargeting.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.ICustomTargeting);

                    /** CustomTargeting customTargetingClauses. */
                    public customTargetingClauses: google.ads.admanager.v1.ICustomTargetingClause[];

                    /**
                     * Creates a new CustomTargeting instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns CustomTargeting instance
                     */
                    public static create(properties?: google.ads.admanager.v1.ICustomTargeting): google.ads.admanager.v1.CustomTargeting;

                    /**
                     * Encodes the specified CustomTargeting message. Does not implicitly {@link google.ads.admanager.v1.CustomTargeting.verify|verify} messages.
                     * @param message CustomTargeting message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.ICustomTargeting, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified CustomTargeting message, length delimited. Does not implicitly {@link google.ads.admanager.v1.CustomTargeting.verify|verify} messages.
                     * @param message CustomTargeting message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.ICustomTargeting, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a CustomTargeting message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns CustomTargeting
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.CustomTargeting;

                    /**
                     * Decodes a CustomTargeting message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns CustomTargeting
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.CustomTargeting;

                    /**
                     * Verifies a CustomTargeting message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a CustomTargeting message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns CustomTargeting
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.CustomTargeting;

                    /**
                     * Creates a plain object from a CustomTargeting message. Also converts values to other types if specified.
                     * @param message CustomTargeting
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.CustomTargeting, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this CustomTargeting to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for CustomTargeting
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a CustomTargetingClause. */
                interface ICustomTargetingClause {

                    /** CustomTargetingClause customTargetingLiterals */
                    customTargetingLiterals?: (google.ads.admanager.v1.ICustomTargetingLiteral[]|null);

                    /** CustomTargetingClause audienceSegmentTargetings */
                    audienceSegmentTargetings?: (google.ads.admanager.v1.IAudienceSegmentTargeting[]|null);

                    /** CustomTargetingClause cmsMetadataTargetings */
                    cmsMetadataTargetings?: (google.ads.admanager.v1.ICmsMetadataTargeting[]|null);
                }

                /** Represents a CustomTargetingClause. */
                class CustomTargetingClause implements ICustomTargetingClause {

                    /**
                     * Constructs a new CustomTargetingClause.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.ICustomTargetingClause);

                    /** CustomTargetingClause customTargetingLiterals. */
                    public customTargetingLiterals: google.ads.admanager.v1.ICustomTargetingLiteral[];

                    /** CustomTargetingClause audienceSegmentTargetings. */
                    public audienceSegmentTargetings: google.ads.admanager.v1.IAudienceSegmentTargeting[];

                    /** CustomTargetingClause cmsMetadataTargetings. */
                    public cmsMetadataTargetings: google.ads.admanager.v1.ICmsMetadataTargeting[];

                    /**
                     * Creates a new CustomTargetingClause instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns CustomTargetingClause instance
                     */
                    public static create(properties?: google.ads.admanager.v1.ICustomTargetingClause): google.ads.admanager.v1.CustomTargetingClause;

                    /**
                     * Encodes the specified CustomTargetingClause message. Does not implicitly {@link google.ads.admanager.v1.CustomTargetingClause.verify|verify} messages.
                     * @param message CustomTargetingClause message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.ICustomTargetingClause, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified CustomTargetingClause message, length delimited. Does not implicitly {@link google.ads.admanager.v1.CustomTargetingClause.verify|verify} messages.
                     * @param message CustomTargetingClause message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.ICustomTargetingClause, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a CustomTargetingClause message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns CustomTargetingClause
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.CustomTargetingClause;

                    /**
                     * Decodes a CustomTargetingClause message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns CustomTargetingClause
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.CustomTargetingClause;

                    /**
                     * Verifies a CustomTargetingClause message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a CustomTargetingClause message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns CustomTargetingClause
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.CustomTargetingClause;

                    /**
                     * Creates a plain object from a CustomTargetingClause message. Also converts values to other types if specified.
                     * @param message CustomTargetingClause
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.CustomTargetingClause, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this CustomTargetingClause to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for CustomTargetingClause
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a CustomTargetingLiteral. */
                interface ICustomTargetingLiteral {

                    /** CustomTargetingLiteral negative */
                    negative?: (boolean|null);

                    /** CustomTargetingLiteral customTargetingKey */
                    customTargetingKey?: (string|null);

                    /** CustomTargetingLiteral customTargetingValues */
                    customTargetingValues?: (string[]|null);
                }

                /** Represents a CustomTargetingLiteral. */
                class CustomTargetingLiteral implements ICustomTargetingLiteral {

                    /**
                     * Constructs a new CustomTargetingLiteral.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.ICustomTargetingLiteral);

                    /** CustomTargetingLiteral negative. */
                    public negative?: (boolean|null);

                    /** CustomTargetingLiteral customTargetingKey. */
                    public customTargetingKey?: (string|null);

                    /** CustomTargetingLiteral customTargetingValues. */
                    public customTargetingValues: string[];

                    /**
                     * Creates a new CustomTargetingLiteral instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns CustomTargetingLiteral instance
                     */
                    public static create(properties?: google.ads.admanager.v1.ICustomTargetingLiteral): google.ads.admanager.v1.CustomTargetingLiteral;

                    /**
                     * Encodes the specified CustomTargetingLiteral message. Does not implicitly {@link google.ads.admanager.v1.CustomTargetingLiteral.verify|verify} messages.
                     * @param message CustomTargetingLiteral message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.ICustomTargetingLiteral, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified CustomTargetingLiteral message, length delimited. Does not implicitly {@link google.ads.admanager.v1.CustomTargetingLiteral.verify|verify} messages.
                     * @param message CustomTargetingLiteral message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.ICustomTargetingLiteral, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a CustomTargetingLiteral message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns CustomTargetingLiteral
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.CustomTargetingLiteral;

                    /**
                     * Decodes a CustomTargetingLiteral message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns CustomTargetingLiteral
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.CustomTargetingLiteral;

                    /**
                     * Verifies a CustomTargetingLiteral message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a CustomTargetingLiteral message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns CustomTargetingLiteral
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.CustomTargetingLiteral;

                    /**
                     * Creates a plain object from a CustomTargetingLiteral message. Also converts values to other types if specified.
                     * @param message CustomTargetingLiteral
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.CustomTargetingLiteral, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this CustomTargetingLiteral to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for CustomTargetingLiteral
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of an AudienceSegmentTargeting. */
                interface IAudienceSegmentTargeting {

                    /** AudienceSegmentTargeting negative */
                    negative?: (boolean|null);

                    /** AudienceSegmentTargeting audienceSegments */
                    audienceSegments?: (string[]|null);
                }

                /** Represents an AudienceSegmentTargeting. */
                class AudienceSegmentTargeting implements IAudienceSegmentTargeting {

                    /**
                     * Constructs a new AudienceSegmentTargeting.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IAudienceSegmentTargeting);

                    /** AudienceSegmentTargeting negative. */
                    public negative?: (boolean|null);

                    /** AudienceSegmentTargeting audienceSegments. */
                    public audienceSegments: string[];

                    /**
                     * Creates a new AudienceSegmentTargeting instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns AudienceSegmentTargeting instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IAudienceSegmentTargeting): google.ads.admanager.v1.AudienceSegmentTargeting;

                    /**
                     * Encodes the specified AudienceSegmentTargeting message. Does not implicitly {@link google.ads.admanager.v1.AudienceSegmentTargeting.verify|verify} messages.
                     * @param message AudienceSegmentTargeting message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IAudienceSegmentTargeting, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified AudienceSegmentTargeting message, length delimited. Does not implicitly {@link google.ads.admanager.v1.AudienceSegmentTargeting.verify|verify} messages.
                     * @param message AudienceSegmentTargeting message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IAudienceSegmentTargeting, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes an AudienceSegmentTargeting message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns AudienceSegmentTargeting
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.AudienceSegmentTargeting;

                    /**
                     * Decodes an AudienceSegmentTargeting message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns AudienceSegmentTargeting
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.AudienceSegmentTargeting;

                    /**
                     * Verifies an AudienceSegmentTargeting message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates an AudienceSegmentTargeting message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns AudienceSegmentTargeting
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.AudienceSegmentTargeting;

                    /**
                     * Creates a plain object from an AudienceSegmentTargeting message. Also converts values to other types if specified.
                     * @param message AudienceSegmentTargeting
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.AudienceSegmentTargeting, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this AudienceSegmentTargeting to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for AudienceSegmentTargeting
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a CmsMetadataTargeting. */
                interface ICmsMetadataTargeting {

                    /** CmsMetadataTargeting negative */
                    negative?: (boolean|null);

                    /** CmsMetadataTargeting cmsMetadataValues */
                    cmsMetadataValues?: (string[]|null);
                }

                /** Represents a CmsMetadataTargeting. */
                class CmsMetadataTargeting implements ICmsMetadataTargeting {

                    /**
                     * Constructs a new CmsMetadataTargeting.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.ICmsMetadataTargeting);

                    /** CmsMetadataTargeting negative. */
                    public negative?: (boolean|null);

                    /** CmsMetadataTargeting cmsMetadataValues. */
                    public cmsMetadataValues: string[];

                    /**
                     * Creates a new CmsMetadataTargeting instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns CmsMetadataTargeting instance
                     */
                    public static create(properties?: google.ads.admanager.v1.ICmsMetadataTargeting): google.ads.admanager.v1.CmsMetadataTargeting;

                    /**
                     * Encodes the specified CmsMetadataTargeting message. Does not implicitly {@link google.ads.admanager.v1.CmsMetadataTargeting.verify|verify} messages.
                     * @param message CmsMetadataTargeting message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.ICmsMetadataTargeting, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified CmsMetadataTargeting message, length delimited. Does not implicitly {@link google.ads.admanager.v1.CmsMetadataTargeting.verify|verify} messages.
                     * @param message CmsMetadataTargeting message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.ICmsMetadataTargeting, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a CmsMetadataTargeting message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns CmsMetadataTargeting
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.CmsMetadataTargeting;

                    /**
                     * Decodes a CmsMetadataTargeting message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns CmsMetadataTargeting
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.CmsMetadataTargeting;

                    /**
                     * Verifies a CmsMetadataTargeting message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a CmsMetadataTargeting message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns CmsMetadataTargeting
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.CmsMetadataTargeting;

                    /**
                     * Creates a plain object from a CmsMetadataTargeting message. Also converts values to other types if specified.
                     * @param message CmsMetadataTargeting
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.CmsMetadataTargeting, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this CmsMetadataTargeting to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for CmsMetadataTargeting
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a UserDomainTargeting. */
                interface IUserDomainTargeting {

                    /** UserDomainTargeting targetedUserDomains */
                    targetedUserDomains?: (string[]|null);

                    /** UserDomainTargeting excludedUserDomains */
                    excludedUserDomains?: (string[]|null);
                }

                /** Represents a UserDomainTargeting. */
                class UserDomainTargeting implements IUserDomainTargeting {

                    /**
                     * Constructs a new UserDomainTargeting.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IUserDomainTargeting);

                    /** UserDomainTargeting targetedUserDomains. */
                    public targetedUserDomains: string[];

                    /** UserDomainTargeting excludedUserDomains. */
                    public excludedUserDomains: string[];

                    /**
                     * Creates a new UserDomainTargeting instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns UserDomainTargeting instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IUserDomainTargeting): google.ads.admanager.v1.UserDomainTargeting;

                    /**
                     * Encodes the specified UserDomainTargeting message. Does not implicitly {@link google.ads.admanager.v1.UserDomainTargeting.verify|verify} messages.
                     * @param message UserDomainTargeting message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IUserDomainTargeting, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified UserDomainTargeting message, length delimited. Does not implicitly {@link google.ads.admanager.v1.UserDomainTargeting.verify|verify} messages.
                     * @param message UserDomainTargeting message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IUserDomainTargeting, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a UserDomainTargeting message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns UserDomainTargeting
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.UserDomainTargeting;

                    /**
                     * Decodes a UserDomainTargeting message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns UserDomainTargeting
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.UserDomainTargeting;

                    /**
                     * Verifies a UserDomainTargeting message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a UserDomainTargeting message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns UserDomainTargeting
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.UserDomainTargeting;

                    /**
                     * Creates a plain object from a UserDomainTargeting message. Also converts values to other types if specified.
                     * @param message UserDomainTargeting
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.UserDomainTargeting, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this UserDomainTargeting to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for UserDomainTargeting
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a VideoPositionTargeting. */
                interface IVideoPositionTargeting {

                    /** VideoPositionTargeting videoPositions */
                    videoPositions?: (google.ads.admanager.v1.IVideoPosition[]|null);
                }

                /** Represents a VideoPositionTargeting. */
                class VideoPositionTargeting implements IVideoPositionTargeting {

                    /**
                     * Constructs a new VideoPositionTargeting.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IVideoPositionTargeting);

                    /** VideoPositionTargeting videoPositions. */
                    public videoPositions: google.ads.admanager.v1.IVideoPosition[];

                    /**
                     * Creates a new VideoPositionTargeting instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns VideoPositionTargeting instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IVideoPositionTargeting): google.ads.admanager.v1.VideoPositionTargeting;

                    /**
                     * Encodes the specified VideoPositionTargeting message. Does not implicitly {@link google.ads.admanager.v1.VideoPositionTargeting.verify|verify} messages.
                     * @param message VideoPositionTargeting message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IVideoPositionTargeting, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified VideoPositionTargeting message, length delimited. Does not implicitly {@link google.ads.admanager.v1.VideoPositionTargeting.verify|verify} messages.
                     * @param message VideoPositionTargeting message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IVideoPositionTargeting, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a VideoPositionTargeting message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns VideoPositionTargeting
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.VideoPositionTargeting;

                    /**
                     * Decodes a VideoPositionTargeting message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns VideoPositionTargeting
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.VideoPositionTargeting;

                    /**
                     * Verifies a VideoPositionTargeting message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a VideoPositionTargeting message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns VideoPositionTargeting
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.VideoPositionTargeting;

                    /**
                     * Creates a plain object from a VideoPositionTargeting message. Also converts values to other types if specified.
                     * @param message VideoPositionTargeting
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.VideoPositionTargeting, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this VideoPositionTargeting to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for VideoPositionTargeting
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a VideoPosition. */
                interface IVideoPosition {

                    /** VideoPosition midrollIndex */
                    midrollIndex?: (number|Long|string|null);

                    /** VideoPosition reverseMidrollIndex */
                    reverseMidrollIndex?: (number|Long|string|null);

                    /** VideoPosition podPosition */
                    podPosition?: (number|Long|string|null);

                    /** VideoPosition positionType */
                    positionType?: (google.ads.admanager.v1.VideoPositionEnum.VideoPosition|keyof typeof google.ads.admanager.v1.VideoPositionEnum.VideoPosition|null);

                    /** VideoPosition bumperType */
                    bumperType?: (google.ads.admanager.v1.TargetedVideoBumperTypeEnum.TargetedVideoBumperType|keyof typeof google.ads.admanager.v1.TargetedVideoBumperTypeEnum.TargetedVideoBumperType|null);
                }

                /** Represents a VideoPosition. */
                class VideoPosition implements IVideoPosition {

                    /**
                     * Constructs a new VideoPosition.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IVideoPosition);

                    /** VideoPosition midrollIndex. */
                    public midrollIndex?: (number|Long|string|null);

                    /** VideoPosition reverseMidrollIndex. */
                    public reverseMidrollIndex?: (number|Long|string|null);

                    /** VideoPosition podPosition. */
                    public podPosition?: (number|Long|string|null);

                    /** VideoPosition positionType. */
                    public positionType?: (google.ads.admanager.v1.VideoPositionEnum.VideoPosition|keyof typeof google.ads.admanager.v1.VideoPositionEnum.VideoPosition|null);

                    /** VideoPosition bumperType. */
                    public bumperType?: (google.ads.admanager.v1.TargetedVideoBumperTypeEnum.TargetedVideoBumperType|keyof typeof google.ads.admanager.v1.TargetedVideoBumperTypeEnum.TargetedVideoBumperType|null);

                    /**
                     * Creates a new VideoPosition instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns VideoPosition instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IVideoPosition): google.ads.admanager.v1.VideoPosition;

                    /**
                     * Encodes the specified VideoPosition message. Does not implicitly {@link google.ads.admanager.v1.VideoPosition.verify|verify} messages.
                     * @param message VideoPosition message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IVideoPosition, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified VideoPosition message, length delimited. Does not implicitly {@link google.ads.admanager.v1.VideoPosition.verify|verify} messages.
                     * @param message VideoPosition message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IVideoPosition, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a VideoPosition message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns VideoPosition
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.VideoPosition;

                    /**
                     * Decodes a VideoPosition message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns VideoPosition
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.VideoPosition;

                    /**
                     * Verifies a VideoPosition message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a VideoPosition message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns VideoPosition
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.VideoPosition;

                    /**
                     * Creates a plain object from a VideoPosition message. Also converts values to other types if specified.
                     * @param message VideoPosition
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.VideoPosition, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this VideoPosition to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for VideoPosition
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a DataSegmentTargeting. */
                interface IDataSegmentTargeting {

                    /** DataSegmentTargeting hasDataSegmentTargeting */
                    hasDataSegmentTargeting?: (boolean|null);
                }

                /** Represents a DataSegmentTargeting. */
                class DataSegmentTargeting implements IDataSegmentTargeting {

                    /**
                     * Constructs a new DataSegmentTargeting.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IDataSegmentTargeting);

                    /** DataSegmentTargeting hasDataSegmentTargeting. */
                    public hasDataSegmentTargeting: boolean;

                    /**
                     * Creates a new DataSegmentTargeting instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns DataSegmentTargeting instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IDataSegmentTargeting): google.ads.admanager.v1.DataSegmentTargeting;

                    /**
                     * Encodes the specified DataSegmentTargeting message. Does not implicitly {@link google.ads.admanager.v1.DataSegmentTargeting.verify|verify} messages.
                     * @param message DataSegmentTargeting message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IDataSegmentTargeting, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified DataSegmentTargeting message, length delimited. Does not implicitly {@link google.ads.admanager.v1.DataSegmentTargeting.verify|verify} messages.
                     * @param message DataSegmentTargeting message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IDataSegmentTargeting, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a DataSegmentTargeting message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns DataSegmentTargeting
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.DataSegmentTargeting;

                    /**
                     * Decodes a DataSegmentTargeting message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns DataSegmentTargeting
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.DataSegmentTargeting;

                    /**
                     * Verifies a DataSegmentTargeting message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a DataSegmentTargeting message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns DataSegmentTargeting
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.DataSegmentTargeting;

                    /**
                     * Creates a plain object from a DataSegmentTargeting message. Also converts values to other types if specified.
                     * @param message DataSegmentTargeting
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.DataSegmentTargeting, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this DataSegmentTargeting to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for DataSegmentTargeting
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a ContentTargeting. */
                interface IContentTargeting {

                    /** ContentTargeting targetedContent */
                    targetedContent?: (string[]|null);

                    /** ContentTargeting excludedContent */
                    excludedContent?: (string[]|null);

                    /** ContentTargeting targetedContentBundles */
                    targetedContentBundles?: (string[]|null);

                    /** ContentTargeting excludedContentBundles */
                    excludedContentBundles?: (string[]|null);
                }

                /** Represents a ContentTargeting. */
                class ContentTargeting implements IContentTargeting {

                    /**
                     * Constructs a new ContentTargeting.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IContentTargeting);

                    /** ContentTargeting targetedContent. */
                    public targetedContent: string[];

                    /** ContentTargeting excludedContent. */
                    public excludedContent: string[];

                    /** ContentTargeting targetedContentBundles. */
                    public targetedContentBundles: string[];

                    /** ContentTargeting excludedContentBundles. */
                    public excludedContentBundles: string[];

                    /**
                     * Creates a new ContentTargeting instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns ContentTargeting instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IContentTargeting): google.ads.admanager.v1.ContentTargeting;

                    /**
                     * Encodes the specified ContentTargeting message. Does not implicitly {@link google.ads.admanager.v1.ContentTargeting.verify|verify} messages.
                     * @param message ContentTargeting message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IContentTargeting, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified ContentTargeting message, length delimited. Does not implicitly {@link google.ads.admanager.v1.ContentTargeting.verify|verify} messages.
                     * @param message ContentTargeting message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IContentTargeting, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a ContentTargeting message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns ContentTargeting
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.ContentTargeting;

                    /**
                     * Decodes a ContentTargeting message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns ContentTargeting
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.ContentTargeting;

                    /**
                     * Verifies a ContentTargeting message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a ContentTargeting message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns ContentTargeting
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.ContentTargeting;

                    /**
                     * Creates a plain object from a ContentTargeting message. Also converts values to other types if specified.
                     * @param message ContentTargeting
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.ContentTargeting, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this ContentTargeting to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for ContentTargeting
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a MobileApplicationTargeting. */
                interface IMobileApplicationTargeting {

                    /** MobileApplicationTargeting firstPartyTargeting */
                    firstPartyTargeting?: (google.ads.admanager.v1.IFirstPartyMobileApplicationTargeting|null);
                }

                /** Represents a MobileApplicationTargeting. */
                class MobileApplicationTargeting implements IMobileApplicationTargeting {

                    /**
                     * Constructs a new MobileApplicationTargeting.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IMobileApplicationTargeting);

                    /** MobileApplicationTargeting firstPartyTargeting. */
                    public firstPartyTargeting?: (google.ads.admanager.v1.IFirstPartyMobileApplicationTargeting|null);

                    /** MobileApplicationTargeting targeting. */
                    public targeting?: "firstPartyTargeting";

                    /**
                     * Creates a new MobileApplicationTargeting instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns MobileApplicationTargeting instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IMobileApplicationTargeting): google.ads.admanager.v1.MobileApplicationTargeting;

                    /**
                     * Encodes the specified MobileApplicationTargeting message. Does not implicitly {@link google.ads.admanager.v1.MobileApplicationTargeting.verify|verify} messages.
                     * @param message MobileApplicationTargeting message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IMobileApplicationTargeting, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified MobileApplicationTargeting message, length delimited. Does not implicitly {@link google.ads.admanager.v1.MobileApplicationTargeting.verify|verify} messages.
                     * @param message MobileApplicationTargeting message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IMobileApplicationTargeting, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a MobileApplicationTargeting message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns MobileApplicationTargeting
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.MobileApplicationTargeting;

                    /**
                     * Decodes a MobileApplicationTargeting message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns MobileApplicationTargeting
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.MobileApplicationTargeting;

                    /**
                     * Verifies a MobileApplicationTargeting message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a MobileApplicationTargeting message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns MobileApplicationTargeting
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.MobileApplicationTargeting;

                    /**
                     * Creates a plain object from a MobileApplicationTargeting message. Also converts values to other types if specified.
                     * @param message MobileApplicationTargeting
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.MobileApplicationTargeting, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this MobileApplicationTargeting to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for MobileApplicationTargeting
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a FirstPartyMobileApplicationTargeting. */
                interface IFirstPartyMobileApplicationTargeting {

                    /** FirstPartyMobileApplicationTargeting targetedApplications */
                    targetedApplications?: (string[]|null);

                    /** FirstPartyMobileApplicationTargeting excludedApplications */
                    excludedApplications?: (string[]|null);
                }

                /** Represents a FirstPartyMobileApplicationTargeting. */
                class FirstPartyMobileApplicationTargeting implements IFirstPartyMobileApplicationTargeting {

                    /**
                     * Constructs a new FirstPartyMobileApplicationTargeting.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IFirstPartyMobileApplicationTargeting);

                    /** FirstPartyMobileApplicationTargeting targetedApplications. */
                    public targetedApplications: string[];

                    /** FirstPartyMobileApplicationTargeting excludedApplications. */
                    public excludedApplications: string[];

                    /**
                     * Creates a new FirstPartyMobileApplicationTargeting instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns FirstPartyMobileApplicationTargeting instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IFirstPartyMobileApplicationTargeting): google.ads.admanager.v1.FirstPartyMobileApplicationTargeting;

                    /**
                     * Encodes the specified FirstPartyMobileApplicationTargeting message. Does not implicitly {@link google.ads.admanager.v1.FirstPartyMobileApplicationTargeting.verify|verify} messages.
                     * @param message FirstPartyMobileApplicationTargeting message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IFirstPartyMobileApplicationTargeting, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified FirstPartyMobileApplicationTargeting message, length delimited. Does not implicitly {@link google.ads.admanager.v1.FirstPartyMobileApplicationTargeting.verify|verify} messages.
                     * @param message FirstPartyMobileApplicationTargeting message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IFirstPartyMobileApplicationTargeting, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a FirstPartyMobileApplicationTargeting message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns FirstPartyMobileApplicationTargeting
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.FirstPartyMobileApplicationTargeting;

                    /**
                     * Decodes a FirstPartyMobileApplicationTargeting message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns FirstPartyMobileApplicationTargeting
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.FirstPartyMobileApplicationTargeting;

                    /**
                     * Verifies a FirstPartyMobileApplicationTargeting message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a FirstPartyMobileApplicationTargeting message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns FirstPartyMobileApplicationTargeting
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.FirstPartyMobileApplicationTargeting;

                    /**
                     * Creates a plain object from a FirstPartyMobileApplicationTargeting message. Also converts values to other types if specified.
                     * @param message FirstPartyMobileApplicationTargeting
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.FirstPartyMobileApplicationTargeting, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this FirstPartyMobileApplicationTargeting to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for FirstPartyMobileApplicationTargeting
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a RequestPlatformEnum. */
                interface IRequestPlatformEnum {
                }

                /** Represents a RequestPlatformEnum. */
                class RequestPlatformEnum implements IRequestPlatformEnum {

                    /**
                     * Constructs a new RequestPlatformEnum.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IRequestPlatformEnum);

                    /**
                     * Creates a new RequestPlatformEnum instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns RequestPlatformEnum instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IRequestPlatformEnum): google.ads.admanager.v1.RequestPlatformEnum;

                    /**
                     * Encodes the specified RequestPlatformEnum message. Does not implicitly {@link google.ads.admanager.v1.RequestPlatformEnum.verify|verify} messages.
                     * @param message RequestPlatformEnum message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IRequestPlatformEnum, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified RequestPlatformEnum message, length delimited. Does not implicitly {@link google.ads.admanager.v1.RequestPlatformEnum.verify|verify} messages.
                     * @param message RequestPlatformEnum message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IRequestPlatformEnum, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a RequestPlatformEnum message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns RequestPlatformEnum
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.RequestPlatformEnum;

                    /**
                     * Decodes a RequestPlatformEnum message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns RequestPlatformEnum
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.RequestPlatformEnum;

                    /**
                     * Verifies a RequestPlatformEnum message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a RequestPlatformEnum message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns RequestPlatformEnum
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.RequestPlatformEnum;

                    /**
                     * Creates a plain object from a RequestPlatformEnum message. Also converts values to other types if specified.
                     * @param message RequestPlatformEnum
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.RequestPlatformEnum, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this RequestPlatformEnum to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for RequestPlatformEnum
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                namespace RequestPlatformEnum {

                    /** RequestPlatform enum. */
                    enum RequestPlatform {
                        REQUEST_PLATFORM_UNSPECIFIED = 0,
                        BROWSER = 1,
                        MOBILE_APP = 2,
                        VIDEO_PLAYER = 3
                    }
                }

                /** Properties of a TargetedVideoBumperTypeEnum. */
                interface ITargetedVideoBumperTypeEnum {
                }

                /** Represents a TargetedVideoBumperTypeEnum. */
                class TargetedVideoBumperTypeEnum implements ITargetedVideoBumperTypeEnum {

                    /**
                     * Constructs a new TargetedVideoBumperTypeEnum.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.ITargetedVideoBumperTypeEnum);

                    /**
                     * Creates a new TargetedVideoBumperTypeEnum instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns TargetedVideoBumperTypeEnum instance
                     */
                    public static create(properties?: google.ads.admanager.v1.ITargetedVideoBumperTypeEnum): google.ads.admanager.v1.TargetedVideoBumperTypeEnum;

                    /**
                     * Encodes the specified TargetedVideoBumperTypeEnum message. Does not implicitly {@link google.ads.admanager.v1.TargetedVideoBumperTypeEnum.verify|verify} messages.
                     * @param message TargetedVideoBumperTypeEnum message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.ITargetedVideoBumperTypeEnum, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified TargetedVideoBumperTypeEnum message, length delimited. Does not implicitly {@link google.ads.admanager.v1.TargetedVideoBumperTypeEnum.verify|verify} messages.
                     * @param message TargetedVideoBumperTypeEnum message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.ITargetedVideoBumperTypeEnum, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a TargetedVideoBumperTypeEnum message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns TargetedVideoBumperTypeEnum
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.TargetedVideoBumperTypeEnum;

                    /**
                     * Decodes a TargetedVideoBumperTypeEnum message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns TargetedVideoBumperTypeEnum
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.TargetedVideoBumperTypeEnum;

                    /**
                     * Verifies a TargetedVideoBumperTypeEnum message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a TargetedVideoBumperTypeEnum message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns TargetedVideoBumperTypeEnum
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.TargetedVideoBumperTypeEnum;

                    /**
                     * Creates a plain object from a TargetedVideoBumperTypeEnum message. Also converts values to other types if specified.
                     * @param message TargetedVideoBumperTypeEnum
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.TargetedVideoBumperTypeEnum, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this TargetedVideoBumperTypeEnum to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for TargetedVideoBumperTypeEnum
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                namespace TargetedVideoBumperTypeEnum {

                    /** TargetedVideoBumperType enum. */
                    enum TargetedVideoBumperType {
                        TARGETED_VIDEO_BUMPER_TYPE_UNSPECIFIED = 0,
                        AFTER = 1,
                        BEFORE = 2
                    }
                }

                /** Properties of a VideoPositionEnum. */
                interface IVideoPositionEnum {
                }

                /** Represents a VideoPositionEnum. */
                class VideoPositionEnum implements IVideoPositionEnum {

                    /**
                     * Constructs a new VideoPositionEnum.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IVideoPositionEnum);

                    /**
                     * Creates a new VideoPositionEnum instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns VideoPositionEnum instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IVideoPositionEnum): google.ads.admanager.v1.VideoPositionEnum;

                    /**
                     * Encodes the specified VideoPositionEnum message. Does not implicitly {@link google.ads.admanager.v1.VideoPositionEnum.verify|verify} messages.
                     * @param message VideoPositionEnum message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IVideoPositionEnum, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified VideoPositionEnum message, length delimited. Does not implicitly {@link google.ads.admanager.v1.VideoPositionEnum.verify|verify} messages.
                     * @param message VideoPositionEnum message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IVideoPositionEnum, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a VideoPositionEnum message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns VideoPositionEnum
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.VideoPositionEnum;

                    /**
                     * Decodes a VideoPositionEnum message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns VideoPositionEnum
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.VideoPositionEnum;

                    /**
                     * Verifies a VideoPositionEnum message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a VideoPositionEnum message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns VideoPositionEnum
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.VideoPositionEnum;

                    /**
                     * Creates a plain object from a VideoPositionEnum message. Also converts values to other types if specified.
                     * @param message VideoPositionEnum
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.VideoPositionEnum, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this VideoPositionEnum to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for VideoPositionEnum
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                namespace VideoPositionEnum {

                    /** VideoPosition enum. */
                    enum VideoPosition {
                        VIDEO_POSITION_UNSPECIFIED = 0,
                        ALL = 1,
                        MIDROLL = 2,
                        POSTROLL = 3,
                        PREROLL = 4
                    }
                }

                /** Represents a PrivateAuctionDealService */
                class PrivateAuctionDealService extends $protobuf.rpc.Service {

                    /**
                     * Constructs a new PrivateAuctionDealService service.
                     * @param rpcImpl RPC implementation
                     * @param [requestDelimited=false] Whether requests are length-delimited
                     * @param [responseDelimited=false] Whether responses are length-delimited
                     */
                    constructor(rpcImpl: $protobuf.RPCImpl, requestDelimited?: boolean, responseDelimited?: boolean);

                    /**
                     * Creates new PrivateAuctionDealService service using the specified rpc implementation.
                     * @param rpcImpl RPC implementation
                     * @param [requestDelimited=false] Whether requests are length-delimited
                     * @param [responseDelimited=false] Whether responses are length-delimited
                     * @returns RPC service. Useful where requests and/or responses are streamed.
                     */
                    public static create(rpcImpl: $protobuf.RPCImpl, requestDelimited?: boolean, responseDelimited?: boolean): PrivateAuctionDealService;

                    /**
                     * Calls GetPrivateAuctionDeal.
                     * @param request GetPrivateAuctionDealRequest message or plain object
                     * @param callback Node-style callback called with the error, if any, and PrivateAuctionDeal
                     */
                    public getPrivateAuctionDeal(request: google.ads.admanager.v1.IGetPrivateAuctionDealRequest, callback: google.ads.admanager.v1.PrivateAuctionDealService.GetPrivateAuctionDealCallback): void;

                    /**
                     * Calls GetPrivateAuctionDeal.
                     * @param request GetPrivateAuctionDealRequest message or plain object
                     * @returns Promise
                     */
                    public getPrivateAuctionDeal(request: google.ads.admanager.v1.IGetPrivateAuctionDealRequest): Promise<google.ads.admanager.v1.PrivateAuctionDeal>;

                    /**
                     * Calls ListPrivateAuctionDeals.
                     * @param request ListPrivateAuctionDealsRequest message or plain object
                     * @param callback Node-style callback called with the error, if any, and ListPrivateAuctionDealsResponse
                     */
                    public listPrivateAuctionDeals(request: google.ads.admanager.v1.IListPrivateAuctionDealsRequest, callback: google.ads.admanager.v1.PrivateAuctionDealService.ListPrivateAuctionDealsCallback): void;

                    /**
                     * Calls ListPrivateAuctionDeals.
                     * @param request ListPrivateAuctionDealsRequest message or plain object
                     * @returns Promise
                     */
                    public listPrivateAuctionDeals(request: google.ads.admanager.v1.IListPrivateAuctionDealsRequest): Promise<google.ads.admanager.v1.ListPrivateAuctionDealsResponse>;

                    /**
                     * Calls CreatePrivateAuctionDeal.
                     * @param request CreatePrivateAuctionDealRequest message or plain object
                     * @param callback Node-style callback called with the error, if any, and PrivateAuctionDeal
                     */
                    public createPrivateAuctionDeal(request: google.ads.admanager.v1.ICreatePrivateAuctionDealRequest, callback: google.ads.admanager.v1.PrivateAuctionDealService.CreatePrivateAuctionDealCallback): void;

                    /**
                     * Calls CreatePrivateAuctionDeal.
                     * @param request CreatePrivateAuctionDealRequest message or plain object
                     * @returns Promise
                     */
                    public createPrivateAuctionDeal(request: google.ads.admanager.v1.ICreatePrivateAuctionDealRequest): Promise<google.ads.admanager.v1.PrivateAuctionDeal>;

                    /**
                     * Calls UpdatePrivateAuctionDeal.
                     * @param request UpdatePrivateAuctionDealRequest message or plain object
                     * @param callback Node-style callback called with the error, if any, and PrivateAuctionDeal
                     */
                    public updatePrivateAuctionDeal(request: google.ads.admanager.v1.IUpdatePrivateAuctionDealRequest, callback: google.ads.admanager.v1.PrivateAuctionDealService.UpdatePrivateAuctionDealCallback): void;

                    /**
                     * Calls UpdatePrivateAuctionDeal.
                     * @param request UpdatePrivateAuctionDealRequest message or plain object
                     * @returns Promise
                     */
                    public updatePrivateAuctionDeal(request: google.ads.admanager.v1.IUpdatePrivateAuctionDealRequest): Promise<google.ads.admanager.v1.PrivateAuctionDeal>;
                }

                namespace PrivateAuctionDealService {

                    /**
                     * Callback as used by {@link google.ads.admanager.v1.PrivateAuctionDealService|getPrivateAuctionDeal}.
                     * @param error Error, if any
                     * @param [response] PrivateAuctionDeal
                     */
                    type GetPrivateAuctionDealCallback = (error: (Error|null), response?: google.ads.admanager.v1.PrivateAuctionDeal) => void;

                    /**
                     * Callback as used by {@link google.ads.admanager.v1.PrivateAuctionDealService|listPrivateAuctionDeals}.
                     * @param error Error, if any
                     * @param [response] ListPrivateAuctionDealsResponse
                     */
                    type ListPrivateAuctionDealsCallback = (error: (Error|null), response?: google.ads.admanager.v1.ListPrivateAuctionDealsResponse) => void;

                    /**
                     * Callback as used by {@link google.ads.admanager.v1.PrivateAuctionDealService|createPrivateAuctionDeal}.
                     * @param error Error, if any
                     * @param [response] PrivateAuctionDeal
                     */
                    type CreatePrivateAuctionDealCallback = (error: (Error|null), response?: google.ads.admanager.v1.PrivateAuctionDeal) => void;

                    /**
                     * Callback as used by {@link google.ads.admanager.v1.PrivateAuctionDealService|updatePrivateAuctionDeal}.
                     * @param error Error, if any
                     * @param [response] PrivateAuctionDeal
                     */
                    type UpdatePrivateAuctionDealCallback = (error: (Error|null), response?: google.ads.admanager.v1.PrivateAuctionDeal) => void;
                }

                /** Properties of a GetPrivateAuctionDealRequest. */
                interface IGetPrivateAuctionDealRequest {

                    /** GetPrivateAuctionDealRequest name */
                    name?: (string|null);
                }

                /** Represents a GetPrivateAuctionDealRequest. */
                class GetPrivateAuctionDealRequest implements IGetPrivateAuctionDealRequest {

                    /**
                     * Constructs a new GetPrivateAuctionDealRequest.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IGetPrivateAuctionDealRequest);

                    /** GetPrivateAuctionDealRequest name. */
                    public name: string;

                    /**
                     * Creates a new GetPrivateAuctionDealRequest instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns GetPrivateAuctionDealRequest instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IGetPrivateAuctionDealRequest): google.ads.admanager.v1.GetPrivateAuctionDealRequest;

                    /**
                     * Encodes the specified GetPrivateAuctionDealRequest message. Does not implicitly {@link google.ads.admanager.v1.GetPrivateAuctionDealRequest.verify|verify} messages.
                     * @param message GetPrivateAuctionDealRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IGetPrivateAuctionDealRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified GetPrivateAuctionDealRequest message, length delimited. Does not implicitly {@link google.ads.admanager.v1.GetPrivateAuctionDealRequest.verify|verify} messages.
                     * @param message GetPrivateAuctionDealRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IGetPrivateAuctionDealRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a GetPrivateAuctionDealRequest message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns GetPrivateAuctionDealRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.GetPrivateAuctionDealRequest;

                    /**
                     * Decodes a GetPrivateAuctionDealRequest message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns GetPrivateAuctionDealRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.GetPrivateAuctionDealRequest;

                    /**
                     * Verifies a GetPrivateAuctionDealRequest message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a GetPrivateAuctionDealRequest message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns GetPrivateAuctionDealRequest
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.GetPrivateAuctionDealRequest;

                    /**
                     * Creates a plain object from a GetPrivateAuctionDealRequest message. Also converts values to other types if specified.
                     * @param message GetPrivateAuctionDealRequest
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.GetPrivateAuctionDealRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this GetPrivateAuctionDealRequest to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for GetPrivateAuctionDealRequest
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a ListPrivateAuctionDealsRequest. */
                interface IListPrivateAuctionDealsRequest {

                    /** ListPrivateAuctionDealsRequest parent */
                    parent?: (string|null);

                    /** ListPrivateAuctionDealsRequest pageSize */
                    pageSize?: (number|null);

                    /** ListPrivateAuctionDealsRequest pageToken */
                    pageToken?: (string|null);

                    /** ListPrivateAuctionDealsRequest filter */
                    filter?: (string|null);

                    /** ListPrivateAuctionDealsRequest orderBy */
                    orderBy?: (string|null);

                    /** ListPrivateAuctionDealsRequest skip */
                    skip?: (number|null);
                }

                /** Represents a ListPrivateAuctionDealsRequest. */
                class ListPrivateAuctionDealsRequest implements IListPrivateAuctionDealsRequest {

                    /**
                     * Constructs a new ListPrivateAuctionDealsRequest.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IListPrivateAuctionDealsRequest);

                    /** ListPrivateAuctionDealsRequest parent. */
                    public parent: string;

                    /** ListPrivateAuctionDealsRequest pageSize. */
                    public pageSize: number;

                    /** ListPrivateAuctionDealsRequest pageToken. */
                    public pageToken: string;

                    /** ListPrivateAuctionDealsRequest filter. */
                    public filter: string;

                    /** ListPrivateAuctionDealsRequest orderBy. */
                    public orderBy: string;

                    /** ListPrivateAuctionDealsRequest skip. */
                    public skip: number;

                    /**
                     * Creates a new ListPrivateAuctionDealsRequest instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns ListPrivateAuctionDealsRequest instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IListPrivateAuctionDealsRequest): google.ads.admanager.v1.ListPrivateAuctionDealsRequest;

                    /**
                     * Encodes the specified ListPrivateAuctionDealsRequest message. Does not implicitly {@link google.ads.admanager.v1.ListPrivateAuctionDealsRequest.verify|verify} messages.
                     * @param message ListPrivateAuctionDealsRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IListPrivateAuctionDealsRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified ListPrivateAuctionDealsRequest message, length delimited. Does not implicitly {@link google.ads.admanager.v1.ListPrivateAuctionDealsRequest.verify|verify} messages.
                     * @param message ListPrivateAuctionDealsRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IListPrivateAuctionDealsRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a ListPrivateAuctionDealsRequest message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns ListPrivateAuctionDealsRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.ListPrivateAuctionDealsRequest;

                    /**
                     * Decodes a ListPrivateAuctionDealsRequest message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns ListPrivateAuctionDealsRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.ListPrivateAuctionDealsRequest;

                    /**
                     * Verifies a ListPrivateAuctionDealsRequest message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a ListPrivateAuctionDealsRequest message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns ListPrivateAuctionDealsRequest
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.ListPrivateAuctionDealsRequest;

                    /**
                     * Creates a plain object from a ListPrivateAuctionDealsRequest message. Also converts values to other types if specified.
                     * @param message ListPrivateAuctionDealsRequest
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.ListPrivateAuctionDealsRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this ListPrivateAuctionDealsRequest to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for ListPrivateAuctionDealsRequest
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a ListPrivateAuctionDealsResponse. */
                interface IListPrivateAuctionDealsResponse {

                    /** ListPrivateAuctionDealsResponse privateAuctionDeals */
                    privateAuctionDeals?: (google.ads.admanager.v1.IPrivateAuctionDeal[]|null);

                    /** ListPrivateAuctionDealsResponse nextPageToken */
                    nextPageToken?: (string|null);

                    /** ListPrivateAuctionDealsResponse totalSize */
                    totalSize?: (number|null);
                }

                /** Represents a ListPrivateAuctionDealsResponse. */
                class ListPrivateAuctionDealsResponse implements IListPrivateAuctionDealsResponse {

                    /**
                     * Constructs a new ListPrivateAuctionDealsResponse.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IListPrivateAuctionDealsResponse);

                    /** ListPrivateAuctionDealsResponse privateAuctionDeals. */
                    public privateAuctionDeals: google.ads.admanager.v1.IPrivateAuctionDeal[];

                    /** ListPrivateAuctionDealsResponse nextPageToken. */
                    public nextPageToken: string;

                    /** ListPrivateAuctionDealsResponse totalSize. */
                    public totalSize: number;

                    /**
                     * Creates a new ListPrivateAuctionDealsResponse instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns ListPrivateAuctionDealsResponse instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IListPrivateAuctionDealsResponse): google.ads.admanager.v1.ListPrivateAuctionDealsResponse;

                    /**
                     * Encodes the specified ListPrivateAuctionDealsResponse message. Does not implicitly {@link google.ads.admanager.v1.ListPrivateAuctionDealsResponse.verify|verify} messages.
                     * @param message ListPrivateAuctionDealsResponse message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IListPrivateAuctionDealsResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified ListPrivateAuctionDealsResponse message, length delimited. Does not implicitly {@link google.ads.admanager.v1.ListPrivateAuctionDealsResponse.verify|verify} messages.
                     * @param message ListPrivateAuctionDealsResponse message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IListPrivateAuctionDealsResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a ListPrivateAuctionDealsResponse message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns ListPrivateAuctionDealsResponse
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.ListPrivateAuctionDealsResponse;

                    /**
                     * Decodes a ListPrivateAuctionDealsResponse message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns ListPrivateAuctionDealsResponse
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.ListPrivateAuctionDealsResponse;

                    /**
                     * Verifies a ListPrivateAuctionDealsResponse message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a ListPrivateAuctionDealsResponse message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns ListPrivateAuctionDealsResponse
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.ListPrivateAuctionDealsResponse;

                    /**
                     * Creates a plain object from a ListPrivateAuctionDealsResponse message. Also converts values to other types if specified.
                     * @param message ListPrivateAuctionDealsResponse
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.ListPrivateAuctionDealsResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this ListPrivateAuctionDealsResponse to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for ListPrivateAuctionDealsResponse
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a CreatePrivateAuctionDealRequest. */
                interface ICreatePrivateAuctionDealRequest {

                    /** CreatePrivateAuctionDealRequest parent */
                    parent?: (string|null);

                    /** CreatePrivateAuctionDealRequest privateAuctionDeal */
                    privateAuctionDeal?: (google.ads.admanager.v1.IPrivateAuctionDeal|null);
                }

                /** Represents a CreatePrivateAuctionDealRequest. */
                class CreatePrivateAuctionDealRequest implements ICreatePrivateAuctionDealRequest {

                    /**
                     * Constructs a new CreatePrivateAuctionDealRequest.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.ICreatePrivateAuctionDealRequest);

                    /** CreatePrivateAuctionDealRequest parent. */
                    public parent: string;

                    /** CreatePrivateAuctionDealRequest privateAuctionDeal. */
                    public privateAuctionDeal?: (google.ads.admanager.v1.IPrivateAuctionDeal|null);

                    /**
                     * Creates a new CreatePrivateAuctionDealRequest instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns CreatePrivateAuctionDealRequest instance
                     */
                    public static create(properties?: google.ads.admanager.v1.ICreatePrivateAuctionDealRequest): google.ads.admanager.v1.CreatePrivateAuctionDealRequest;

                    /**
                     * Encodes the specified CreatePrivateAuctionDealRequest message. Does not implicitly {@link google.ads.admanager.v1.CreatePrivateAuctionDealRequest.verify|verify} messages.
                     * @param message CreatePrivateAuctionDealRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.ICreatePrivateAuctionDealRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified CreatePrivateAuctionDealRequest message, length delimited. Does not implicitly {@link google.ads.admanager.v1.CreatePrivateAuctionDealRequest.verify|verify} messages.
                     * @param message CreatePrivateAuctionDealRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.ICreatePrivateAuctionDealRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a CreatePrivateAuctionDealRequest message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns CreatePrivateAuctionDealRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.CreatePrivateAuctionDealRequest;

                    /**
                     * Decodes a CreatePrivateAuctionDealRequest message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns CreatePrivateAuctionDealRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.CreatePrivateAuctionDealRequest;

                    /**
                     * Verifies a CreatePrivateAuctionDealRequest message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a CreatePrivateAuctionDealRequest message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns CreatePrivateAuctionDealRequest
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.CreatePrivateAuctionDealRequest;

                    /**
                     * Creates a plain object from a CreatePrivateAuctionDealRequest message. Also converts values to other types if specified.
                     * @param message CreatePrivateAuctionDealRequest
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.CreatePrivateAuctionDealRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this CreatePrivateAuctionDealRequest to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for CreatePrivateAuctionDealRequest
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of an UpdatePrivateAuctionDealRequest. */
                interface IUpdatePrivateAuctionDealRequest {

                    /** UpdatePrivateAuctionDealRequest privateAuctionDeal */
                    privateAuctionDeal?: (google.ads.admanager.v1.IPrivateAuctionDeal|null);

                    /** UpdatePrivateAuctionDealRequest updateMask */
                    updateMask?: (google.protobuf.IFieldMask|null);
                }

                /** Represents an UpdatePrivateAuctionDealRequest. */
                class UpdatePrivateAuctionDealRequest implements IUpdatePrivateAuctionDealRequest {

                    /**
                     * Constructs a new UpdatePrivateAuctionDealRequest.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IUpdatePrivateAuctionDealRequest);

                    /** UpdatePrivateAuctionDealRequest privateAuctionDeal. */
                    public privateAuctionDeal?: (google.ads.admanager.v1.IPrivateAuctionDeal|null);

                    /** UpdatePrivateAuctionDealRequest updateMask. */
                    public updateMask?: (google.protobuf.IFieldMask|null);

                    /**
                     * Creates a new UpdatePrivateAuctionDealRequest instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns UpdatePrivateAuctionDealRequest instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IUpdatePrivateAuctionDealRequest): google.ads.admanager.v1.UpdatePrivateAuctionDealRequest;

                    /**
                     * Encodes the specified UpdatePrivateAuctionDealRequest message. Does not implicitly {@link google.ads.admanager.v1.UpdatePrivateAuctionDealRequest.verify|verify} messages.
                     * @param message UpdatePrivateAuctionDealRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IUpdatePrivateAuctionDealRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified UpdatePrivateAuctionDealRequest message, length delimited. Does not implicitly {@link google.ads.admanager.v1.UpdatePrivateAuctionDealRequest.verify|verify} messages.
                     * @param message UpdatePrivateAuctionDealRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IUpdatePrivateAuctionDealRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes an UpdatePrivateAuctionDealRequest message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns UpdatePrivateAuctionDealRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.UpdatePrivateAuctionDealRequest;

                    /**
                     * Decodes an UpdatePrivateAuctionDealRequest message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns UpdatePrivateAuctionDealRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.UpdatePrivateAuctionDealRequest;

                    /**
                     * Verifies an UpdatePrivateAuctionDealRequest message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates an UpdatePrivateAuctionDealRequest message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns UpdatePrivateAuctionDealRequest
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.UpdatePrivateAuctionDealRequest;

                    /**
                     * Creates a plain object from an UpdatePrivateAuctionDealRequest message. Also converts values to other types if specified.
                     * @param message UpdatePrivateAuctionDealRequest
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.UpdatePrivateAuctionDealRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this UpdatePrivateAuctionDealRequest to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for UpdatePrivateAuctionDealRequest
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a PrivateAuction. */
                interface IPrivateAuction {

                    /** PrivateAuction name */
                    name?: (string|null);

                    /** PrivateAuction privateAuctionId */
                    privateAuctionId?: (number|Long|string|null);

                    /** PrivateAuction displayName */
                    displayName?: (string|null);

                    /** PrivateAuction description */
                    description?: (string|null);

                    /** PrivateAuction sellerContactUsers */
                    sellerContactUsers?: (string[]|null);

                    /** PrivateAuction archived */
                    archived?: (boolean|null);

                    /** PrivateAuction createTime */
                    createTime?: (google.protobuf.ITimestamp|null);

                    /** PrivateAuction updateTime */
                    updateTime?: (google.protobuf.ITimestamp|null);
                }

                /** Represents a PrivateAuction. */
                class PrivateAuction implements IPrivateAuction {

                    /**
                     * Constructs a new PrivateAuction.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IPrivateAuction);

                    /** PrivateAuction name. */
                    public name: string;

                    /** PrivateAuction privateAuctionId. */
                    public privateAuctionId?: (number|Long|string|null);

                    /** PrivateAuction displayName. */
                    public displayName?: (string|null);

                    /** PrivateAuction description. */
                    public description?: (string|null);

                    /** PrivateAuction sellerContactUsers. */
                    public sellerContactUsers: string[];

                    /** PrivateAuction archived. */
                    public archived?: (boolean|null);

                    /** PrivateAuction createTime. */
                    public createTime?: (google.protobuf.ITimestamp|null);

                    /** PrivateAuction updateTime. */
                    public updateTime?: (google.protobuf.ITimestamp|null);

                    /**
                     * Creates a new PrivateAuction instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns PrivateAuction instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IPrivateAuction): google.ads.admanager.v1.PrivateAuction;

                    /**
                     * Encodes the specified PrivateAuction message. Does not implicitly {@link google.ads.admanager.v1.PrivateAuction.verify|verify} messages.
                     * @param message PrivateAuction message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IPrivateAuction, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified PrivateAuction message, length delimited. Does not implicitly {@link google.ads.admanager.v1.PrivateAuction.verify|verify} messages.
                     * @param message PrivateAuction message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IPrivateAuction, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a PrivateAuction message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns PrivateAuction
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.PrivateAuction;

                    /**
                     * Decodes a PrivateAuction message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns PrivateAuction
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.PrivateAuction;

                    /**
                     * Verifies a PrivateAuction message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a PrivateAuction message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns PrivateAuction
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.PrivateAuction;

                    /**
                     * Creates a plain object from a PrivateAuction message. Also converts values to other types if specified.
                     * @param message PrivateAuction
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.PrivateAuction, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this PrivateAuction to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for PrivateAuction
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Represents a PrivateAuctionService */
                class PrivateAuctionService extends $protobuf.rpc.Service {

                    /**
                     * Constructs a new PrivateAuctionService service.
                     * @param rpcImpl RPC implementation
                     * @param [requestDelimited=false] Whether requests are length-delimited
                     * @param [responseDelimited=false] Whether responses are length-delimited
                     */
                    constructor(rpcImpl: $protobuf.RPCImpl, requestDelimited?: boolean, responseDelimited?: boolean);

                    /**
                     * Creates new PrivateAuctionService service using the specified rpc implementation.
                     * @param rpcImpl RPC implementation
                     * @param [requestDelimited=false] Whether requests are length-delimited
                     * @param [responseDelimited=false] Whether responses are length-delimited
                     * @returns RPC service. Useful where requests and/or responses are streamed.
                     */
                    public static create(rpcImpl: $protobuf.RPCImpl, requestDelimited?: boolean, responseDelimited?: boolean): PrivateAuctionService;

                    /**
                     * Calls GetPrivateAuction.
                     * @param request GetPrivateAuctionRequest message or plain object
                     * @param callback Node-style callback called with the error, if any, and PrivateAuction
                     */
                    public getPrivateAuction(request: google.ads.admanager.v1.IGetPrivateAuctionRequest, callback: google.ads.admanager.v1.PrivateAuctionService.GetPrivateAuctionCallback): void;

                    /**
                     * Calls GetPrivateAuction.
                     * @param request GetPrivateAuctionRequest message or plain object
                     * @returns Promise
                     */
                    public getPrivateAuction(request: google.ads.admanager.v1.IGetPrivateAuctionRequest): Promise<google.ads.admanager.v1.PrivateAuction>;

                    /**
                     * Calls ListPrivateAuctions.
                     * @param request ListPrivateAuctionsRequest message or plain object
                     * @param callback Node-style callback called with the error, if any, and ListPrivateAuctionsResponse
                     */
                    public listPrivateAuctions(request: google.ads.admanager.v1.IListPrivateAuctionsRequest, callback: google.ads.admanager.v1.PrivateAuctionService.ListPrivateAuctionsCallback): void;

                    /**
                     * Calls ListPrivateAuctions.
                     * @param request ListPrivateAuctionsRequest message or plain object
                     * @returns Promise
                     */
                    public listPrivateAuctions(request: google.ads.admanager.v1.IListPrivateAuctionsRequest): Promise<google.ads.admanager.v1.ListPrivateAuctionsResponse>;

                    /**
                     * Calls CreatePrivateAuction.
                     * @param request CreatePrivateAuctionRequest message or plain object
                     * @param callback Node-style callback called with the error, if any, and PrivateAuction
                     */
                    public createPrivateAuction(request: google.ads.admanager.v1.ICreatePrivateAuctionRequest, callback: google.ads.admanager.v1.PrivateAuctionService.CreatePrivateAuctionCallback): void;

                    /**
                     * Calls CreatePrivateAuction.
                     * @param request CreatePrivateAuctionRequest message or plain object
                     * @returns Promise
                     */
                    public createPrivateAuction(request: google.ads.admanager.v1.ICreatePrivateAuctionRequest): Promise<google.ads.admanager.v1.PrivateAuction>;

                    /**
                     * Calls UpdatePrivateAuction.
                     * @param request UpdatePrivateAuctionRequest message or plain object
                     * @param callback Node-style callback called with the error, if any, and PrivateAuction
                     */
                    public updatePrivateAuction(request: google.ads.admanager.v1.IUpdatePrivateAuctionRequest, callback: google.ads.admanager.v1.PrivateAuctionService.UpdatePrivateAuctionCallback): void;

                    /**
                     * Calls UpdatePrivateAuction.
                     * @param request UpdatePrivateAuctionRequest message or plain object
                     * @returns Promise
                     */
                    public updatePrivateAuction(request: google.ads.admanager.v1.IUpdatePrivateAuctionRequest): Promise<google.ads.admanager.v1.PrivateAuction>;
                }

                namespace PrivateAuctionService {

                    /**
                     * Callback as used by {@link google.ads.admanager.v1.PrivateAuctionService|getPrivateAuction}.
                     * @param error Error, if any
                     * @param [response] PrivateAuction
                     */
                    type GetPrivateAuctionCallback = (error: (Error|null), response?: google.ads.admanager.v1.PrivateAuction) => void;

                    /**
                     * Callback as used by {@link google.ads.admanager.v1.PrivateAuctionService|listPrivateAuctions}.
                     * @param error Error, if any
                     * @param [response] ListPrivateAuctionsResponse
                     */
                    type ListPrivateAuctionsCallback = (error: (Error|null), response?: google.ads.admanager.v1.ListPrivateAuctionsResponse) => void;

                    /**
                     * Callback as used by {@link google.ads.admanager.v1.PrivateAuctionService|createPrivateAuction}.
                     * @param error Error, if any
                     * @param [response] PrivateAuction
                     */
                    type CreatePrivateAuctionCallback = (error: (Error|null), response?: google.ads.admanager.v1.PrivateAuction) => void;

                    /**
                     * Callback as used by {@link google.ads.admanager.v1.PrivateAuctionService|updatePrivateAuction}.
                     * @param error Error, if any
                     * @param [response] PrivateAuction
                     */
                    type UpdatePrivateAuctionCallback = (error: (Error|null), response?: google.ads.admanager.v1.PrivateAuction) => void;
                }

                /** Properties of a GetPrivateAuctionRequest. */
                interface IGetPrivateAuctionRequest {

                    /** GetPrivateAuctionRequest name */
                    name?: (string|null);
                }

                /** Represents a GetPrivateAuctionRequest. */
                class GetPrivateAuctionRequest implements IGetPrivateAuctionRequest {

                    /**
                     * Constructs a new GetPrivateAuctionRequest.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IGetPrivateAuctionRequest);

                    /** GetPrivateAuctionRequest name. */
                    public name: string;

                    /**
                     * Creates a new GetPrivateAuctionRequest instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns GetPrivateAuctionRequest instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IGetPrivateAuctionRequest): google.ads.admanager.v1.GetPrivateAuctionRequest;

                    /**
                     * Encodes the specified GetPrivateAuctionRequest message. Does not implicitly {@link google.ads.admanager.v1.GetPrivateAuctionRequest.verify|verify} messages.
                     * @param message GetPrivateAuctionRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IGetPrivateAuctionRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified GetPrivateAuctionRequest message, length delimited. Does not implicitly {@link google.ads.admanager.v1.GetPrivateAuctionRequest.verify|verify} messages.
                     * @param message GetPrivateAuctionRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IGetPrivateAuctionRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a GetPrivateAuctionRequest message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns GetPrivateAuctionRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.GetPrivateAuctionRequest;

                    /**
                     * Decodes a GetPrivateAuctionRequest message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns GetPrivateAuctionRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.GetPrivateAuctionRequest;

                    /**
                     * Verifies a GetPrivateAuctionRequest message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a GetPrivateAuctionRequest message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns GetPrivateAuctionRequest
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.GetPrivateAuctionRequest;

                    /**
                     * Creates a plain object from a GetPrivateAuctionRequest message. Also converts values to other types if specified.
                     * @param message GetPrivateAuctionRequest
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.GetPrivateAuctionRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this GetPrivateAuctionRequest to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for GetPrivateAuctionRequest
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a ListPrivateAuctionsRequest. */
                interface IListPrivateAuctionsRequest {

                    /** ListPrivateAuctionsRequest parent */
                    parent?: (string|null);

                    /** ListPrivateAuctionsRequest pageSize */
                    pageSize?: (number|null);

                    /** ListPrivateAuctionsRequest pageToken */
                    pageToken?: (string|null);

                    /** ListPrivateAuctionsRequest filter */
                    filter?: (string|null);

                    /** ListPrivateAuctionsRequest orderBy */
                    orderBy?: (string|null);

                    /** ListPrivateAuctionsRequest skip */
                    skip?: (number|null);
                }

                /** Represents a ListPrivateAuctionsRequest. */
                class ListPrivateAuctionsRequest implements IListPrivateAuctionsRequest {

                    /**
                     * Constructs a new ListPrivateAuctionsRequest.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IListPrivateAuctionsRequest);

                    /** ListPrivateAuctionsRequest parent. */
                    public parent: string;

                    /** ListPrivateAuctionsRequest pageSize. */
                    public pageSize: number;

                    /** ListPrivateAuctionsRequest pageToken. */
                    public pageToken: string;

                    /** ListPrivateAuctionsRequest filter. */
                    public filter: string;

                    /** ListPrivateAuctionsRequest orderBy. */
                    public orderBy: string;

                    /** ListPrivateAuctionsRequest skip. */
                    public skip: number;

                    /**
                     * Creates a new ListPrivateAuctionsRequest instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns ListPrivateAuctionsRequest instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IListPrivateAuctionsRequest): google.ads.admanager.v1.ListPrivateAuctionsRequest;

                    /**
                     * Encodes the specified ListPrivateAuctionsRequest message. Does not implicitly {@link google.ads.admanager.v1.ListPrivateAuctionsRequest.verify|verify} messages.
                     * @param message ListPrivateAuctionsRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IListPrivateAuctionsRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified ListPrivateAuctionsRequest message, length delimited. Does not implicitly {@link google.ads.admanager.v1.ListPrivateAuctionsRequest.verify|verify} messages.
                     * @param message ListPrivateAuctionsRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IListPrivateAuctionsRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a ListPrivateAuctionsRequest message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns ListPrivateAuctionsRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.ListPrivateAuctionsRequest;

                    /**
                     * Decodes a ListPrivateAuctionsRequest message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns ListPrivateAuctionsRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.ListPrivateAuctionsRequest;

                    /**
                     * Verifies a ListPrivateAuctionsRequest message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a ListPrivateAuctionsRequest message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns ListPrivateAuctionsRequest
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.ListPrivateAuctionsRequest;

                    /**
                     * Creates a plain object from a ListPrivateAuctionsRequest message. Also converts values to other types if specified.
                     * @param message ListPrivateAuctionsRequest
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.ListPrivateAuctionsRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this ListPrivateAuctionsRequest to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for ListPrivateAuctionsRequest
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a ListPrivateAuctionsResponse. */
                interface IListPrivateAuctionsResponse {

                    /** ListPrivateAuctionsResponse privateAuctions */
                    privateAuctions?: (google.ads.admanager.v1.IPrivateAuction[]|null);

                    /** ListPrivateAuctionsResponse nextPageToken */
                    nextPageToken?: (string|null);

                    /** ListPrivateAuctionsResponse totalSize */
                    totalSize?: (number|null);
                }

                /** Represents a ListPrivateAuctionsResponse. */
                class ListPrivateAuctionsResponse implements IListPrivateAuctionsResponse {

                    /**
                     * Constructs a new ListPrivateAuctionsResponse.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IListPrivateAuctionsResponse);

                    /** ListPrivateAuctionsResponse privateAuctions. */
                    public privateAuctions: google.ads.admanager.v1.IPrivateAuction[];

                    /** ListPrivateAuctionsResponse nextPageToken. */
                    public nextPageToken: string;

                    /** ListPrivateAuctionsResponse totalSize. */
                    public totalSize: number;

                    /**
                     * Creates a new ListPrivateAuctionsResponse instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns ListPrivateAuctionsResponse instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IListPrivateAuctionsResponse): google.ads.admanager.v1.ListPrivateAuctionsResponse;

                    /**
                     * Encodes the specified ListPrivateAuctionsResponse message. Does not implicitly {@link google.ads.admanager.v1.ListPrivateAuctionsResponse.verify|verify} messages.
                     * @param message ListPrivateAuctionsResponse message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IListPrivateAuctionsResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified ListPrivateAuctionsResponse message, length delimited. Does not implicitly {@link google.ads.admanager.v1.ListPrivateAuctionsResponse.verify|verify} messages.
                     * @param message ListPrivateAuctionsResponse message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IListPrivateAuctionsResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a ListPrivateAuctionsResponse message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns ListPrivateAuctionsResponse
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.ListPrivateAuctionsResponse;

                    /**
                     * Decodes a ListPrivateAuctionsResponse message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns ListPrivateAuctionsResponse
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.ListPrivateAuctionsResponse;

                    /**
                     * Verifies a ListPrivateAuctionsResponse message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a ListPrivateAuctionsResponse message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns ListPrivateAuctionsResponse
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.ListPrivateAuctionsResponse;

                    /**
                     * Creates a plain object from a ListPrivateAuctionsResponse message. Also converts values to other types if specified.
                     * @param message ListPrivateAuctionsResponse
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.ListPrivateAuctionsResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this ListPrivateAuctionsResponse to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for ListPrivateAuctionsResponse
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a CreatePrivateAuctionRequest. */
                interface ICreatePrivateAuctionRequest {

                    /** CreatePrivateAuctionRequest parent */
                    parent?: (string|null);

                    /** CreatePrivateAuctionRequest privateAuction */
                    privateAuction?: (google.ads.admanager.v1.IPrivateAuction|null);
                }

                /** Represents a CreatePrivateAuctionRequest. */
                class CreatePrivateAuctionRequest implements ICreatePrivateAuctionRequest {

                    /**
                     * Constructs a new CreatePrivateAuctionRequest.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.ICreatePrivateAuctionRequest);

                    /** CreatePrivateAuctionRequest parent. */
                    public parent: string;

                    /** CreatePrivateAuctionRequest privateAuction. */
                    public privateAuction?: (google.ads.admanager.v1.IPrivateAuction|null);

                    /**
                     * Creates a new CreatePrivateAuctionRequest instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns CreatePrivateAuctionRequest instance
                     */
                    public static create(properties?: google.ads.admanager.v1.ICreatePrivateAuctionRequest): google.ads.admanager.v1.CreatePrivateAuctionRequest;

                    /**
                     * Encodes the specified CreatePrivateAuctionRequest message. Does not implicitly {@link google.ads.admanager.v1.CreatePrivateAuctionRequest.verify|verify} messages.
                     * @param message CreatePrivateAuctionRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.ICreatePrivateAuctionRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified CreatePrivateAuctionRequest message, length delimited. Does not implicitly {@link google.ads.admanager.v1.CreatePrivateAuctionRequest.verify|verify} messages.
                     * @param message CreatePrivateAuctionRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.ICreatePrivateAuctionRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a CreatePrivateAuctionRequest message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns CreatePrivateAuctionRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.CreatePrivateAuctionRequest;

                    /**
                     * Decodes a CreatePrivateAuctionRequest message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns CreatePrivateAuctionRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.CreatePrivateAuctionRequest;

                    /**
                     * Verifies a CreatePrivateAuctionRequest message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a CreatePrivateAuctionRequest message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns CreatePrivateAuctionRequest
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.CreatePrivateAuctionRequest;

                    /**
                     * Creates a plain object from a CreatePrivateAuctionRequest message. Also converts values to other types if specified.
                     * @param message CreatePrivateAuctionRequest
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.CreatePrivateAuctionRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this CreatePrivateAuctionRequest to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for CreatePrivateAuctionRequest
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of an UpdatePrivateAuctionRequest. */
                interface IUpdatePrivateAuctionRequest {

                    /** UpdatePrivateAuctionRequest privateAuction */
                    privateAuction?: (google.ads.admanager.v1.IPrivateAuction|null);

                    /** UpdatePrivateAuctionRequest updateMask */
                    updateMask?: (google.protobuf.IFieldMask|null);
                }

                /** Represents an UpdatePrivateAuctionRequest. */
                class UpdatePrivateAuctionRequest implements IUpdatePrivateAuctionRequest {

                    /**
                     * Constructs a new UpdatePrivateAuctionRequest.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IUpdatePrivateAuctionRequest);

                    /** UpdatePrivateAuctionRequest privateAuction. */
                    public privateAuction?: (google.ads.admanager.v1.IPrivateAuction|null);

                    /** UpdatePrivateAuctionRequest updateMask. */
                    public updateMask?: (google.protobuf.IFieldMask|null);

                    /**
                     * Creates a new UpdatePrivateAuctionRequest instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns UpdatePrivateAuctionRequest instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IUpdatePrivateAuctionRequest): google.ads.admanager.v1.UpdatePrivateAuctionRequest;

                    /**
                     * Encodes the specified UpdatePrivateAuctionRequest message. Does not implicitly {@link google.ads.admanager.v1.UpdatePrivateAuctionRequest.verify|verify} messages.
                     * @param message UpdatePrivateAuctionRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IUpdatePrivateAuctionRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified UpdatePrivateAuctionRequest message, length delimited. Does not implicitly {@link google.ads.admanager.v1.UpdatePrivateAuctionRequest.verify|verify} messages.
                     * @param message UpdatePrivateAuctionRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IUpdatePrivateAuctionRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes an UpdatePrivateAuctionRequest message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns UpdatePrivateAuctionRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.UpdatePrivateAuctionRequest;

                    /**
                     * Decodes an UpdatePrivateAuctionRequest message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns UpdatePrivateAuctionRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.UpdatePrivateAuctionRequest;

                    /**
                     * Verifies an UpdatePrivateAuctionRequest message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates an UpdatePrivateAuctionRequest message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns UpdatePrivateAuctionRequest
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.UpdatePrivateAuctionRequest;

                    /**
                     * Creates a plain object from an UpdatePrivateAuctionRequest message. Also converts values to other types if specified.
                     * @param message UpdatePrivateAuctionRequest
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.UpdatePrivateAuctionRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this UpdatePrivateAuctionRequest to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for UpdatePrivateAuctionRequest
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a ProgrammaticBuyer. */
                interface IProgrammaticBuyer {

                    /** ProgrammaticBuyer name */
                    name?: (string|null);

                    /** ProgrammaticBuyer buyerAccountId */
                    buyerAccountId?: (number|Long|string|null);

                    /** ProgrammaticBuyer displayName */
                    displayName?: (string|null);

                    /** ProgrammaticBuyer parentAccountId */
                    parentAccountId?: (number|Long|string|null);

                    /** ProgrammaticBuyer partnerClientId */
                    partnerClientId?: (string|null);

                    /** ProgrammaticBuyer agency */
                    agency?: (boolean|null);

                    /** ProgrammaticBuyer preferredDealsEnabled */
                    preferredDealsEnabled?: (boolean|null);

                    /** ProgrammaticBuyer programmaticGuaranteedEnabled */
                    programmaticGuaranteedEnabled?: (boolean|null);
                }

                /** Represents a ProgrammaticBuyer. */
                class ProgrammaticBuyer implements IProgrammaticBuyer {

                    /**
                     * Constructs a new ProgrammaticBuyer.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IProgrammaticBuyer);

                    /** ProgrammaticBuyer name. */
                    public name: string;

                    /** ProgrammaticBuyer buyerAccountId. */
                    public buyerAccountId?: (number|Long|string|null);

                    /** ProgrammaticBuyer displayName. */
                    public displayName?: (string|null);

                    /** ProgrammaticBuyer parentAccountId. */
                    public parentAccountId?: (number|Long|string|null);

                    /** ProgrammaticBuyer partnerClientId. */
                    public partnerClientId?: (string|null);

                    /** ProgrammaticBuyer agency. */
                    public agency?: (boolean|null);

                    /** ProgrammaticBuyer preferredDealsEnabled. */
                    public preferredDealsEnabled?: (boolean|null);

                    /** ProgrammaticBuyer programmaticGuaranteedEnabled. */
                    public programmaticGuaranteedEnabled?: (boolean|null);

                    /**
                     * Creates a new ProgrammaticBuyer instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns ProgrammaticBuyer instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IProgrammaticBuyer): google.ads.admanager.v1.ProgrammaticBuyer;

                    /**
                     * Encodes the specified ProgrammaticBuyer message. Does not implicitly {@link google.ads.admanager.v1.ProgrammaticBuyer.verify|verify} messages.
                     * @param message ProgrammaticBuyer message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IProgrammaticBuyer, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified ProgrammaticBuyer message, length delimited. Does not implicitly {@link google.ads.admanager.v1.ProgrammaticBuyer.verify|verify} messages.
                     * @param message ProgrammaticBuyer message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IProgrammaticBuyer, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a ProgrammaticBuyer message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns ProgrammaticBuyer
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.ProgrammaticBuyer;

                    /**
                     * Decodes a ProgrammaticBuyer message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns ProgrammaticBuyer
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.ProgrammaticBuyer;

                    /**
                     * Verifies a ProgrammaticBuyer message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a ProgrammaticBuyer message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns ProgrammaticBuyer
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.ProgrammaticBuyer;

                    /**
                     * Creates a plain object from a ProgrammaticBuyer message. Also converts values to other types if specified.
                     * @param message ProgrammaticBuyer
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.ProgrammaticBuyer, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this ProgrammaticBuyer to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for ProgrammaticBuyer
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Represents a ProgrammaticBuyerService */
                class ProgrammaticBuyerService extends $protobuf.rpc.Service {

                    /**
                     * Constructs a new ProgrammaticBuyerService service.
                     * @param rpcImpl RPC implementation
                     * @param [requestDelimited=false] Whether requests are length-delimited
                     * @param [responseDelimited=false] Whether responses are length-delimited
                     */
                    constructor(rpcImpl: $protobuf.RPCImpl, requestDelimited?: boolean, responseDelimited?: boolean);

                    /**
                     * Creates new ProgrammaticBuyerService service using the specified rpc implementation.
                     * @param rpcImpl RPC implementation
                     * @param [requestDelimited=false] Whether requests are length-delimited
                     * @param [responseDelimited=false] Whether responses are length-delimited
                     * @returns RPC service. Useful where requests and/or responses are streamed.
                     */
                    public static create(rpcImpl: $protobuf.RPCImpl, requestDelimited?: boolean, responseDelimited?: boolean): ProgrammaticBuyerService;

                    /**
                     * Calls GetProgrammaticBuyer.
                     * @param request GetProgrammaticBuyerRequest message or plain object
                     * @param callback Node-style callback called with the error, if any, and ProgrammaticBuyer
                     */
                    public getProgrammaticBuyer(request: google.ads.admanager.v1.IGetProgrammaticBuyerRequest, callback: google.ads.admanager.v1.ProgrammaticBuyerService.GetProgrammaticBuyerCallback): void;

                    /**
                     * Calls GetProgrammaticBuyer.
                     * @param request GetProgrammaticBuyerRequest message or plain object
                     * @returns Promise
                     */
                    public getProgrammaticBuyer(request: google.ads.admanager.v1.IGetProgrammaticBuyerRequest): Promise<google.ads.admanager.v1.ProgrammaticBuyer>;

                    /**
                     * Calls ListProgrammaticBuyers.
                     * @param request ListProgrammaticBuyersRequest message or plain object
                     * @param callback Node-style callback called with the error, if any, and ListProgrammaticBuyersResponse
                     */
                    public listProgrammaticBuyers(request: google.ads.admanager.v1.IListProgrammaticBuyersRequest, callback: google.ads.admanager.v1.ProgrammaticBuyerService.ListProgrammaticBuyersCallback): void;

                    /**
                     * Calls ListProgrammaticBuyers.
                     * @param request ListProgrammaticBuyersRequest message or plain object
                     * @returns Promise
                     */
                    public listProgrammaticBuyers(request: google.ads.admanager.v1.IListProgrammaticBuyersRequest): Promise<google.ads.admanager.v1.ListProgrammaticBuyersResponse>;
                }

                namespace ProgrammaticBuyerService {

                    /**
                     * Callback as used by {@link google.ads.admanager.v1.ProgrammaticBuyerService|getProgrammaticBuyer}.
                     * @param error Error, if any
                     * @param [response] ProgrammaticBuyer
                     */
                    type GetProgrammaticBuyerCallback = (error: (Error|null), response?: google.ads.admanager.v1.ProgrammaticBuyer) => void;

                    /**
                     * Callback as used by {@link google.ads.admanager.v1.ProgrammaticBuyerService|listProgrammaticBuyers}.
                     * @param error Error, if any
                     * @param [response] ListProgrammaticBuyersResponse
                     */
                    type ListProgrammaticBuyersCallback = (error: (Error|null), response?: google.ads.admanager.v1.ListProgrammaticBuyersResponse) => void;
                }

                /** Properties of a GetProgrammaticBuyerRequest. */
                interface IGetProgrammaticBuyerRequest {

                    /** GetProgrammaticBuyerRequest name */
                    name?: (string|null);
                }

                /** Represents a GetProgrammaticBuyerRequest. */
                class GetProgrammaticBuyerRequest implements IGetProgrammaticBuyerRequest {

                    /**
                     * Constructs a new GetProgrammaticBuyerRequest.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IGetProgrammaticBuyerRequest);

                    /** GetProgrammaticBuyerRequest name. */
                    public name: string;

                    /**
                     * Creates a new GetProgrammaticBuyerRequest instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns GetProgrammaticBuyerRequest instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IGetProgrammaticBuyerRequest): google.ads.admanager.v1.GetProgrammaticBuyerRequest;

                    /**
                     * Encodes the specified GetProgrammaticBuyerRequest message. Does not implicitly {@link google.ads.admanager.v1.GetProgrammaticBuyerRequest.verify|verify} messages.
                     * @param message GetProgrammaticBuyerRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IGetProgrammaticBuyerRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified GetProgrammaticBuyerRequest message, length delimited. Does not implicitly {@link google.ads.admanager.v1.GetProgrammaticBuyerRequest.verify|verify} messages.
                     * @param message GetProgrammaticBuyerRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IGetProgrammaticBuyerRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a GetProgrammaticBuyerRequest message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns GetProgrammaticBuyerRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.GetProgrammaticBuyerRequest;

                    /**
                     * Decodes a GetProgrammaticBuyerRequest message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns GetProgrammaticBuyerRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.GetProgrammaticBuyerRequest;

                    /**
                     * Verifies a GetProgrammaticBuyerRequest message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a GetProgrammaticBuyerRequest message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns GetProgrammaticBuyerRequest
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.GetProgrammaticBuyerRequest;

                    /**
                     * Creates a plain object from a GetProgrammaticBuyerRequest message. Also converts values to other types if specified.
                     * @param message GetProgrammaticBuyerRequest
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.GetProgrammaticBuyerRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this GetProgrammaticBuyerRequest to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for GetProgrammaticBuyerRequest
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a ListProgrammaticBuyersRequest. */
                interface IListProgrammaticBuyersRequest {

                    /** ListProgrammaticBuyersRequest parent */
                    parent?: (string|null);

                    /** ListProgrammaticBuyersRequest pageSize */
                    pageSize?: (number|null);

                    /** ListProgrammaticBuyersRequest pageToken */
                    pageToken?: (string|null);

                    /** ListProgrammaticBuyersRequest filter */
                    filter?: (string|null);

                    /** ListProgrammaticBuyersRequest orderBy */
                    orderBy?: (string|null);

                    /** ListProgrammaticBuyersRequest skip */
                    skip?: (number|null);
                }

                /** Represents a ListProgrammaticBuyersRequest. */
                class ListProgrammaticBuyersRequest implements IListProgrammaticBuyersRequest {

                    /**
                     * Constructs a new ListProgrammaticBuyersRequest.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IListProgrammaticBuyersRequest);

                    /** ListProgrammaticBuyersRequest parent. */
                    public parent: string;

                    /** ListProgrammaticBuyersRequest pageSize. */
                    public pageSize: number;

                    /** ListProgrammaticBuyersRequest pageToken. */
                    public pageToken: string;

                    /** ListProgrammaticBuyersRequest filter. */
                    public filter: string;

                    /** ListProgrammaticBuyersRequest orderBy. */
                    public orderBy: string;

                    /** ListProgrammaticBuyersRequest skip. */
                    public skip: number;

                    /**
                     * Creates a new ListProgrammaticBuyersRequest instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns ListProgrammaticBuyersRequest instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IListProgrammaticBuyersRequest): google.ads.admanager.v1.ListProgrammaticBuyersRequest;

                    /**
                     * Encodes the specified ListProgrammaticBuyersRequest message. Does not implicitly {@link google.ads.admanager.v1.ListProgrammaticBuyersRequest.verify|verify} messages.
                     * @param message ListProgrammaticBuyersRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IListProgrammaticBuyersRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified ListProgrammaticBuyersRequest message, length delimited. Does not implicitly {@link google.ads.admanager.v1.ListProgrammaticBuyersRequest.verify|verify} messages.
                     * @param message ListProgrammaticBuyersRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IListProgrammaticBuyersRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a ListProgrammaticBuyersRequest message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns ListProgrammaticBuyersRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.ListProgrammaticBuyersRequest;

                    /**
                     * Decodes a ListProgrammaticBuyersRequest message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns ListProgrammaticBuyersRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.ListProgrammaticBuyersRequest;

                    /**
                     * Verifies a ListProgrammaticBuyersRequest message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a ListProgrammaticBuyersRequest message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns ListProgrammaticBuyersRequest
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.ListProgrammaticBuyersRequest;

                    /**
                     * Creates a plain object from a ListProgrammaticBuyersRequest message. Also converts values to other types if specified.
                     * @param message ListProgrammaticBuyersRequest
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.ListProgrammaticBuyersRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this ListProgrammaticBuyersRequest to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for ListProgrammaticBuyersRequest
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a ListProgrammaticBuyersResponse. */
                interface IListProgrammaticBuyersResponse {

                    /** ListProgrammaticBuyersResponse programmaticBuyers */
                    programmaticBuyers?: (google.ads.admanager.v1.IProgrammaticBuyer[]|null);

                    /** ListProgrammaticBuyersResponse nextPageToken */
                    nextPageToken?: (string|null);

                    /** ListProgrammaticBuyersResponse totalSize */
                    totalSize?: (number|null);
                }

                /** Represents a ListProgrammaticBuyersResponse. */
                class ListProgrammaticBuyersResponse implements IListProgrammaticBuyersResponse {

                    /**
                     * Constructs a new ListProgrammaticBuyersResponse.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IListProgrammaticBuyersResponse);

                    /** ListProgrammaticBuyersResponse programmaticBuyers. */
                    public programmaticBuyers: google.ads.admanager.v1.IProgrammaticBuyer[];

                    /** ListProgrammaticBuyersResponse nextPageToken. */
                    public nextPageToken: string;

                    /** ListProgrammaticBuyersResponse totalSize. */
                    public totalSize: number;

                    /**
                     * Creates a new ListProgrammaticBuyersResponse instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns ListProgrammaticBuyersResponse instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IListProgrammaticBuyersResponse): google.ads.admanager.v1.ListProgrammaticBuyersResponse;

                    /**
                     * Encodes the specified ListProgrammaticBuyersResponse message. Does not implicitly {@link google.ads.admanager.v1.ListProgrammaticBuyersResponse.verify|verify} messages.
                     * @param message ListProgrammaticBuyersResponse message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IListProgrammaticBuyersResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified ListProgrammaticBuyersResponse message, length delimited. Does not implicitly {@link google.ads.admanager.v1.ListProgrammaticBuyersResponse.verify|verify} messages.
                     * @param message ListProgrammaticBuyersResponse message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IListProgrammaticBuyersResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a ListProgrammaticBuyersResponse message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns ListProgrammaticBuyersResponse
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.ListProgrammaticBuyersResponse;

                    /**
                     * Decodes a ListProgrammaticBuyersResponse message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns ListProgrammaticBuyersResponse
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.ListProgrammaticBuyersResponse;

                    /**
                     * Verifies a ListProgrammaticBuyersResponse message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a ListProgrammaticBuyersResponse message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns ListProgrammaticBuyersResponse
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.ListProgrammaticBuyersResponse;

                    /**
                     * Creates a plain object from a ListProgrammaticBuyersResponse message. Also converts values to other types if specified.
                     * @param message ListProgrammaticBuyersResponse
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.ListProgrammaticBuyersResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this ListProgrammaticBuyersResponse to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for ListProgrammaticBuyersResponse
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a ReportDefinition. */
                interface IReportDefinition {

                    /** ReportDefinition dimensions */
                    dimensions?: (google.ads.admanager.v1.ReportDefinition.Dimension[]|null);

                    /** ReportDefinition metrics */
                    metrics?: (google.ads.admanager.v1.ReportDefinition.Metric[]|null);

                    /** ReportDefinition filters */
                    filters?: (google.ads.admanager.v1.ReportDefinition.IFilter[]|null);

                    /** ReportDefinition timeZoneSource */
                    timeZoneSource?: (google.ads.admanager.v1.ReportDefinition.TimeZoneSource|keyof typeof google.ads.admanager.v1.ReportDefinition.TimeZoneSource|null);

                    /** ReportDefinition timeZone */
                    timeZone?: (string|null);

                    /** ReportDefinition currencyCode */
                    currencyCode?: (string|null);

                    /** ReportDefinition dateRange */
                    dateRange?: (google.ads.admanager.v1.ReportDefinition.IDateRange|null);

                    /** ReportDefinition comparisonDateRange */
                    comparisonDateRange?: (google.ads.admanager.v1.ReportDefinition.IDateRange|null);

                    /** ReportDefinition customDimensionKeyIds */
                    customDimensionKeyIds?: ((number|Long|string)[]|null);

                    /** ReportDefinition lineItemCustomFieldIds */
                    lineItemCustomFieldIds?: ((number|Long|string)[]|null);

                    /** ReportDefinition orderCustomFieldIds */
                    orderCustomFieldIds?: ((number|Long|string)[]|null);

                    /** ReportDefinition creativeCustomFieldIds */
                    creativeCustomFieldIds?: ((number|Long|string)[]|null);

                    /** ReportDefinition reportType */
                    reportType?: (google.ads.admanager.v1.ReportDefinition.ReportType|keyof typeof google.ads.admanager.v1.ReportDefinition.ReportType|null);

                    /** ReportDefinition timePeriodColumn */
                    timePeriodColumn?: (google.ads.admanager.v1.ReportDefinition.TimePeriodColumn|keyof typeof google.ads.admanager.v1.ReportDefinition.TimePeriodColumn|null);

                    /** ReportDefinition flags */
                    flags?: (google.ads.admanager.v1.ReportDefinition.IFlag[]|null);

                    /** ReportDefinition sorts */
                    sorts?: (google.ads.admanager.v1.ReportDefinition.ISort[]|null);
                }

                /** Represents a ReportDefinition. */
                class ReportDefinition implements IReportDefinition {

                    /**
                     * Constructs a new ReportDefinition.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IReportDefinition);

                    /** ReportDefinition dimensions. */
                    public dimensions: google.ads.admanager.v1.ReportDefinition.Dimension[];

                    /** ReportDefinition metrics. */
                    public metrics: google.ads.admanager.v1.ReportDefinition.Metric[];

                    /** ReportDefinition filters. */
                    public filters: google.ads.admanager.v1.ReportDefinition.IFilter[];

                    /** ReportDefinition timeZoneSource. */
                    public timeZoneSource: (google.ads.admanager.v1.ReportDefinition.TimeZoneSource|keyof typeof google.ads.admanager.v1.ReportDefinition.TimeZoneSource);

                    /** ReportDefinition timeZone. */
                    public timeZone: string;

                    /** ReportDefinition currencyCode. */
                    public currencyCode: string;

                    /** ReportDefinition dateRange. */
                    public dateRange?: (google.ads.admanager.v1.ReportDefinition.IDateRange|null);

                    /** ReportDefinition comparisonDateRange. */
                    public comparisonDateRange?: (google.ads.admanager.v1.ReportDefinition.IDateRange|null);

                    /** ReportDefinition customDimensionKeyIds. */
                    public customDimensionKeyIds: (number|Long|string)[];

                    /** ReportDefinition lineItemCustomFieldIds. */
                    public lineItemCustomFieldIds: (number|Long|string)[];

                    /** ReportDefinition orderCustomFieldIds. */
                    public orderCustomFieldIds: (number|Long|string)[];

                    /** ReportDefinition creativeCustomFieldIds. */
                    public creativeCustomFieldIds: (number|Long|string)[];

                    /** ReportDefinition reportType. */
                    public reportType: (google.ads.admanager.v1.ReportDefinition.ReportType|keyof typeof google.ads.admanager.v1.ReportDefinition.ReportType);

                    /** ReportDefinition timePeriodColumn. */
                    public timePeriodColumn: (google.ads.admanager.v1.ReportDefinition.TimePeriodColumn|keyof typeof google.ads.admanager.v1.ReportDefinition.TimePeriodColumn);

                    /** ReportDefinition flags. */
                    public flags: google.ads.admanager.v1.ReportDefinition.IFlag[];

                    /** ReportDefinition sorts. */
                    public sorts: google.ads.admanager.v1.ReportDefinition.ISort[];

                    /**
                     * Creates a new ReportDefinition instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns ReportDefinition instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IReportDefinition): google.ads.admanager.v1.ReportDefinition;

                    /**
                     * Encodes the specified ReportDefinition message. Does not implicitly {@link google.ads.admanager.v1.ReportDefinition.verify|verify} messages.
                     * @param message ReportDefinition message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IReportDefinition, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified ReportDefinition message, length delimited. Does not implicitly {@link google.ads.admanager.v1.ReportDefinition.verify|verify} messages.
                     * @param message ReportDefinition message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IReportDefinition, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a ReportDefinition message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns ReportDefinition
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.ReportDefinition;

                    /**
                     * Decodes a ReportDefinition message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns ReportDefinition
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.ReportDefinition;

                    /**
                     * Verifies a ReportDefinition message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a ReportDefinition message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns ReportDefinition
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.ReportDefinition;

                    /**
                     * Creates a plain object from a ReportDefinition message. Also converts values to other types if specified.
                     * @param message ReportDefinition
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.ReportDefinition, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this ReportDefinition to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for ReportDefinition
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                namespace ReportDefinition {

                    /** Properties of a Field. */
                    interface IField {

                        /** Field dimension */
                        dimension?: (google.ads.admanager.v1.ReportDefinition.Dimension|keyof typeof google.ads.admanager.v1.ReportDefinition.Dimension|null);

                        /** Field metric */
                        metric?: (google.ads.admanager.v1.ReportDefinition.Metric|keyof typeof google.ads.admanager.v1.ReportDefinition.Metric|null);
                    }

                    /** Represents a Field. */
                    class Field implements IField {

                        /**
                         * Constructs a new Field.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.ads.admanager.v1.ReportDefinition.IField);

                        /** Field dimension. */
                        public dimension?: (google.ads.admanager.v1.ReportDefinition.Dimension|keyof typeof google.ads.admanager.v1.ReportDefinition.Dimension|null);

                        /** Field metric. */
                        public metric?: (google.ads.admanager.v1.ReportDefinition.Metric|keyof typeof google.ads.admanager.v1.ReportDefinition.Metric|null);

                        /** Field field. */
                        public field?: ("dimension"|"metric");

                        /**
                         * Creates a new Field instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns Field instance
                         */
                        public static create(properties?: google.ads.admanager.v1.ReportDefinition.IField): google.ads.admanager.v1.ReportDefinition.Field;

                        /**
                         * Encodes the specified Field message. Does not implicitly {@link google.ads.admanager.v1.ReportDefinition.Field.verify|verify} messages.
                         * @param message Field message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.ads.admanager.v1.ReportDefinition.IField, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified Field message, length delimited. Does not implicitly {@link google.ads.admanager.v1.ReportDefinition.Field.verify|verify} messages.
                         * @param message Field message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.ads.admanager.v1.ReportDefinition.IField, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a Field message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns Field
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.ReportDefinition.Field;

                        /**
                         * Decodes a Field message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns Field
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.ReportDefinition.Field;

                        /**
                         * Verifies a Field message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a Field message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns Field
                         */
                        public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.ReportDefinition.Field;

                        /**
                         * Creates a plain object from a Field message. Also converts values to other types if specified.
                         * @param message Field
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.ads.admanager.v1.ReportDefinition.Field, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this Field to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for Field
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a DateRange. */
                    interface IDateRange {

                        /** DateRange fixed */
                        fixed?: (google.ads.admanager.v1.ReportDefinition.DateRange.IFixedDateRange|null);

                        /** DateRange relative */
                        relative?: (google.ads.admanager.v1.ReportDefinition.DateRange.RelativeDateRange|keyof typeof google.ads.admanager.v1.ReportDefinition.DateRange.RelativeDateRange|null);
                    }

                    /** Represents a DateRange. */
                    class DateRange implements IDateRange {

                        /**
                         * Constructs a new DateRange.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.ads.admanager.v1.ReportDefinition.IDateRange);

                        /** DateRange fixed. */
                        public fixed?: (google.ads.admanager.v1.ReportDefinition.DateRange.IFixedDateRange|null);

                        /** DateRange relative. */
                        public relative?: (google.ads.admanager.v1.ReportDefinition.DateRange.RelativeDateRange|keyof typeof google.ads.admanager.v1.ReportDefinition.DateRange.RelativeDateRange|null);

                        /** DateRange dateRangeType. */
                        public dateRangeType?: ("fixed"|"relative");

                        /**
                         * Creates a new DateRange instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns DateRange instance
                         */
                        public static create(properties?: google.ads.admanager.v1.ReportDefinition.IDateRange): google.ads.admanager.v1.ReportDefinition.DateRange;

                        /**
                         * Encodes the specified DateRange message. Does not implicitly {@link google.ads.admanager.v1.ReportDefinition.DateRange.verify|verify} messages.
                         * @param message DateRange message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.ads.admanager.v1.ReportDefinition.IDateRange, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified DateRange message, length delimited. Does not implicitly {@link google.ads.admanager.v1.ReportDefinition.DateRange.verify|verify} messages.
                         * @param message DateRange message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.ads.admanager.v1.ReportDefinition.IDateRange, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a DateRange message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns DateRange
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.ReportDefinition.DateRange;

                        /**
                         * Decodes a DateRange message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns DateRange
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.ReportDefinition.DateRange;

                        /**
                         * Verifies a DateRange message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a DateRange message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns DateRange
                         */
                        public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.ReportDefinition.DateRange;

                        /**
                         * Creates a plain object from a DateRange message. Also converts values to other types if specified.
                         * @param message DateRange
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.ads.admanager.v1.ReportDefinition.DateRange, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this DateRange to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for DateRange
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    namespace DateRange {

                        /** Properties of a FixedDateRange. */
                        interface IFixedDateRange {

                            /** FixedDateRange startDate */
                            startDate?: (google.type.IDate|null);

                            /** FixedDateRange endDate */
                            endDate?: (google.type.IDate|null);
                        }

                        /** Represents a FixedDateRange. */
                        class FixedDateRange implements IFixedDateRange {

                            /**
                             * Constructs a new FixedDateRange.
                             * @param [properties] Properties to set
                             */
                            constructor(properties?: google.ads.admanager.v1.ReportDefinition.DateRange.IFixedDateRange);

                            /** FixedDateRange startDate. */
                            public startDate?: (google.type.IDate|null);

                            /** FixedDateRange endDate. */
                            public endDate?: (google.type.IDate|null);

                            /**
                             * Creates a new FixedDateRange instance using the specified properties.
                             * @param [properties] Properties to set
                             * @returns FixedDateRange instance
                             */
                            public static create(properties?: google.ads.admanager.v1.ReportDefinition.DateRange.IFixedDateRange): google.ads.admanager.v1.ReportDefinition.DateRange.FixedDateRange;

                            /**
                             * Encodes the specified FixedDateRange message. Does not implicitly {@link google.ads.admanager.v1.ReportDefinition.DateRange.FixedDateRange.verify|verify} messages.
                             * @param message FixedDateRange message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encode(message: google.ads.admanager.v1.ReportDefinition.DateRange.IFixedDateRange, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Encodes the specified FixedDateRange message, length delimited. Does not implicitly {@link google.ads.admanager.v1.ReportDefinition.DateRange.FixedDateRange.verify|verify} messages.
                             * @param message FixedDateRange message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encodeDelimited(message: google.ads.admanager.v1.ReportDefinition.DateRange.IFixedDateRange, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Decodes a FixedDateRange message from the specified reader or buffer.
                             * @param reader Reader or buffer to decode from
                             * @param [length] Message length if known beforehand
                             * @returns FixedDateRange
                             * @throws {Error} If the payload is not a reader or valid buffer
                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
                             */
                            public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.ReportDefinition.DateRange.FixedDateRange;

                            /**
                             * Decodes a FixedDateRange message from the specified reader or buffer, length delimited.
                             * @param reader Reader or buffer to decode from
                             * @returns FixedDateRange
                             * @throws {Error} If the payload is not a reader or valid buffer
                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
                             */
                            public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.ReportDefinition.DateRange.FixedDateRange;

                            /**
                             * Verifies a FixedDateRange message.
                             * @param message Plain object to verify
                             * @returns `null` if valid, otherwise the reason why it is not
                             */
                            public static verify(message: { [k: string]: any }): (string|null);

                            /**
                             * Creates a FixedDateRange message from a plain object. Also converts values to their respective internal types.
                             * @param object Plain object
                             * @returns FixedDateRange
                             */
                            public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.ReportDefinition.DateRange.FixedDateRange;

                            /**
                             * Creates a plain object from a FixedDateRange message. Also converts values to other types if specified.
                             * @param message FixedDateRange
                             * @param [options] Conversion options
                             * @returns Plain object
                             */
                            public static toObject(message: google.ads.admanager.v1.ReportDefinition.DateRange.FixedDateRange, options?: $protobuf.IConversionOptions): { [k: string]: any };

                            /**
                             * Converts this FixedDateRange to JSON.
                             * @returns JSON object
                             */
                            public toJSON(): { [k: string]: any };

                            /**
                             * Gets the default type url for FixedDateRange
                             * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                             * @returns The default type url
                             */
                            public static getTypeUrl(typeUrlPrefix?: string): string;
                        }

                        /** RelativeDateRange enum. */
                        enum RelativeDateRange {
                            RELATIVE_DATE_RANGE_UNSPECIFIED = 0,
                            TODAY = 1,
                            YESTERDAY = 2,
                            THIS_WEEK = 3,
                            THIS_WEEK_TO_DATE = 29,
                            THIS_MONTH = 4,
                            THIS_MONTH_TO_DATE = 26,
                            THIS_QUARTER = 5,
                            THIS_QUARTER_TO_DATE = 27,
                            THIS_YEAR = 6,
                            THIS_YEAR_TO_DATE = 28,
                            LAST_WEEK = 7,
                            LAST_WEEK_STARTING_SUNDAY = 39,
                            LAST_MONTH = 8,
                            LAST_QUARTER = 9,
                            LAST_YEAR = 10,
                            LAST_7_DAYS = 11,
                            LAST_30_DAYS = 12,
                            LAST_60_DAYS = 13,
                            LAST_90_DAYS = 14,
                            LAST_93_DAYS = 38,
                            LAST_180_DAYS = 15,
                            LAST_360_DAYS = 16,
                            LAST_365_DAYS = 17,
                            LAST_3_MONTHS = 18,
                            LAST_6_MONTHS = 19,
                            LAST_12_MONTHS = 20,
                            ALL_AVAILABLE = 21,
                            TOMORROW = 30,
                            NEXT_90_DAYS = 31,
                            NEXT_MONTH = 32,
                            NEXT_3_MONTHS = 33,
                            NEXT_12_MONTHS = 34,
                            NEXT_WEEK = 35,
                            NEXT_QUARTER = 36,
                            TO_END_OF_NEXT_MONTH = 37,
                            PREVIOUS_PERIOD = 22,
                            SAME_PERIOD_PREVIOUS_YEAR = 24
                        }
                    }

                    /** Properties of a Filter. */
                    interface IFilter {

                        /** Filter fieldFilter */
                        fieldFilter?: (google.ads.admanager.v1.ReportDefinition.Filter.IFieldFilter|null);

                        /** Filter notFilter */
                        notFilter?: (google.ads.admanager.v1.ReportDefinition.IFilter|null);

                        /** Filter andFilter */
                        andFilter?: (google.ads.admanager.v1.ReportDefinition.Filter.IFilterList|null);

                        /** Filter orFilter */
                        orFilter?: (google.ads.admanager.v1.ReportDefinition.Filter.IFilterList|null);
                    }

                    /** Represents a Filter. */
                    class Filter implements IFilter {

                        /**
                         * Constructs a new Filter.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.ads.admanager.v1.ReportDefinition.IFilter);

                        /** Filter fieldFilter. */
                        public fieldFilter?: (google.ads.admanager.v1.ReportDefinition.Filter.IFieldFilter|null);

                        /** Filter notFilter. */
                        public notFilter?: (google.ads.admanager.v1.ReportDefinition.IFilter|null);

                        /** Filter andFilter. */
                        public andFilter?: (google.ads.admanager.v1.ReportDefinition.Filter.IFilterList|null);

                        /** Filter orFilter. */
                        public orFilter?: (google.ads.admanager.v1.ReportDefinition.Filter.IFilterList|null);

                        /** Filter type. */
                        public type?: ("fieldFilter"|"notFilter"|"andFilter"|"orFilter");

                        /**
                         * Creates a new Filter instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns Filter instance
                         */
                        public static create(properties?: google.ads.admanager.v1.ReportDefinition.IFilter): google.ads.admanager.v1.ReportDefinition.Filter;

                        /**
                         * Encodes the specified Filter message. Does not implicitly {@link google.ads.admanager.v1.ReportDefinition.Filter.verify|verify} messages.
                         * @param message Filter message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.ads.admanager.v1.ReportDefinition.IFilter, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified Filter message, length delimited. Does not implicitly {@link google.ads.admanager.v1.ReportDefinition.Filter.verify|verify} messages.
                         * @param message Filter message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.ads.admanager.v1.ReportDefinition.IFilter, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a Filter message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns Filter
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.ReportDefinition.Filter;

                        /**
                         * Decodes a Filter message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns Filter
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.ReportDefinition.Filter;

                        /**
                         * Verifies a Filter message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a Filter message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns Filter
                         */
                        public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.ReportDefinition.Filter;

                        /**
                         * Creates a plain object from a Filter message. Also converts values to other types if specified.
                         * @param message Filter
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.ads.admanager.v1.ReportDefinition.Filter, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this Filter to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for Filter
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    namespace Filter {

                        /** Properties of a FieldFilter. */
                        interface IFieldFilter {

                            /** FieldFilter field */
                            field?: (google.ads.admanager.v1.ReportDefinition.IField|null);

                            /** FieldFilter operation */
                            operation?: (google.ads.admanager.v1.ReportDefinition.Filter.Operation|keyof typeof google.ads.admanager.v1.ReportDefinition.Filter.Operation|null);

                            /** FieldFilter values */
                            values?: (google.ads.admanager.v1.IReportValue[]|null);

                            /** FieldFilter slice */
                            slice?: (google.ads.admanager.v1.ReportDefinition.ISlice|null);

                            /** FieldFilter timePeriodIndex */
                            timePeriodIndex?: (number|null);

                            /** FieldFilter metricValueType */
                            metricValueType?: (google.ads.admanager.v1.ReportDefinition.MetricValueType|keyof typeof google.ads.admanager.v1.ReportDefinition.MetricValueType|null);
                        }

                        /** Represents a FieldFilter. */
                        class FieldFilter implements IFieldFilter {

                            /**
                             * Constructs a new FieldFilter.
                             * @param [properties] Properties to set
                             */
                            constructor(properties?: google.ads.admanager.v1.ReportDefinition.Filter.IFieldFilter);

                            /** FieldFilter field. */
                            public field?: (google.ads.admanager.v1.ReportDefinition.IField|null);

                            /** FieldFilter operation. */
                            public operation: (google.ads.admanager.v1.ReportDefinition.Filter.Operation|keyof typeof google.ads.admanager.v1.ReportDefinition.Filter.Operation);

                            /** FieldFilter values. */
                            public values: google.ads.admanager.v1.IReportValue[];

                            /** FieldFilter slice. */
                            public slice?: (google.ads.admanager.v1.ReportDefinition.ISlice|null);

                            /** FieldFilter timePeriodIndex. */
                            public timePeriodIndex?: (number|null);

                            /** FieldFilter metricValueType. */
                            public metricValueType?: (google.ads.admanager.v1.ReportDefinition.MetricValueType|keyof typeof google.ads.admanager.v1.ReportDefinition.MetricValueType|null);

                            /**
                             * Creates a new FieldFilter instance using the specified properties.
                             * @param [properties] Properties to set
                             * @returns FieldFilter instance
                             */
                            public static create(properties?: google.ads.admanager.v1.ReportDefinition.Filter.IFieldFilter): google.ads.admanager.v1.ReportDefinition.Filter.FieldFilter;

                            /**
                             * Encodes the specified FieldFilter message. Does not implicitly {@link google.ads.admanager.v1.ReportDefinition.Filter.FieldFilter.verify|verify} messages.
                             * @param message FieldFilter message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encode(message: google.ads.admanager.v1.ReportDefinition.Filter.IFieldFilter, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Encodes the specified FieldFilter message, length delimited. Does not implicitly {@link google.ads.admanager.v1.ReportDefinition.Filter.FieldFilter.verify|verify} messages.
                             * @param message FieldFilter message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encodeDelimited(message: google.ads.admanager.v1.ReportDefinition.Filter.IFieldFilter, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Decodes a FieldFilter message from the specified reader or buffer.
                             * @param reader Reader or buffer to decode from
                             * @param [length] Message length if known beforehand
                             * @returns FieldFilter
                             * @throws {Error} If the payload is not a reader or valid buffer
                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
                             */
                            public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.ReportDefinition.Filter.FieldFilter;

                            /**
                             * Decodes a FieldFilter message from the specified reader or buffer, length delimited.
                             * @param reader Reader or buffer to decode from
                             * @returns FieldFilter
                             * @throws {Error} If the payload is not a reader or valid buffer
                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
                             */
                            public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.ReportDefinition.Filter.FieldFilter;

                            /**
                             * Verifies a FieldFilter message.
                             * @param message Plain object to verify
                             * @returns `null` if valid, otherwise the reason why it is not
                             */
                            public static verify(message: { [k: string]: any }): (string|null);

                            /**
                             * Creates a FieldFilter message from a plain object. Also converts values to their respective internal types.
                             * @param object Plain object
                             * @returns FieldFilter
                             */
                            public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.ReportDefinition.Filter.FieldFilter;

                            /**
                             * Creates a plain object from a FieldFilter message. Also converts values to other types if specified.
                             * @param message FieldFilter
                             * @param [options] Conversion options
                             * @returns Plain object
                             */
                            public static toObject(message: google.ads.admanager.v1.ReportDefinition.Filter.FieldFilter, options?: $protobuf.IConversionOptions): { [k: string]: any };

                            /**
                             * Converts this FieldFilter to JSON.
                             * @returns JSON object
                             */
                            public toJSON(): { [k: string]: any };

                            /**
                             * Gets the default type url for FieldFilter
                             * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                             * @returns The default type url
                             */
                            public static getTypeUrl(typeUrlPrefix?: string): string;
                        }

                        /** Properties of a FilterList. */
                        interface IFilterList {

                            /** FilterList filters */
                            filters?: (google.ads.admanager.v1.ReportDefinition.IFilter[]|null);
                        }

                        /** Represents a FilterList. */
                        class FilterList implements IFilterList {

                            /**
                             * Constructs a new FilterList.
                             * @param [properties] Properties to set
                             */
                            constructor(properties?: google.ads.admanager.v1.ReportDefinition.Filter.IFilterList);

                            /** FilterList filters. */
                            public filters: google.ads.admanager.v1.ReportDefinition.IFilter[];

                            /**
                             * Creates a new FilterList instance using the specified properties.
                             * @param [properties] Properties to set
                             * @returns FilterList instance
                             */
                            public static create(properties?: google.ads.admanager.v1.ReportDefinition.Filter.IFilterList): google.ads.admanager.v1.ReportDefinition.Filter.FilterList;

                            /**
                             * Encodes the specified FilterList message. Does not implicitly {@link google.ads.admanager.v1.ReportDefinition.Filter.FilterList.verify|verify} messages.
                             * @param message FilterList message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encode(message: google.ads.admanager.v1.ReportDefinition.Filter.IFilterList, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Encodes the specified FilterList message, length delimited. Does not implicitly {@link google.ads.admanager.v1.ReportDefinition.Filter.FilterList.verify|verify} messages.
                             * @param message FilterList message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encodeDelimited(message: google.ads.admanager.v1.ReportDefinition.Filter.IFilterList, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Decodes a FilterList message from the specified reader or buffer.
                             * @param reader Reader or buffer to decode from
                             * @param [length] Message length if known beforehand
                             * @returns FilterList
                             * @throws {Error} If the payload is not a reader or valid buffer
                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
                             */
                            public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.ReportDefinition.Filter.FilterList;

                            /**
                             * Decodes a FilterList message from the specified reader or buffer, length delimited.
                             * @param reader Reader or buffer to decode from
                             * @returns FilterList
                             * @throws {Error} If the payload is not a reader or valid buffer
                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
                             */
                            public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.ReportDefinition.Filter.FilterList;

                            /**
                             * Verifies a FilterList message.
                             * @param message Plain object to verify
                             * @returns `null` if valid, otherwise the reason why it is not
                             */
                            public static verify(message: { [k: string]: any }): (string|null);

                            /**
                             * Creates a FilterList message from a plain object. Also converts values to their respective internal types.
                             * @param object Plain object
                             * @returns FilterList
                             */
                            public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.ReportDefinition.Filter.FilterList;

                            /**
                             * Creates a plain object from a FilterList message. Also converts values to other types if specified.
                             * @param message FilterList
                             * @param [options] Conversion options
                             * @returns Plain object
                             */
                            public static toObject(message: google.ads.admanager.v1.ReportDefinition.Filter.FilterList, options?: $protobuf.IConversionOptions): { [k: string]: any };

                            /**
                             * Converts this FilterList to JSON.
                             * @returns JSON object
                             */
                            public toJSON(): { [k: string]: any };

                            /**
                             * Gets the default type url for FilterList
                             * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                             * @returns The default type url
                             */
                            public static getTypeUrl(typeUrlPrefix?: string): string;
                        }

                        /** Operation enum. */
                        enum Operation {
                            IN = 0,
                            NOT_IN = 1,
                            CONTAINS = 2,
                            NOT_CONTAINS = 3,
                            LESS_THAN = 4,
                            LESS_THAN_EQUALS = 5,
                            GREATER_THAN = 6,
                            GREATER_THAN_EQUALS = 7,
                            BETWEEN = 8,
                            MATCHES = 9,
                            NOT_MATCHES = 10
                        }
                    }

                    /** Properties of a Sort. */
                    interface ISort {

                        /** Sort field */
                        field?: (google.ads.admanager.v1.ReportDefinition.IField|null);

                        /** Sort descending */
                        descending?: (boolean|null);

                        /** Sort slice */
                        slice?: (google.ads.admanager.v1.ReportDefinition.ISlice|null);

                        /** Sort timePeriodIndex */
                        timePeriodIndex?: (number|null);

                        /** Sort metricValueType */
                        metricValueType?: (google.ads.admanager.v1.ReportDefinition.MetricValueType|keyof typeof google.ads.admanager.v1.ReportDefinition.MetricValueType|null);
                    }

                    /** Represents a Sort. */
                    class Sort implements ISort {

                        /**
                         * Constructs a new Sort.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.ads.admanager.v1.ReportDefinition.ISort);

                        /** Sort field. */
                        public field?: (google.ads.admanager.v1.ReportDefinition.IField|null);

                        /** Sort descending. */
                        public descending: boolean;

                        /** Sort slice. */
                        public slice?: (google.ads.admanager.v1.ReportDefinition.ISlice|null);

                        /** Sort timePeriodIndex. */
                        public timePeriodIndex?: (number|null);

                        /** Sort metricValueType. */
                        public metricValueType?: (google.ads.admanager.v1.ReportDefinition.MetricValueType|keyof typeof google.ads.admanager.v1.ReportDefinition.MetricValueType|null);

                        /**
                         * Creates a new Sort instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns Sort instance
                         */
                        public static create(properties?: google.ads.admanager.v1.ReportDefinition.ISort): google.ads.admanager.v1.ReportDefinition.Sort;

                        /**
                         * Encodes the specified Sort message. Does not implicitly {@link google.ads.admanager.v1.ReportDefinition.Sort.verify|verify} messages.
                         * @param message Sort message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.ads.admanager.v1.ReportDefinition.ISort, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified Sort message, length delimited. Does not implicitly {@link google.ads.admanager.v1.ReportDefinition.Sort.verify|verify} messages.
                         * @param message Sort message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.ads.admanager.v1.ReportDefinition.ISort, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a Sort message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns Sort
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.ReportDefinition.Sort;

                        /**
                         * Decodes a Sort message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns Sort
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.ReportDefinition.Sort;

                        /**
                         * Verifies a Sort message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a Sort message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns Sort
                         */
                        public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.ReportDefinition.Sort;

                        /**
                         * Creates a plain object from a Sort message. Also converts values to other types if specified.
                         * @param message Sort
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.ads.admanager.v1.ReportDefinition.Sort, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this Sort to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for Sort
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a Slice. */
                    interface ISlice {

                        /** Slice dimension */
                        dimension?: (google.ads.admanager.v1.ReportDefinition.Dimension|keyof typeof google.ads.admanager.v1.ReportDefinition.Dimension|null);

                        /** Slice value */
                        value?: (google.ads.admanager.v1.IReportValue|null);
                    }

                    /** Represents a Slice. */
                    class Slice implements ISlice {

                        /**
                         * Constructs a new Slice.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.ads.admanager.v1.ReportDefinition.ISlice);

                        /** Slice dimension. */
                        public dimension: (google.ads.admanager.v1.ReportDefinition.Dimension|keyof typeof google.ads.admanager.v1.ReportDefinition.Dimension);

                        /** Slice value. */
                        public value?: (google.ads.admanager.v1.IReportValue|null);

                        /**
                         * Creates a new Slice instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns Slice instance
                         */
                        public static create(properties?: google.ads.admanager.v1.ReportDefinition.ISlice): google.ads.admanager.v1.ReportDefinition.Slice;

                        /**
                         * Encodes the specified Slice message. Does not implicitly {@link google.ads.admanager.v1.ReportDefinition.Slice.verify|verify} messages.
                         * @param message Slice message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.ads.admanager.v1.ReportDefinition.ISlice, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified Slice message, length delimited. Does not implicitly {@link google.ads.admanager.v1.ReportDefinition.Slice.verify|verify} messages.
                         * @param message Slice message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.ads.admanager.v1.ReportDefinition.ISlice, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a Slice message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns Slice
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.ReportDefinition.Slice;

                        /**
                         * Decodes a Slice message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns Slice
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.ReportDefinition.Slice;

                        /**
                         * Verifies a Slice message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a Slice message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns Slice
                         */
                        public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.ReportDefinition.Slice;

                        /**
                         * Creates a plain object from a Slice message. Also converts values to other types if specified.
                         * @param message Slice
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.ads.admanager.v1.ReportDefinition.Slice, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this Slice to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for Slice
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a Flag. */
                    interface IFlag {

                        /** Flag filters */
                        filters?: (google.ads.admanager.v1.ReportDefinition.IFilter[]|null);

                        /** Flag name */
                        name?: (string|null);
                    }

                    /** Represents a Flag. */
                    class Flag implements IFlag {

                        /**
                         * Constructs a new Flag.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.ads.admanager.v1.ReportDefinition.IFlag);

                        /** Flag filters. */
                        public filters: google.ads.admanager.v1.ReportDefinition.IFilter[];

                        /** Flag name. */
                        public name: string;

                        /**
                         * Creates a new Flag instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns Flag instance
                         */
                        public static create(properties?: google.ads.admanager.v1.ReportDefinition.IFlag): google.ads.admanager.v1.ReportDefinition.Flag;

                        /**
                         * Encodes the specified Flag message. Does not implicitly {@link google.ads.admanager.v1.ReportDefinition.Flag.verify|verify} messages.
                         * @param message Flag message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.ads.admanager.v1.ReportDefinition.IFlag, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified Flag message, length delimited. Does not implicitly {@link google.ads.admanager.v1.ReportDefinition.Flag.verify|verify} messages.
                         * @param message Flag message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.ads.admanager.v1.ReportDefinition.IFlag, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a Flag message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns Flag
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.ReportDefinition.Flag;

                        /**
                         * Decodes a Flag message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns Flag
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.ReportDefinition.Flag;

                        /**
                         * Verifies a Flag message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a Flag message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns Flag
                         */
                        public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.ReportDefinition.Flag;

                        /**
                         * Creates a plain object from a Flag message. Also converts values to other types if specified.
                         * @param message Flag
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.ads.admanager.v1.ReportDefinition.Flag, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this Flag to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for Flag
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** ReportType enum. */
                    enum ReportType {
                        REPORT_TYPE_UNSPECIFIED = 0,
                        HISTORICAL = 1,
                        REACH = 5,
                        PRIVACY_AND_MESSAGING = 6,
                        REVENUE_VERIFICATION = 7,
                        PARTNER_FINANCE = 8,
                        AD_SPEED = 13
                    }

                    /** Dimension enum. */
                    enum Dimension {
                        DIMENSION_UNSPECIFIED = 0,
                        ACTIVE_VIEW_MEASUREMENT_SOURCE = 575,
                        ACTIVE_VIEW_MEASUREMENT_SOURCE_NAME = 576,
                        ADVERTISER_CREDIT_STATUS = 475,
                        ADVERTISER_CREDIT_STATUS_NAME = 476,
                        ADVERTISER_DOMAIN_NAME = 242,
                        ADVERTISER_EXTERNAL_ID = 228,
                        ADVERTISER_ID = 131,
                        ADVERTISER_LABELS = 230,
                        ADVERTISER_LABEL_IDS = 229,
                        ADVERTISER_NAME = 132,
                        ADVERTISER_PRIMARY_CONTACT = 227,
                        ADVERTISER_STATUS = 471,
                        ADVERTISER_STATUS_NAME = 472,
                        ADVERTISER_TYPE = 473,
                        ADVERTISER_TYPE_NAME = 474,
                        ADVERTISER_VERTICAL = 580,
                        ADX_PRODUCT = 499,
                        ADX_PRODUCT_NAME = 500,
                        AD_EXPERIENCES_TYPE = 641,
                        AD_EXPERIENCES_TYPE_NAME = 642,
                        AD_LOCATION = 390,
                        AD_LOCATION_NAME = 391,
                        AD_REQUEST_SIZES = 541,
                        AD_TECHNOLOGY_PROVIDER_DOMAIN = 620,
                        AD_TECHNOLOGY_PROVIDER_ID = 621,
                        AD_TECHNOLOGY_PROVIDER_NAME = 622,
                        AD_TYPE = 497,
                        AD_TYPE_NAME = 498,
                        AD_UNIT_CODE = 64,
                        AD_UNIT_CODE_LEVEL_1 = 65,
                        AD_UNIT_CODE_LEVEL_10 = 74,
                        AD_UNIT_CODE_LEVEL_11 = 75,
                        AD_UNIT_CODE_LEVEL_12 = 76,
                        AD_UNIT_CODE_LEVEL_13 = 77,
                        AD_UNIT_CODE_LEVEL_14 = 78,
                        AD_UNIT_CODE_LEVEL_15 = 79,
                        AD_UNIT_CODE_LEVEL_16 = 80,
                        AD_UNIT_CODE_LEVEL_2 = 66,
                        AD_UNIT_CODE_LEVEL_3 = 67,
                        AD_UNIT_CODE_LEVEL_4 = 68,
                        AD_UNIT_CODE_LEVEL_5 = 69,
                        AD_UNIT_CODE_LEVEL_6 = 70,
                        AD_UNIT_CODE_LEVEL_7 = 71,
                        AD_UNIT_CODE_LEVEL_8 = 72,
                        AD_UNIT_CODE_LEVEL_9 = 73,
                        AD_UNIT_ID = 25,
                        AD_UNIT_ID_ALL_LEVEL = 27,
                        AD_UNIT_ID_LEVEL_1 = 30,
                        AD_UNIT_ID_LEVEL_10 = 48,
                        AD_UNIT_ID_LEVEL_11 = 50,
                        AD_UNIT_ID_LEVEL_12 = 52,
                        AD_UNIT_ID_LEVEL_13 = 54,
                        AD_UNIT_ID_LEVEL_14 = 56,
                        AD_UNIT_ID_LEVEL_15 = 58,
                        AD_UNIT_ID_LEVEL_16 = 60,
                        AD_UNIT_ID_LEVEL_2 = 32,
                        AD_UNIT_ID_LEVEL_3 = 34,
                        AD_UNIT_ID_LEVEL_4 = 36,
                        AD_UNIT_ID_LEVEL_5 = 38,
                        AD_UNIT_ID_LEVEL_6 = 40,
                        AD_UNIT_ID_LEVEL_7 = 42,
                        AD_UNIT_ID_LEVEL_8 = 44,
                        AD_UNIT_ID_LEVEL_9 = 46,
                        AD_UNIT_ID_TOP_LEVEL = 142,
                        AD_UNIT_NAME = 26,
                        AD_UNIT_NAME_ALL_LEVEL = 29,
                        AD_UNIT_NAME_LEVEL_1 = 31,
                        AD_UNIT_NAME_LEVEL_10 = 49,
                        AD_UNIT_NAME_LEVEL_11 = 51,
                        AD_UNIT_NAME_LEVEL_12 = 53,
                        AD_UNIT_NAME_LEVEL_13 = 55,
                        AD_UNIT_NAME_LEVEL_14 = 57,
                        AD_UNIT_NAME_LEVEL_15 = 59,
                        AD_UNIT_NAME_LEVEL_16 = 61,
                        AD_UNIT_NAME_LEVEL_2 = 33,
                        AD_UNIT_NAME_LEVEL_3 = 35,
                        AD_UNIT_NAME_LEVEL_4 = 37,
                        AD_UNIT_NAME_LEVEL_5 = 39,
                        AD_UNIT_NAME_LEVEL_6 = 41,
                        AD_UNIT_NAME_LEVEL_7 = 43,
                        AD_UNIT_NAME_LEVEL_8 = 45,
                        AD_UNIT_NAME_LEVEL_9 = 47,
                        AD_UNIT_NAME_TOP_LEVEL = 143,
                        AD_UNIT_REWARD_AMOUNT = 63,
                        AD_UNIT_REWARD_TYPE = 62,
                        AD_UNIT_STATUS = 206,
                        AD_UNIT_STATUS_NAME = 207,
                        AGENCY_LEVEL_1_ID = 565,
                        AGENCY_LEVEL_1_NAME = 566,
                        AGENCY_LEVEL_2_ID = 567,
                        AGENCY_LEVEL_2_NAME = 568,
                        AGENCY_LEVEL_3_ID = 569,
                        AGENCY_LEVEL_3_NAME = 570,
                        AGE_BRACKET = 508,
                        AGE_BRACKET_NAME = 582,
                        ANALYTICS_PROPERTY_ID = 733,
                        ANALYTICS_PROPERTY_NAME = 767,
                        APP_TRACKING_TRANSPARENCY_CONSENT_STATUS = 442,
                        APP_TRACKING_TRANSPARENCY_CONSENT_STATUS_NAME = 443,
                        APP_VERSION = 392,
                        AUCTION_PACKAGE_DEAL = 579,
                        AUCTION_PACKAGE_DEAL_ID = 571,
                        AUDIENCE_SEGMENT_BILLABLE = 594,
                        AUDIENCE_SEGMENT_DATA_PROVIDER_ID = 613,
                        AUDIENCE_SEGMENT_DATA_PROVIDER_NAME = 614,
                        AUDIENCE_SEGMENT_ID_BILLABLE = 595,
                        AUDIENCE_SEGMENT_ID_TARGETED = 584,
                        AUDIENCE_SEGMENT_TARGETED = 585,
                        AUDIENCE_SEGMENT_TARGETED_AD_ID_USER_SIZE = 605,
                        AUDIENCE_SEGMENT_TARGETED_AMAZON_FIRE_USER_SIZE = 606,
                        AUDIENCE_SEGMENT_TARGETED_ANDROID_TV_USER_SIZE = 607,
                        AUDIENCE_SEGMENT_TARGETED_APPLE_TV_USER_SIZE = 608,
                        AUDIENCE_SEGMENT_TARGETED_IDFA_USER_SIZE = 609,
                        AUDIENCE_SEGMENT_TARGETED_MOBILE_WEB_USER_SIZE = 610,
                        AUDIENCE_SEGMENT_TARGETED_PLAYSTATION_USER_SIZE = 611,
                        AUDIENCE_SEGMENT_TARGETED_PPID_USER_SIZE = 612,
                        AUDIENCE_SEGMENT_TARGETED_ROKU_USER_SIZE = 615,
                        AUDIENCE_SEGMENT_TARGETED_SAMSUNG_TV_USER_SIZE = 616,
                        AUDIENCE_SEGMENT_TARGETED_SIZE = 618,
                        AUDIENCE_SEGMENT_TARGETED_STATUS = 628,
                        AUDIENCE_SEGMENT_TARGETED_STATUS_NAME = 617,
                        AUDIENCE_SEGMENT_TARGETED_XBOX_USER_SIZE = 619,
                        AUTO_REFRESHED_TRAFFIC = 421,
                        AUTO_REFRESHED_TRAFFIC_NAME = 422,
                        BIDDER_ENCRYPTED_ID = 493,
                        BIDDER_NAME = 494,
                        BID_RANGE = 679,
                        BID_REJECTION_REASON = 599,
                        BID_REJECTION_REASON_NAME = 600,
                        BRANDING_TYPE = 383,
                        BRANDING_TYPE_NAME = 384,
                        BROWSER_CATEGORY = 119,
                        BROWSER_CATEGORY_NAME = 120,
                        BROWSER_ID = 235,
                        BROWSER_NAME = 236,
                        BUYER_NETWORK_ID = 448,
                        BUYER_NETWORK_NAME = 449,
                        CALLOUT_STATUS_CATEGORY = 588,
                        CALLOUT_STATUS_CATEGORY_NAME = 589,
                        CARRIER_ID = 369,
                        CARRIER_NAME = 368,
                        CHANNEL = 501,
                        CHILD_NETWORK_CODE = 542,
                        CHILD_NETWORK_ID = 544,
                        CHILD_PARTNER_NAME = 543,
                        CITY_ID = 459,
                        CITY_NAME = 452,
                        CLASSIFIED_ADVERTISER_ID = 133,
                        CLASSIFIED_ADVERTISER_NAME = 134,
                        CLASSIFIED_BRAND_ID = 243,
                        CLASSIFIED_BRAND_NAME = 244,
                        CONTENT_BUNDLE_ID = 460,
                        CONTENT_BUNDLE_NAME = 461,
                        CONTENT_CMS_METADATA_KV_NAMESPACE_ID = 462,
                        CONTENT_CMS_METADATA_KV_NAMESPACE_NAME = 463,
                        CONTENT_CMS_NAME = 643,
                        CONTENT_CMS_VIDEO_ID = 644,
                        CONTENT_ID = 246,
                        CONTENT_MAPPING_PRESENCE = 731,
                        CONTENT_MAPPING_PRESENCE_NAME = 732,
                        CONTENT_NAME = 247,
                        CONTINENT = 469,
                        CONTINENT_NAME = 470,
                        COUNTRY_CODE = 466,
                        COUNTRY_ID = 11,
                        COUNTRY_NAME = 12,
                        CREATIVE_BILLING_TYPE = 366,
                        CREATIVE_BILLING_TYPE_NAME = 367,
                        CREATIVE_CLICK_THROUGH_URL = 174,
                        CREATIVE_ID = 138,
                        CREATIVE_NAME = 139,
                        CREATIVE_POLICIES_FILTERING = 711,
                        CREATIVE_POLICIES_FILTERING_NAME = 712,
                        CREATIVE_PROTECTIONS_FILTERING = 704,
                        CREATIVE_PROTECTIONS_FILTERING_NAME = 705,
                        CREATIVE_SET_ROLE_TYPE = 686,
                        CREATIVE_SET_ROLE_TYPE_NAME = 687,
                        CREATIVE_TECHNOLOGY = 148,
                        CREATIVE_TECHNOLOGY_NAME = 149,
                        CREATIVE_THIRD_PARTY_VENDOR = 361,
                        CREATIVE_TYPE = 344,
                        CREATIVE_TYPE_NAME = 345,
                        CREATIVE_VENDOR_ID = 706,
                        CREATIVE_VENDOR_NAME = 707,
                        CREATIVE_VIDEO_REDIRECT_THIRD_PARTY = 562,
                        CURATOR_ID = 572,
                        CURATOR_NAME = 573,
                        CUSTOM_EVENT_ID = 737,
                        CUSTOM_EVENT_NAME = 735,
                        CUSTOM_EVENT_TYPE = 736,
                        CUSTOM_EVENT_TYPE_NAME = 738,
                        CUSTOM_SPOT_ID = 423,
                        CUSTOM_SPOT_NAME = 424,
                        DATE = 3,
                        DAY_OF_WEEK = 4,
                        DEAL_BUYER_ID = 240,
                        DEAL_BUYER_NAME = 241,
                        DEAL_ID = 436,
                        DEAL_NAME = 437,
                        DELIVERED_SECURE_SIGNAL_ID = 309,
                        DELIVERED_SECURE_SIGNAL_NAME = 310,
                        DEMAND_CHANNEL = 9,
                        DEMAND_CHANNEL_NAME = 10,
                        DEMAND_SOURCE = 592,
                        DEMAND_SOURCE_NAME = 593,
                        DEMAND_SUBCHANNEL = 22,
                        DEMAND_SUBCHANNEL_NAME = 23,
                        DEVICE = 226,
                        DEVICE_CATEGORY = 15,
                        DEVICE_CATEGORY_NAME = 16,
                        DEVICE_MANUFACTURER_ID = 525,
                        DEVICE_MANUFACTURER_NAME = 526,
                        DEVICE_MODEL_ID = 527,
                        DEVICE_MODEL_NAME = 528,
                        DEVICE_NAME = 225,
                        DSP_SEAT_ID = 564,
                        DYNAMIC_ALLOCATION_TYPE = 502,
                        DYNAMIC_ALLOCATION_TYPE_NAME = 503,
                        ESP_DELIVERY = 623,
                        ESP_DELIVERY_NAME = 624,
                        ESP_PRESENCE = 625,
                        ESP_PRESENCE_NAME = 626,
                        EXCHANGE_BIDDING_DEAL_ID = 715,
                        EXCHANGE_BIDDING_DEAL_TYPE = 714,
                        EXCHANGE_BIDDING_DEAL_TYPE_NAME = 723,
                        EXCHANGE_THIRD_PARTY_COMPANY_ID = 185,
                        EXCHANGE_THIRD_PARTY_COMPANY_NAME = 186,
                        FIRST_LOOK_PRICING_RULE_ID = 248,
                        FIRST_LOOK_PRICING_RULE_NAME = 249,
                        FIRST_PARTY_ID_STATUS = 404,
                        FIRST_PARTY_ID_STATUS_NAME = 405,
                        GENDER = 509,
                        GENDER_NAME = 583,
                        GOOGLE_ANALYTICS_STREAM_ID = 519,
                        GOOGLE_ANALYTICS_STREAM_NAME = 520,
                        HBT_YIELD_PARTNER_ID = 659,
                        HBT_YIELD_PARTNER_NAME = 660,
                        HEADER_BIDDER_INTEGRATION_TYPE = 718,
                        HEADER_BIDDER_INTEGRATION_TYPE_NAME = 719,
                        HOUR = 100,
                        IMPRESSION_COUNTING_METHOD = 577,
                        IMPRESSION_COUNTING_METHOD_NAME = 578,
                        INTERACTION_TYPE = 223,
                        INTERACTION_TYPE_NAME = 224,
                        INTEREST = 510,
                        INVENTORY_FORMAT = 17,
                        INVENTORY_FORMAT_NAME = 18,
                        INVENTORY_SHARE_ASSIGNMENT_ID = 648,
                        INVENTORY_SHARE_ASSIGNMENT_NAME = 649,
                        INVENTORY_SHARE_OUTCOME = 603,
                        INVENTORY_SHARE_OUTCOME_NAME = 604,
                        INVENTORY_SHARE_PARTNER_AD_SERVER = 652,
                        INVENTORY_SHARE_PARTNER_AD_SERVER_NAME = 653,
                        INVENTORY_SHARE_TARGET_SHARE_PERCENT = 654,
                        INVENTORY_SHARE_TYPE = 650,
                        INVENTORY_SHARE_TYPE_NAME = 651,
                        INVENTORY_TYPE = 19,
                        INVENTORY_TYPE_NAME = 20,
                        IS_ADX_DIRECT = 382,
                        IS_CURATION_TARGETED = 574,
                        IS_DROPPED = 464,
                        IS_FIRST_LOOK_DEAL = 401,
                        KEY_VALUES_ID = 214,
                        KEY_VALUES_NAME = 215,
                        KEY_VALUES_SET = 713,
                        LINE_ITEM_AGENCY = 663,
                        LINE_ITEM_ARCHIVED = 188,
                        LINE_ITEM_COMPANION_DELIVERY_OPTION = 204,
                        LINE_ITEM_COMPANION_DELIVERY_OPTION_NAME = 205,
                        LINE_ITEM_COMPUTED_STATUS = 250,
                        LINE_ITEM_COMPUTED_STATUS_NAME = 251,
                        LINE_ITEM_CONTRACTED_QUANTITY = 92,
                        LINE_ITEM_COST_PER_UNIT = 85,
                        LINE_ITEM_COST_TYPE = 212,
                        LINE_ITEM_COST_TYPE_NAME = 213,
                        LINE_ITEM_CREATIVE_END_DATE = 176,
                        LINE_ITEM_CREATIVE_ROTATION_TYPE = 189,
                        LINE_ITEM_CREATIVE_ROTATION_TYPE_NAME = 190,
                        LINE_ITEM_CREATIVE_START_DATE = 175,
                        LINE_ITEM_CURRENCY_CODE = 180,
                        LINE_ITEM_DELIVERY_INDICATOR = 87,
                        LINE_ITEM_DELIVERY_RATE_TYPE = 191,
                        LINE_ITEM_DELIVERY_RATE_TYPE_NAME = 192,
                        LINE_ITEM_DISCOUNT_ABSOLUTE = 195,
                        LINE_ITEM_DISCOUNT_PERCENTAGE = 196,
                        LINE_ITEM_END_DATE = 81,
                        LINE_ITEM_END_DATE_TIME = 83,
                        LINE_ITEM_ENVIRONMENT_TYPE = 201,
                        LINE_ITEM_ENVIRONMENT_TYPE_NAME = 202,
                        LINE_ITEM_EXTERNAL_DEAL_ID = 97,
                        LINE_ITEM_EXTERNAL_ID = 86,
                        LINE_ITEM_FREQUENCY_CAP = 256,
                        LINE_ITEM_ID = 1,
                        LINE_ITEM_LABELS = 667,
                        LINE_ITEM_LABEL_IDS = 665,
                        LINE_ITEM_LAST_MODIFIED_BY_APP = 181,
                        LINE_ITEM_LIFETIME_CLICKS = 95,
                        LINE_ITEM_LIFETIME_IMPRESSIONS = 94,
                        LINE_ITEM_LIFETIME_VIEWABLE_IMPRESSIONS = 96,
                        LINE_ITEM_MAKEGOOD = 89,
                        LINE_ITEM_NAME = 2,
                        LINE_ITEM_NON_CPD_BOOKED_REVENUE = 98,
                        LINE_ITEM_OPTIMIZABLE = 90,
                        LINE_ITEM_PO_NUMBER = 669,
                        LINE_ITEM_PRIMARY_GOAL_TYPE = 210,
                        LINE_ITEM_PRIMARY_GOAL_TYPE_NAME = 211,
                        LINE_ITEM_PRIMARY_GOAL_UNITS_ABSOLUTE = 93,
                        LINE_ITEM_PRIMARY_GOAL_UNITS_PERCENTAGE = 396,
                        LINE_ITEM_PRIMARY_GOAL_UNIT_TYPE = 208,
                        LINE_ITEM_PRIMARY_GOAL_UNIT_TYPE_NAME = 209,
                        LINE_ITEM_PRIORITY = 24,
                        LINE_ITEM_RESERVATION_STATUS = 304,
                        LINE_ITEM_RESERVATION_STATUS_NAME = 305,
                        LINE_ITEM_SALESPERSON = 671,
                        LINE_ITEM_SECONDARY_SALESPEOPLE = 673,
                        LINE_ITEM_SECONDARY_TRAFFICKERS = 675,
                        LINE_ITEM_START_DATE = 82,
                        LINE_ITEM_START_DATE_TIME = 84,
                        LINE_ITEM_TRAFFICKER = 677,
                        LINE_ITEM_TYPE = 193,
                        LINE_ITEM_TYPE_NAME = 194,
                        LINE_ITEM_UNLIMITED_END = 187,
                        LINE_ITEM_VALUE_COST_PER_UNIT = 88,
                        LINE_ITEM_WEB_PROPERTY_CODE = 179,
                        MASTER_COMPANION_CREATIVE_ID = 140,
                        MASTER_COMPANION_CREATIVE_NAME = 141,
                        MEDIATION_TYPE = 701,
                        MEDIATION_TYPE_NAME = 754,
                        MEDIATION_YIELD_PARTNER_ID = 661,
                        MEDIATION_YIELD_PARTNER_NAME = 662,
                        METRO_ID = 453,
                        METRO_NAME = 454,
                        MOBILE_APP_FREE = 128,
                        MOBILE_APP_ICON_URL = 129,
                        MOBILE_APP_ID = 123,
                        MOBILE_APP_NAME = 127,
                        MOBILE_APP_OWNERSHIP_STATUS = 311,
                        MOBILE_APP_OWNERSHIP_STATUS_NAME = 312,
                        MOBILE_APP_STORE = 125,
                        MOBILE_APP_STORE_NAME = 245,
                        MOBILE_INVENTORY_TYPE = 99,
                        MOBILE_INVENTORY_TYPE_NAME = 21,
                        MOBILE_RENDERING_SDK = 646,
                        MOBILE_RENDERING_SDK_NAME = 647,
                        MOBILE_SDK_MAJOR_VERSION = 692,
                        MOBILE_SDK_MINOR_VERSION = 693,
                        MOBILE_SDK_VERSION_NAME = 130,
                        MONTH_YEAR = 6,
                        NATIVE_AD_FORMAT_ID = 255,
                        NATIVE_AD_FORMAT_NAME = 254,
                        NATIVE_STYLE_ID = 253,
                        NATIVE_STYLE_NAME = 252,
                        NO_FILL_REASON_CATEGORY = 586,
                        NO_FILL_REASON_CATEGORY_NAME = 587,
                        OPERATING_SYSTEM_CATEGORY = 117,
                        OPERATING_SYSTEM_CATEGORY_NAME = 118,
                        OPERATING_SYSTEM_VERSION_ID = 238,
                        OPERATING_SYSTEM_VERSION_NAME = 237,
                        OPTIMIZATION_TYPE = 639,
                        OPTIMIZATION_TYPE_NAME = 640,
                        ORDER_AGENCY = 150,
                        ORDER_AGENCY_ID = 151,
                        ORDER_BOOKED_CPC = 152,
                        ORDER_BOOKED_CPM = 153,
                        ORDER_DELIVERY_STATUS = 231,
                        ORDER_DELIVERY_STATUS_NAME = 239,
                        ORDER_END_DATE = 154,
                        ORDER_END_DATE_TIME = 155,
                        ORDER_EXTERNAL_ID = 156,
                        ORDER_ID = 7,
                        ORDER_LABELS = 170,
                        ORDER_LABEL_IDS = 171,
                        ORDER_LIFETIME_CLICKS = 158,
                        ORDER_LIFETIME_IMPRESSIONS = 159,
                        ORDER_NAME = 8,
                        ORDER_PO_NUMBER = 160,
                        ORDER_PROGRAMMATIC = 157,
                        ORDER_SALESPERSON = 161,
                        ORDER_SALESPERSON_ID = 629,
                        ORDER_SECONDARY_SALESPEOPLE = 164,
                        ORDER_SECONDARY_SALESPEOPLE_ID = 165,
                        ORDER_SECONDARY_TRAFFICKERS = 166,
                        ORDER_SECONDARY_TRAFFICKERS_ID = 167,
                        ORDER_START_DATE = 168,
                        ORDER_START_DATE_TIME = 169,
                        ORDER_TRAFFICKER = 162,
                        ORDER_TRAFFICKER_ID = 163,
                        ORDER_UNLIMITED_END = 203,
                        PAGE_PATH = 511,
                        PAGE_TITLE_AND_SCREEN_CLASS = 512,
                        PAGE_TITLE_AND_SCREEN_NAME = 513,
                        PARTNER_MANAGEMENT_ASSIGNMENT_ID = 657,
                        PARTNER_MANAGEMENT_ASSIGNMENT_NAME = 658,
                        PARTNER_MANAGEMENT_PARTNER_ID = 655,
                        PARTNER_MANAGEMENT_PARTNER_NAME = 656,
                        PLACEMENT_ID = 113,
                        PLACEMENT_ID_ALL = 144,
                        PLACEMENT_NAME = 114,
                        PLACEMENT_NAME_ALL = 145,
                        PLACEMENT_STATUS = 362,
                        PLACEMENT_STATUS_NAME = 364,
                        PLACEMENT_STATUS_NAME_ALL = 365,
                        POSTAL_CODE_ID = 455,
                        POSTAL_CODE_NAME = 456,
                        PPID_STATUS = 406,
                        PPID_STATUS_NAME = 407,
                        PREDICTED_VIEWABILITY_BUCKET = 633,
                        PREDICTED_VIEWABILITY_BUCKET_NAME = 634,
                        PRESENTED_SECURE_SIGNAL_ID = 495,
                        PRESENTED_SECURE_SIGNAL_NAME = 496,
                        PRIMARY_PERSONALIZATION_ID_TYPE = 408,
                        PRIMARY_PERSONALIZATION_ID_TYPE_NAME = 409,
                        PROGRAMMATIC_BUYER_ID = 240,
                        PROGRAMMATIC_BUYER_NAME = 241,
                        PROGRAMMATIC_CHANNEL = 13,
                        PROGRAMMATIC_CHANNEL_NAME = 14,
                        PUBLISHER_PROVIDED_SIGNALS_ALL_LEVELS_EXTERNAL_CODE = 410,
                        PUBLISHER_PROVIDED_SIGNALS_ALL_LEVELS_IDS = 546,
                        PUBLISHER_PROVIDED_SIGNALS_ALL_LEVELS_NAME = 412,
                        PUBLISHER_PROVIDED_SIGNALS_ALL_LEVELS_TIER = 413,
                        PUBLISHER_PROVIDED_SIGNALS_ALL_LEVELS_TYPE = 414,
                        PUBLISHER_PROVIDED_SIGNALS_DELIVERED_EXTERNAL_CODE = 425,
                        PUBLISHER_PROVIDED_SIGNALS_DELIVERED_IDS = 545,
                        PUBLISHER_PROVIDED_SIGNALS_DELIVERED_NAME = 427,
                        PUBLISHER_PROVIDED_SIGNALS_DELIVERED_TIER = 428,
                        PUBLISHER_PROVIDED_SIGNALS_DELIVERED_TYPE = 429,
                        PUBLISHER_PROVIDED_SIGNALS_TOP_LEVEL_EXTERNAL_CODE = 415,
                        PUBLISHER_PROVIDED_SIGNALS_TOP_LEVEL_ID = 416,
                        PUBLISHER_PROVIDED_SIGNALS_TOP_LEVEL_NAME = 417,
                        PUBLISHER_PROVIDED_SIGNALS_TOP_LEVEL_TIER = 418,
                        PUBLISHER_PROVIDED_SIGNALS_TOP_LEVEL_TYPE = 419,
                        PUBLISHER_PROVIDED_SIGNAL_DATA_PROVIDER_ID = 136,
                        PUBLISHER_PROVIDED_SIGNAL_DATA_PROVIDER_NAME = 137,
                        REGION_ID = 457,
                        REGION_NAME = 458,
                        REJECTION_CLASS_CATEGORY = 590,
                        REJECTION_CLASS_CATEGORY_NAME = 591,
                        RENDERED_CREATIVE_SIZE = 343,
                        REQUESTED_AD_SIZES = 352,
                        REQUEST_TYPE = 146,
                        REQUEST_TYPE_NAME = 147,
                        REVENUE_VERIFICATION_ID = 645,
                        SERVER_SIDE_UNWRAPPING_ELIGIBLE = 597,
                        SERVING_RESTRICTION = 631,
                        SERVING_RESTRICTION_NAME = 632,
                        SITE = 387,
                        TARGETING_ID = 232,
                        TARGETING_NAME = 233,
                        TARGETING_TYPE = 385,
                        TARGETING_TYPE_NAME = 386,
                        THIRD_PARTY_ID_STATUS = 402,
                        THIRD_PARTY_ID_STATUS_NAME = 403,
                        TOPICS_STATUS = 504,
                        TOPICS_STATUS_NAME = 505,
                        TOP_PRIVATE_DOMAIN = 444,
                        TRAFFIC_SOURCE = 388,
                        TRAFFIC_SOURCE_NAME = 389,
                        UNIFIED_PRICING_RULE_ID = 393,
                        UNIFIED_PRICING_RULE_NAME = 394,
                        URL = 506,
                        URL_ID = 507,
                        USER_MESSAGES_CHOICE = 702,
                        USER_MESSAGES_CHOICE_NAME = 703,
                        USER_MESSAGES_ENTITLEMENT_SOURCE = 635,
                        USER_MESSAGES_ENTITLEMENT_SOURCE_NAME = 636,
                        USER_MESSAGES_OPERATING_SYSTEM_CRITERIA_ID = 637,
                        USER_MESSAGES_OPERATING_SYSTEM_CRITERIA_NAME = 638,
                        VAST_VERSION = 554,
                        VAST_VERSION_NAME = 555,
                        VIDEO_AD_BREAK_TYPE = 556,
                        VIDEO_AD_BREAK_TYPE_NAME = 557,
                        VIDEO_AD_DURATION = 450,
                        VIDEO_AD_FORMATS_RULE = 561,
                        VIDEO_AD_FORMATS_RULE_ID = 560,
                        VIDEO_AD_REQUEST_DURATION = 558,
                        VIDEO_AD_REQUEST_DURATION_MIDPOINT_NAME = 751,
                        VIDEO_AD_REQUEST_DURATION_NAME = 559,
                        VIDEO_AD_REQUEST_SOURCE = 438,
                        VIDEO_AD_REQUEST_SOURCE_NAME = 439,
                        VIDEO_AD_TYPE = 432,
                        VIDEO_AD_TYPE_NAME = 433,
                        VIDEO_CONTINUOUS_PLAY_TYPE = 721,
                        VIDEO_CONTINUOUS_PLAY_TYPE_NAME = 722,
                        VIDEO_FALLBACK_POSITION = 530,
                        VIDEO_LIVE_STREAM_EVENT_AD_BREAK_DURATION = 547,
                        VIDEO_LIVE_STREAM_EVENT_AD_BREAK_ID = 548,
                        VIDEO_LIVE_STREAM_EVENT_AD_BREAK_NAME = 549,
                        VIDEO_LIVE_STREAM_EVENT_AD_BREAK_TIME = 550,
                        VIDEO_LIVE_STREAM_EVENT_ID = 551,
                        VIDEO_LIVE_STREAM_EVENT_NAME = 552,
                        VIDEO_MEASUREMENT_SOURCE = 601,
                        VIDEO_MEASUREMENT_SOURCE_NAME = 602,
                        VIDEO_PLCMT = 172,
                        VIDEO_PLCMT_NAME = 173,
                        VIDEO_POSITION_IN_POD = 538,
                        VIDEO_POSITION_OF_POD = 539,
                        VIDEO_SDK_VERSION = 440,
                        VIDEO_SDK_VERSION_NAME = 441,
                        VIDEO_STITCHER_TYPE = 752,
                        VIDEO_STITCHER_TYPE_NAME = 753,
                        WEB_PROPERTY_CODE = 730,
                        WEEK = 5,
                        YIELD_GROUP_BUYER_NAME = 184,
                        YIELD_GROUP_BUYER_TAG_NAME = 627,
                        YIELD_GROUP_ID = 182,
                        YIELD_GROUP_NAME = 183,
                        YOUTUBE_AD_DURATION_BUCKET = 430,
                        YOUTUBE_AD_DURATION_BUCKET_NAME = 431,
                        YOUTUBE_AD_TYPE = 399,
                        YOUTUBE_AD_TYPE_NAME = 400,
                        LINE_ITEM_CUSTOM_FIELD_0_OPTION_ID = 10000,
                        LINE_ITEM_CUSTOM_FIELD_1_OPTION_ID = 10001,
                        LINE_ITEM_CUSTOM_FIELD_2_OPTION_ID = 10002,
                        LINE_ITEM_CUSTOM_FIELD_3_OPTION_ID = 10003,
                        LINE_ITEM_CUSTOM_FIELD_4_OPTION_ID = 10004,
                        LINE_ITEM_CUSTOM_FIELD_5_OPTION_ID = 10005,
                        LINE_ITEM_CUSTOM_FIELD_6_OPTION_ID = 10006,
                        LINE_ITEM_CUSTOM_FIELD_7_OPTION_ID = 10007,
                        LINE_ITEM_CUSTOM_FIELD_8_OPTION_ID = 10008,
                        LINE_ITEM_CUSTOM_FIELD_9_OPTION_ID = 10009,
                        LINE_ITEM_CUSTOM_FIELD_10_OPTION_ID = 10010,
                        LINE_ITEM_CUSTOM_FIELD_11_OPTION_ID = 10011,
                        LINE_ITEM_CUSTOM_FIELD_12_OPTION_ID = 10012,
                        LINE_ITEM_CUSTOM_FIELD_13_OPTION_ID = 10013,
                        LINE_ITEM_CUSTOM_FIELD_14_OPTION_ID = 10014,
                        LINE_ITEM_CUSTOM_FIELD_0_VALUE = 11000,
                        LINE_ITEM_CUSTOM_FIELD_1_VALUE = 11001,
                        LINE_ITEM_CUSTOM_FIELD_2_VALUE = 11002,
                        LINE_ITEM_CUSTOM_FIELD_3_VALUE = 11003,
                        LINE_ITEM_CUSTOM_FIELD_4_VALUE = 11004,
                        LINE_ITEM_CUSTOM_FIELD_5_VALUE = 11005,
                        LINE_ITEM_CUSTOM_FIELD_6_VALUE = 11006,
                        LINE_ITEM_CUSTOM_FIELD_7_VALUE = 11007,
                        LINE_ITEM_CUSTOM_FIELD_8_VALUE = 11008,
                        LINE_ITEM_CUSTOM_FIELD_9_VALUE = 11009,
                        LINE_ITEM_CUSTOM_FIELD_10_VALUE = 11010,
                        LINE_ITEM_CUSTOM_FIELD_11_VALUE = 11011,
                        LINE_ITEM_CUSTOM_FIELD_12_VALUE = 11012,
                        LINE_ITEM_CUSTOM_FIELD_13_VALUE = 11013,
                        LINE_ITEM_CUSTOM_FIELD_14_VALUE = 11014,
                        ORDER_CUSTOM_FIELD_0_OPTION_ID = 12000,
                        ORDER_CUSTOM_FIELD_1_OPTION_ID = 12001,
                        ORDER_CUSTOM_FIELD_2_OPTION_ID = 12002,
                        ORDER_CUSTOM_FIELD_3_OPTION_ID = 12003,
                        ORDER_CUSTOM_FIELD_4_OPTION_ID = 12004,
                        ORDER_CUSTOM_FIELD_5_OPTION_ID = 12005,
                        ORDER_CUSTOM_FIELD_6_OPTION_ID = 12006,
                        ORDER_CUSTOM_FIELD_7_OPTION_ID = 12007,
                        ORDER_CUSTOM_FIELD_8_OPTION_ID = 12008,
                        ORDER_CUSTOM_FIELD_9_OPTION_ID = 12009,
                        ORDER_CUSTOM_FIELD_10_OPTION_ID = 12010,
                        ORDER_CUSTOM_FIELD_11_OPTION_ID = 12011,
                        ORDER_CUSTOM_FIELD_12_OPTION_ID = 12012,
                        ORDER_CUSTOM_FIELD_13_OPTION_ID = 12013,
                        ORDER_CUSTOM_FIELD_14_OPTION_ID = 12014,
                        ORDER_CUSTOM_FIELD_0_VALUE = 13000,
                        ORDER_CUSTOM_FIELD_1_VALUE = 13001,
                        ORDER_CUSTOM_FIELD_2_VALUE = 13002,
                        ORDER_CUSTOM_FIELD_3_VALUE = 13003,
                        ORDER_CUSTOM_FIELD_4_VALUE = 13004,
                        ORDER_CUSTOM_FIELD_5_VALUE = 13005,
                        ORDER_CUSTOM_FIELD_6_VALUE = 13006,
                        ORDER_CUSTOM_FIELD_7_VALUE = 13007,
                        ORDER_CUSTOM_FIELD_8_VALUE = 13008,
                        ORDER_CUSTOM_FIELD_9_VALUE = 13009,
                        ORDER_CUSTOM_FIELD_10_VALUE = 13010,
                        ORDER_CUSTOM_FIELD_11_VALUE = 13011,
                        ORDER_CUSTOM_FIELD_12_VALUE = 13012,
                        ORDER_CUSTOM_FIELD_13_VALUE = 13013,
                        ORDER_CUSTOM_FIELD_14_VALUE = 13014,
                        CREATIVE_CUSTOM_FIELD_0_OPTION_ID = 14000,
                        CREATIVE_CUSTOM_FIELD_1_OPTION_ID = 14001,
                        CREATIVE_CUSTOM_FIELD_2_OPTION_ID = 14002,
                        CREATIVE_CUSTOM_FIELD_3_OPTION_ID = 14003,
                        CREATIVE_CUSTOM_FIELD_4_OPTION_ID = 14004,
                        CREATIVE_CUSTOM_FIELD_5_OPTION_ID = 14005,
                        CREATIVE_CUSTOM_FIELD_6_OPTION_ID = 14006,
                        CREATIVE_CUSTOM_FIELD_7_OPTION_ID = 14007,
                        CREATIVE_CUSTOM_FIELD_8_OPTION_ID = 14008,
                        CREATIVE_CUSTOM_FIELD_9_OPTION_ID = 14009,
                        CREATIVE_CUSTOM_FIELD_10_OPTION_ID = 14010,
                        CREATIVE_CUSTOM_FIELD_11_OPTION_ID = 14011,
                        CREATIVE_CUSTOM_FIELD_12_OPTION_ID = 14012,
                        CREATIVE_CUSTOM_FIELD_13_OPTION_ID = 14013,
                        CREATIVE_CUSTOM_FIELD_14_OPTION_ID = 14014,
                        CREATIVE_CUSTOM_FIELD_0_VALUE = 15000,
                        CREATIVE_CUSTOM_FIELD_1_VALUE = 15001,
                        CREATIVE_CUSTOM_FIELD_2_VALUE = 15002,
                        CREATIVE_CUSTOM_FIELD_3_VALUE = 15003,
                        CREATIVE_CUSTOM_FIELD_4_VALUE = 15004,
                        CREATIVE_CUSTOM_FIELD_5_VALUE = 15005,
                        CREATIVE_CUSTOM_FIELD_6_VALUE = 15006,
                        CREATIVE_CUSTOM_FIELD_7_VALUE = 15007,
                        CREATIVE_CUSTOM_FIELD_8_VALUE = 15008,
                        CREATIVE_CUSTOM_FIELD_9_VALUE = 15009,
                        CREATIVE_CUSTOM_FIELD_10_VALUE = 15010,
                        CREATIVE_CUSTOM_FIELD_11_VALUE = 15011,
                        CREATIVE_CUSTOM_FIELD_12_VALUE = 15012,
                        CREATIVE_CUSTOM_FIELD_13_VALUE = 15013,
                        CREATIVE_CUSTOM_FIELD_14_VALUE = 15014,
                        BACKFILL_LINE_ITEM_CUSTOM_FIELD_0_OPTION_ID = 16000,
                        BACKFILL_LINE_ITEM_CUSTOM_FIELD_1_OPTION_ID = 16001,
                        BACKFILL_LINE_ITEM_CUSTOM_FIELD_2_OPTION_ID = 16002,
                        BACKFILL_LINE_ITEM_CUSTOM_FIELD_3_OPTION_ID = 16003,
                        BACKFILL_LINE_ITEM_CUSTOM_FIELD_4_OPTION_ID = 16004,
                        BACKFILL_LINE_ITEM_CUSTOM_FIELD_5_OPTION_ID = 16005,
                        BACKFILL_LINE_ITEM_CUSTOM_FIELD_6_OPTION_ID = 16006,
                        BACKFILL_LINE_ITEM_CUSTOM_FIELD_7_OPTION_ID = 16007,
                        BACKFILL_LINE_ITEM_CUSTOM_FIELD_8_OPTION_ID = 16008,
                        BACKFILL_LINE_ITEM_CUSTOM_FIELD_9_OPTION_ID = 16009,
                        BACKFILL_LINE_ITEM_CUSTOM_FIELD_10_OPTION_ID = 16010,
                        BACKFILL_LINE_ITEM_CUSTOM_FIELD_11_OPTION_ID = 16011,
                        BACKFILL_LINE_ITEM_CUSTOM_FIELD_12_OPTION_ID = 16012,
                        BACKFILL_LINE_ITEM_CUSTOM_FIELD_13_OPTION_ID = 16013,
                        BACKFILL_LINE_ITEM_CUSTOM_FIELD_14_OPTION_ID = 16014,
                        BACKFILL_LINE_ITEM_CUSTOM_FIELD_0_VALUE = 17000,
                        BACKFILL_LINE_ITEM_CUSTOM_FIELD_1_VALUE = 17001,
                        BACKFILL_LINE_ITEM_CUSTOM_FIELD_2_VALUE = 17002,
                        BACKFILL_LINE_ITEM_CUSTOM_FIELD_3_VALUE = 17003,
                        BACKFILL_LINE_ITEM_CUSTOM_FIELD_4_VALUE = 17004,
                        BACKFILL_LINE_ITEM_CUSTOM_FIELD_5_VALUE = 17005,
                        BACKFILL_LINE_ITEM_CUSTOM_FIELD_6_VALUE = 17006,
                        BACKFILL_LINE_ITEM_CUSTOM_FIELD_7_VALUE = 17007,
                        BACKFILL_LINE_ITEM_CUSTOM_FIELD_8_VALUE = 17008,
                        BACKFILL_LINE_ITEM_CUSTOM_FIELD_9_VALUE = 17009,
                        BACKFILL_LINE_ITEM_CUSTOM_FIELD_10_VALUE = 17010,
                        BACKFILL_LINE_ITEM_CUSTOM_FIELD_11_VALUE = 17011,
                        BACKFILL_LINE_ITEM_CUSTOM_FIELD_12_VALUE = 17012,
                        BACKFILL_LINE_ITEM_CUSTOM_FIELD_13_VALUE = 17013,
                        BACKFILL_LINE_ITEM_CUSTOM_FIELD_14_VALUE = 17014,
                        BACKFILL_ORDER_CUSTOM_FIELD_0_OPTION_ID = 18000,
                        BACKFILL_ORDER_CUSTOM_FIELD_1_OPTION_ID = 18001,
                        BACKFILL_ORDER_CUSTOM_FIELD_2_OPTION_ID = 18002,
                        BACKFILL_ORDER_CUSTOM_FIELD_3_OPTION_ID = 18003,
                        BACKFILL_ORDER_CUSTOM_FIELD_4_OPTION_ID = 18004,
                        BACKFILL_ORDER_CUSTOM_FIELD_5_OPTION_ID = 18005,
                        BACKFILL_ORDER_CUSTOM_FIELD_6_OPTION_ID = 18006,
                        BACKFILL_ORDER_CUSTOM_FIELD_7_OPTION_ID = 18007,
                        BACKFILL_ORDER_CUSTOM_FIELD_8_OPTION_ID = 18008,
                        BACKFILL_ORDER_CUSTOM_FIELD_9_OPTION_ID = 18009,
                        BACKFILL_ORDER_CUSTOM_FIELD_10_OPTION_ID = 18010,
                        BACKFILL_ORDER_CUSTOM_FIELD_11_OPTION_ID = 18011,
                        BACKFILL_ORDER_CUSTOM_FIELD_12_OPTION_ID = 18012,
                        BACKFILL_ORDER_CUSTOM_FIELD_13_OPTION_ID = 18013,
                        BACKFILL_ORDER_CUSTOM_FIELD_14_OPTION_ID = 18014,
                        BACKFILL_ORDER_CUSTOM_FIELD_0_VALUE = 19000,
                        BACKFILL_ORDER_CUSTOM_FIELD_1_VALUE = 19001,
                        BACKFILL_ORDER_CUSTOM_FIELD_2_VALUE = 19002,
                        BACKFILL_ORDER_CUSTOM_FIELD_3_VALUE = 19003,
                        BACKFILL_ORDER_CUSTOM_FIELD_4_VALUE = 19004,
                        BACKFILL_ORDER_CUSTOM_FIELD_5_VALUE = 19005,
                        BACKFILL_ORDER_CUSTOM_FIELD_6_VALUE = 19006,
                        BACKFILL_ORDER_CUSTOM_FIELD_7_VALUE = 19007,
                        BACKFILL_ORDER_CUSTOM_FIELD_8_VALUE = 19008,
                        BACKFILL_ORDER_CUSTOM_FIELD_9_VALUE = 19009,
                        BACKFILL_ORDER_CUSTOM_FIELD_10_VALUE = 19010,
                        BACKFILL_ORDER_CUSTOM_FIELD_11_VALUE = 19011,
                        BACKFILL_ORDER_CUSTOM_FIELD_12_VALUE = 19012,
                        BACKFILL_ORDER_CUSTOM_FIELD_13_VALUE = 19013,
                        BACKFILL_ORDER_CUSTOM_FIELD_14_VALUE = 19014,
                        BACKFILL_CREATIVE_CUSTOM_FIELD_0_OPTION_ID = 20000,
                        BACKFILL_CREATIVE_CUSTOM_FIELD_1_OPTION_ID = 20001,
                        BACKFILL_CREATIVE_CUSTOM_FIELD_2_OPTION_ID = 20002,
                        BACKFILL_CREATIVE_CUSTOM_FIELD_3_OPTION_ID = 20003,
                        BACKFILL_CREATIVE_CUSTOM_FIELD_4_OPTION_ID = 20004,
                        BACKFILL_CREATIVE_CUSTOM_FIELD_5_OPTION_ID = 20005,
                        BACKFILL_CREATIVE_CUSTOM_FIELD_6_OPTION_ID = 20006,
                        BACKFILL_CREATIVE_CUSTOM_FIELD_7_OPTION_ID = 20007,
                        BACKFILL_CREATIVE_CUSTOM_FIELD_8_OPTION_ID = 20008,
                        BACKFILL_CREATIVE_CUSTOM_FIELD_9_OPTION_ID = 20009,
                        BACKFILL_CREATIVE_CUSTOM_FIELD_10_OPTION_ID = 20010,
                        BACKFILL_CREATIVE_CUSTOM_FIELD_11_OPTION_ID = 20011,
                        BACKFILL_CREATIVE_CUSTOM_FIELD_12_OPTION_ID = 20012,
                        BACKFILL_CREATIVE_CUSTOM_FIELD_13_OPTION_ID = 20013,
                        BACKFILL_CREATIVE_CUSTOM_FIELD_14_OPTION_ID = 20014,
                        BACKFILL_CREATIVE_CUSTOM_FIELD_0_VALUE = 21000,
                        BACKFILL_CREATIVE_CUSTOM_FIELD_1_VALUE = 21001,
                        BACKFILL_CREATIVE_CUSTOM_FIELD_2_VALUE = 21002,
                        BACKFILL_CREATIVE_CUSTOM_FIELD_3_VALUE = 21003,
                        BACKFILL_CREATIVE_CUSTOM_FIELD_4_VALUE = 21004,
                        BACKFILL_CREATIVE_CUSTOM_FIELD_5_VALUE = 21005,
                        BACKFILL_CREATIVE_CUSTOM_FIELD_6_VALUE = 21006,
                        BACKFILL_CREATIVE_CUSTOM_FIELD_7_VALUE = 21007,
                        BACKFILL_CREATIVE_CUSTOM_FIELD_8_VALUE = 21008,
                        BACKFILL_CREATIVE_CUSTOM_FIELD_9_VALUE = 21009,
                        BACKFILL_CREATIVE_CUSTOM_FIELD_10_VALUE = 21010,
                        BACKFILL_CREATIVE_CUSTOM_FIELD_11_VALUE = 21011,
                        BACKFILL_CREATIVE_CUSTOM_FIELD_12_VALUE = 21012,
                        BACKFILL_CREATIVE_CUSTOM_FIELD_13_VALUE = 21013,
                        BACKFILL_CREATIVE_CUSTOM_FIELD_14_VALUE = 21014,
                        CUSTOM_DIMENSION_0_VALUE_ID = 100000,
                        CUSTOM_DIMENSION_1_VALUE_ID = 100001,
                        CUSTOM_DIMENSION_2_VALUE_ID = 100002,
                        CUSTOM_DIMENSION_3_VALUE_ID = 100003,
                        CUSTOM_DIMENSION_4_VALUE_ID = 100004,
                        CUSTOM_DIMENSION_5_VALUE_ID = 100005,
                        CUSTOM_DIMENSION_6_VALUE_ID = 100006,
                        CUSTOM_DIMENSION_7_VALUE_ID = 100007,
                        CUSTOM_DIMENSION_8_VALUE_ID = 100008,
                        CUSTOM_DIMENSION_9_VALUE_ID = 100009,
                        CUSTOM_DIMENSION_0_VALUE = 101000,
                        CUSTOM_DIMENSION_1_VALUE = 101001,
                        CUSTOM_DIMENSION_2_VALUE = 101002,
                        CUSTOM_DIMENSION_3_VALUE = 101003,
                        CUSTOM_DIMENSION_4_VALUE = 101004,
                        CUSTOM_DIMENSION_5_VALUE = 101005,
                        CUSTOM_DIMENSION_6_VALUE = 101006,
                        CUSTOM_DIMENSION_7_VALUE = 101007,
                        CUSTOM_DIMENSION_8_VALUE = 101008,
                        CUSTOM_DIMENSION_9_VALUE = 101009
                    }

                    /** Metric enum. */
                    enum Metric {
                        METRIC_UNSPECIFIED = 0,
                        ACTIVE_USERS = 223,
                        ACTIVE_VIEW_AUDIBLE_AT_START_PERCENT = 445,
                        ACTIVE_VIEW_AUDIBLE_IMPRESSIONS = 659,
                        ACTIVE_VIEW_AUDIBLE_THROUGH_COMPLETION_PERCENT = 446,
                        ACTIVE_VIEW_AUDIBLE_THROUGH_FIRST_QUARTILE_PERCENT = 447,
                        ACTIVE_VIEW_AUDIBLE_THROUGH_MIDPOINT_PERCENT = 448,
                        ACTIVE_VIEW_AUDIBLE_THROUGH_THIRD_QUARTILE_PERCENT = 449,
                        ACTIVE_VIEW_AUDIO_ENABLED_IMPRESSIONS = 660,
                        ACTIVE_VIEW_AUDIO_MEASURABLE_IMPRESSIONS = 661,
                        ACTIVE_VIEW_AVERAGE_VIEWABLE_TIME = 61,
                        ACTIVE_VIEW_ELIGIBLE_IMPRESSIONS = 58,
                        ACTIVE_VIEW_EVER_AUDIBLE_BACKGROUNDED_PERCENT = 450,
                        ACTIVE_VIEW_EVER_AUDIBLE_PERCENT = 451,
                        ACTIVE_VIEW_EVER_BACKGROUNDED_PERCENT = 452,
                        ACTIVE_VIEW_EVER_MUTED_PERCENT = 453,
                        ACTIVE_VIEW_IMPRESSIONS_AUDIBLE_AND_VISIBLIE_AT_COMPLETION = 411,
                        ACTIVE_VIEW_MEASURABLE_IMPRESSIONS = 57,
                        ACTIVE_VIEW_MEASURABLE_IMPRESSIONS_RATE = 60,
                        ACTIVE_VIEW_NON_MEASURABLE_IMPRESSIONS = 662,
                        ACTIVE_VIEW_NON_VIEWABLE_IMPRESSIONS = 663,
                        ACTIVE_VIEW_NON_VIEWABLE_IMPRESSIONS_DISTRIBUTION = 664,
                        ACTIVE_VIEW_PERCENT_AUDIBLE_IMPRESSIONS = 665,
                        ACTIVE_VIEW_PLUS_MEASURABLE_COUNT = 454,
                        ACTIVE_VIEW_REVENUE = 414,
                        ACTIVE_VIEW_UNDETERMINED_IMPRESSIONS_DISTRIBUTION = 666,
                        ACTIVE_VIEW_VIEWABLE_IMPRESSIONS = 56,
                        ACTIVE_VIEW_VIEWABLE_IMPRESSIONS_DISTRIBUTION = 667,
                        ACTIVE_VIEW_VIEWABLE_IMPRESSIONS_RATE = 59,
                        ADSENSE_ACTIVE_VIEW_AVERAGE_VIEWABLE_TIME = 73,
                        ADSENSE_ACTIVE_VIEW_ELIGIBLE_IMPRESSIONS = 70,
                        ADSENSE_ACTIVE_VIEW_MEASURABLE_IMPRESSIONS = 69,
                        ADSENSE_ACTIVE_VIEW_MEASURABLE_IMPRESSIONS_RATE = 72,
                        ADSENSE_ACTIVE_VIEW_NON_MEASURABLE_IMPRESSIONS = 642,
                        ADSENSE_ACTIVE_VIEW_NON_VIEWABLE_IMPRESSIONS = 643,
                        ADSENSE_ACTIVE_VIEW_NON_VIEWABLE_IMPRESSIONS_DISTRIBUTION = 644,
                        ADSENSE_ACTIVE_VIEW_UNDETERMINED_IMPRESSIONS_DISTRIBUTION = 645,
                        ADSENSE_ACTIVE_VIEW_VIEWABLE_IMPRESSIONS = 68,
                        ADSENSE_ACTIVE_VIEW_VIEWABLE_IMPRESSIONS_DISTRIBUTION = 646,
                        ADSENSE_ACTIVE_VIEW_VIEWABLE_IMPRESSIONS_RATE = 71,
                        ADSENSE_AVERAGE_ECPM = 26,
                        ADSENSE_CLICKS = 23,
                        ADSENSE_CTR = 24,
                        ADSENSE_IMPRESSIONS = 22,
                        ADSENSE_PERCENT_CLICKS = 28,
                        ADSENSE_PERCENT_IMPRESSIONS = 27,
                        ADSENSE_PERCENT_REVENUE = 29,
                        ADSENSE_PERCENT_REVENUE_WITHOUT_CPD = 30,
                        ADSENSE_RESPONSES_SERVED = 41,
                        ADSENSE_REVENUE = 25,
                        AD_EXCHANGE_ACTIVE_VIEW_AVERAGE_VIEWABLE_TIME = 79,
                        AD_EXCHANGE_ACTIVE_VIEW_ELIGIBLE_IMPRESSIONS = 76,
                        AD_EXCHANGE_ACTIVE_VIEW_MEASURABLE_IMPRESSIONS = 75,
                        AD_EXCHANGE_ACTIVE_VIEW_MEASURABLE_IMPRESSIONS_RATE = 78,
                        AD_EXCHANGE_ACTIVE_VIEW_NON_MEASURABLE_IMPRESSIONS = 654,
                        AD_EXCHANGE_ACTIVE_VIEW_NON_VIEWABLE_IMPRESSIONS = 655,
                        AD_EXCHANGE_ACTIVE_VIEW_NON_VIEWABLE_IMPRESSIONS_DISTRIBUTION = 656,
                        AD_EXCHANGE_ACTIVE_VIEW_UNDETERMINED_IMPRESSIONS_DISTRIBUTION = 657,
                        AD_EXCHANGE_ACTIVE_VIEW_VIEWABLE_IMPRESSIONS = 74,
                        AD_EXCHANGE_ACTIVE_VIEW_VIEWABLE_IMPRESSIONS_DISTRIBUTION = 658,
                        AD_EXCHANGE_ACTIVE_VIEW_VIEWABLE_IMPRESSIONS_RATE = 77,
                        AD_EXCHANGE_AVERAGE_ECPM = 18,
                        AD_EXCHANGE_CLICKS = 15,
                        AD_EXCHANGE_CPC = 244,
                        AD_EXCHANGE_CTR = 16,
                        AD_EXCHANGE_DELIVERY_RATE = 245,
                        AD_EXCHANGE_IMPRESSIONS = 14,
                        AD_EXCHANGE_IMPRESSIONS_PER_AD_VIEWER = 427,
                        AD_EXCHANGE_IMPRESSIONS_PER_SESSION = 428,
                        AD_EXCHANGE_LIFT = 246,
                        AD_EXCHANGE_MATCHED_REQUEST_CTR = 247,
                        AD_EXCHANGE_MATCHED_REQUEST_ECPM = 248,
                        AD_EXCHANGE_MATCH_RATE = 249,
                        AD_EXCHANGE_OPPORTUNITIES_FROM_ERRORS = 250,
                        AD_EXCHANGE_OPPORTUNITIES_FROM_IMPRESSIONS = 251,
                        AD_EXCHANGE_PERCENT_CLICKS = 20,
                        AD_EXCHANGE_PERCENT_IMPRESSIONS = 19,
                        AD_EXCHANGE_PERCENT_REVENUE = 21,
                        AD_EXCHANGE_PERCENT_REVENUE_WITHOUT_CPD = 31,
                        AD_EXCHANGE_PLUS_YIELD_GROUP_ECPM = 252,
                        AD_EXCHANGE_PLUS_YIELD_GROUP_IMPRESSIONS = 253,
                        AD_EXCHANGE_PLUS_YIELD_GROUP_REVENUE = 254,
                        AD_EXCHANGE_RESPONSES_SERVED = 42,
                        AD_EXCHANGE_REVENUE = 17,
                        AD_EXCHANGE_REVENUE_PAID_THROUGH_MCM_AUTOPAYMENT = 212,
                        AD_EXCHANGE_REVENUE_PER_AD_VIEWER = 429,
                        AD_EXCHANGE_TOTAL_REQUESTS = 255,
                        AD_EXCHANGE_TOTAL_REQUEST_CTR = 256,
                        AD_EXCHANGE_TOTAL_REQUEST_ECPM = 257,
                        AD_EXPOSURE_SECONDS = 241,
                        AD_REQUESTS = 38,
                        AD_SERVER_ACTIVE_VIEW_AVERAGE_VIEWABLE_TIME = 67,
                        AD_SERVER_ACTIVE_VIEW_ELIGIBLE_IMPRESSIONS = 64,
                        AD_SERVER_ACTIVE_VIEW_MEASURABLE_IMPRESSIONS = 63,
                        AD_SERVER_ACTIVE_VIEW_MEASURABLE_IMPRESSIONS_RATE = 66,
                        AD_SERVER_ACTIVE_VIEW_NON_MEASURABLE_IMPRESSIONS = 332,
                        AD_SERVER_ACTIVE_VIEW_NON_VIEWABLE_IMPRESSIONS = 331,
                        AD_SERVER_ACTIVE_VIEW_NON_VIEWABLE_IMPRESSIONS_DISTRIBUTION = 334,
                        AD_SERVER_ACTIVE_VIEW_UNDETERMINED_IMPRESSIONS_DISTRIBUTION = 335,
                        AD_SERVER_ACTIVE_VIEW_VIEWABLE_IMPRESSIONS = 62,
                        AD_SERVER_ACTIVE_VIEW_VIEWABLE_IMPRESSIONS_DISTRIBUTION = 333,
                        AD_SERVER_ACTIVE_VIEW_VIEWABLE_IMPRESSIONS_RATE = 65,
                        AD_SERVER_AVERAGE_ECPM = 34,
                        AD_SERVER_AVERAGE_ECPM_WITHOUT_CPD = 10,
                        AD_SERVER_BEGIN_TO_RENDER_IMPRESSIONS = 262,
                        AD_SERVER_CLICKS = 7,
                        AD_SERVER_COMPLETED_VIEWS = 431,
                        AD_SERVER_COVIEWED_IMPRESSIONS = 554,
                        AD_SERVER_CPD_REVENUE = 32,
                        AD_SERVER_CTR = 8,
                        AD_SERVER_GROSS_REVENUE = 483,
                        AD_SERVER_GROSS_REVENUE_WITHOUT_CPD = 484,
                        AD_SERVER_IMPRESSIONS = 6,
                        AD_SERVER_IMPRESSIONS_WITH_COMPANION = 222,
                        AD_SERVER_INACTIVE_BEGIN_TO_RENDER_IMPRESSIONS = 338,
                        AD_SERVER_OPPORTUNITIES_FROM_ERRORS = 461,
                        AD_SERVER_OPPORTUNITIES_FROM_IMPRESSIONS = 462,
                        AD_SERVER_PERCENT_CLICKS = 12,
                        AD_SERVER_PERCENT_IMPRESSIONS = 11,
                        AD_SERVER_PERCENT_REVENUE = 35,
                        AD_SERVER_PERCENT_REVENUE_WITHOUT_CPD = 13,
                        AD_SERVER_RESPONSES_SERVED = 40,
                        AD_SERVER_REVENUE = 33,
                        AD_SERVER_REVENUE_PAID_THROUGH_MCM_AUTOPAYMENT = 213,
                        AD_SERVER_REVENUE_WITHOUT_CPD = 9,
                        AD_SERVER_TARGETED_CLICKS = 274,
                        AD_SERVER_TARGETED_IMPRESSIONS = 275,
                        AD_SERVER_TRACKED_ADS = 264,
                        AD_SERVER_UNFILTERED_BEGIN_TO_RENDER_IMPRESSIONS = 261,
                        AD_SERVER_UNFILTERED_CLICKS = 259,
                        AD_SERVER_UNFILTERED_DOWNLOADED_IMPRESSIONS = 260,
                        AD_SERVER_UNFILTERED_IMPRESSIONS = 260,
                        AD_SERVER_UNFILTERED_TRACKED_ADS = 263,
                        AD_UNIT_EXPOSURE_SECONDS = 242,
                        AD_VIEWERS = 425,
                        ATN_ADS_FAILED_TO_RENDER = 430,
                        ATN_ELIGIBLE_LINE_ITEMS = 342,
                        ATN_ELIGIBLE_LINE_ITEMS_AD_REQUESTS = 343,
                        ATN_HBT_ALLOWED_AD_REQUESTS = 344,
                        ATN_HBT_BIDS_IN_AUCTION = 345,
                        ATN_HBT_BIDS_IN_AUCTION_AD_REQUESTS = 346,
                        ATN_HBT_CANDIDATE_BIDS = 347,
                        ATN_HBT_INVALID_AD_REQUESTS = 348,
                        ATN_HBT_NO_BIDS_AD_REQUESTS = 472,
                        ATN_HBT_REJECTED_BIDS = 349,
                        ATN_HBT_VALID_AD_REQUESTS = 350,
                        ATN_HBT_WITH_BIDS_AD_REQUESTS = 473,
                        ATN_INVALID_AD_REQUESTS = 351,
                        ATN_LINE_ITEMS_CREATIVE_NOT_RETRIEVED = 476,
                        ATN_LINE_ITEMS_IN_AUCTION = 352,
                        ATN_LINE_ITEMS_NOT_COMPETING = 515,
                        ATN_LINE_ITEMS_NOT_SELECTED = 353,
                        ATN_LINE_ITEM_IN_AUCTION_AD_REQUESTS = 354,
                        ATN_LINE_ITEM_TARGETED_AD_REQUESTS = 355,
                        ATN_MEDIATION_ALLOWED_AD_REQUESTS = 356,
                        ATN_MEDIATION_INVALID_AD_REQUESTS = 357,
                        ATN_MEDIATION_LOADED_ADS_FROM_CHAINS = 358,
                        ATN_MEDIATION_NO_PARTNER_AD_REQUESTS = 474,
                        ATN_MEDIATION_PARTNERS_IN_AUCTION = 359,
                        ATN_MEDIATION_PARTNERS_IN_AUCTION_AD_REQUESTS = 360,
                        ATN_MEDIATION_REJECTED_PARTNERS = 361,
                        ATN_MEDIATION_TARGETED_PARTNERS = 362,
                        ATN_MEDIATION_TOTAL_YIELD_PARTNERS = 442,
                        ATN_MEDIATION_UNLOADED_ADS_FROM_CHAINS = 363,
                        ATN_MEDIATION_UNUSED_BIDS_OR_PARTNERS = 364,
                        ATN_MEDIATION_VALID_AD_REQUESTS = 365,
                        ATN_MEDIATION_WITH_PARTNERS_AD_REQUESTS = 475,
                        ATN_PROGRAMMATIC_AD_REQUESTS_WITH_BIDS = 366,
                        ATN_PROGRAMMATIC_AD_REQUESTS_WITH_BID_REQUESTS_SENT = 367,
                        ATN_PROGRAMMATIC_ALLOWED_AD_REQUESTS = 368,
                        ATN_PROGRAMMATIC_BIDS_IN_AUCTION = 369,
                        ATN_PROGRAMMATIC_BID_IN_AUCTION_AD_REQUESTS = 370,
                        ATN_PROGRAMMATIC_BID_REQUESTS_SENT = 371,
                        ATN_PROGRAMMATIC_BID_REQUESTS_WITH_RESPONSE = 372,
                        ATN_PROGRAMMATIC_BID_REQUEST_CANDIDATES = 373,
                        ATN_PROGRAMMATIC_BID_REQUEST_ERRORS = 374,
                        ATN_PROGRAMMATIC_INELIGIBLE_AD_REQUESTS = 375,
                        ATN_PROGRAMMATIC_REJECTED_BIDS = 376,
                        ATN_PROGRAMMATIC_SKIPPED_BID_REQUESTS = 377,
                        ATN_PROGRAMMATIC_TOTAL_BIDS = 378,
                        ATN_PROGRAMMATIC_VALID_AD_REQUESTS = 379,
                        ATN_REJECTED_LINE_ITEMS = 380,
                        ATN_SERVED_MEDIATION_CHAINS = 381,
                        ATN_SERVED_SINGLE_ADS = 382,
                        ATN_TARGETED_LINE_ITEMS = 383,
                        ATN_TOTAL_AD_REQUESTS = 384,
                        ATN_TOTAL_COMPETING_ADS_IN_AUCTION = 385,
                        ATN_TOTAL_LOADED_ADS = 387,
                        ATN_VALID_AD_REQUESTS = 389,
                        ATN_YIELD_GROUP_MEDIATION_PASSBACKS = 390,
                        AUDIENCE_SEGMENT_COST = 558,
                        AVERAGE_ECPM = 37,
                        AVERAGE_ECPM_WITHOUT_CPD = 5,
                        AVERAGE_ENGAGEMENT_SECONDS_PER_SESSION = 224,
                        AVERAGE_ENGAGEMENT_SECONDS_PER_USER = 225,
                        AVERAGE_IMPRESSIONS_PER_UNIQUE_VISITOR = 418,
                        AVERAGE_PURCHASE_REVENUE_PER_PAYING_USER = 226,
                        AVERAGE_REVENUE_PER_USER = 227,
                        AVERAGE_SESSION_SECONDS = 228,
                        BIDS = 443,
                        BID_AVERAGE_CPM = 444,
                        BOUNCE_RATE = 433,
                        CLICKS = 2,
                        CODE_SERVED_COUNT = 44,
                        CPC_REVENUE = 440,
                        CPM_REVENUE = 441,
                        CREATIVE_LOAD_TIME_0_500_PERCENT = 324,
                        CREATIVE_LOAD_TIME_1000_2000_PERCENT = 326,
                        CREATIVE_LOAD_TIME_2000_4000_PERCENT = 327,
                        CREATIVE_LOAD_TIME_4000_8000_PERCENT = 328,
                        CREATIVE_LOAD_TIME_500_1000_PERCENT = 325,
                        CREATIVE_LOAD_TIME_GT_8000_PERCENT = 329,
                        CTR = 3,
                        DEALS_BIDS = 542,
                        DEALS_BID_RATE = 543,
                        DEALS_BID_REQUESTS = 544,
                        DEALS_WINNING_BIDS = 545,
                        DEALS_WIN_RATE = 546,
                        DOM_LOAD_TO_FIRST_AD_REQUEST_0_500_PERCENT = 521,
                        DOM_LOAD_TO_FIRST_AD_REQUEST_1000_2000_PERCENT = 522,
                        DOM_LOAD_TO_FIRST_AD_REQUEST_2000_4000_PERCENT = 523,
                        DOM_LOAD_TO_FIRST_AD_REQUEST_4000_8000_PERCENT = 524,
                        DOM_LOAD_TO_FIRST_AD_REQUEST_500_1000_PERCENT = 525,
                        DOM_LOAD_TO_FIRST_AD_REQUEST_GT_8000_PERCENT = 520,
                        DOM_LOAD_TO_TAG_LOAD_TIME_0_500_PERCENT = 526,
                        DOM_LOAD_TO_TAG_LOAD_TIME_1000_2000_PERCENT = 527,
                        DOM_LOAD_TO_TAG_LOAD_TIME_2000_4000_PERCENT = 528,
                        DOM_LOAD_TO_TAG_LOAD_TIME_4000_8000_PERCENT = 529,
                        DOM_LOAD_TO_TAG_LOAD_TIME_500_1000_PERCENT = 531,
                        DOM_LOAD_TO_TAG_LOAD_TIME_GT_8000_PERCENT = 530,
                        DROPOFF_RATE = 415,
                        ENGAGED_SESSIONS = 229,
                        ENGAGED_SESSIONS_PER_USER = 230,
                        ENGAGEMENT_RATE = 426,
                        EUROPEAN_REGULATIONS_CONSENT_RATE = 270,
                        EUROPEAN_REGULATIONS_CUSTOM_CONSENT_RATE = 271,
                        EUROPEAN_REGULATIONS_MESSAGES_SHOWN = 272,
                        EUROPEAN_REGULATIONS_NO_CONSENT_RATE = 273,
                        FILL_RATE = 258,
                        GOOGLE_ANALYTICS_CLICKS = 231,
                        GOOGLE_ANALYTICS_CTR = 232,
                        GOOGLE_ANALYTICS_ECPM = 233,
                        GOOGLE_ANALYTICS_IMPRESSIONS = 234,
                        GOOGLE_ANALYTICS_REVENUE = 235,
                        GOOGLE_ANALYTICS_VIEWS = 236,
                        GOOGLE_ANALYTICS_VIEWS_PER_USER = 237,
                        GOOGLE_SOLD_AUCTION_COVIEWED_IMPRESSIONS = 129,
                        GOOGLE_SOLD_AUCTION_IMPRESSIONS = 128,
                        GOOGLE_SOLD_COVIEWED_IMPRESSIONS = 131,
                        GOOGLE_SOLD_IMPRESSIONS = 130,
                        GOOGLE_SOLD_RESERVATION_COVIEWED_IMPRESSIONS = 127,
                        GOOGLE_SOLD_RESERVATION_IMPRESSIONS = 126,
                        IMPRESSIONS = 1,
                        INACTIVE_BEGIN_TO_RENDER_IMPRESSIONS = 407,
                        INVENTORY_SHARES = 547,
                        INVENTORY_SHARE_PARTNER_UNFILLED_OPPORTUNITIES = 548,
                        INVOICED_IMPRESSIONS = 404,
                        INVOICED_UNFILLED_IMPRESSIONS = 405,
                        MEDIATION_CHAINS_FILLED = 584,
                        MUTED_IMPRESSIONS = 412,
                        MUTE_ELIGIBLE_IMPRESSIONS = 409,
                        OPPORTUNITIES = 463,
                        OVERDELIVERED_IMPRESSIONS = 432,
                        PARTNER_FINANCE_GROSS_REVENUE = 648,
                        PARTNER_FINANCE_HOST_ECPM = 649,
                        PARTNER_FINANCE_HOST_IMPRESSIONS = 650,
                        PARTNER_FINANCE_HOST_REVENUE = 651,
                        PARTNER_FINANCE_PARTNER_ECPM = 652,
                        PARTNER_FINANCE_PARTNER_REVENUE = 653,
                        PARTNER_MANAGEMENT_GROSS_REVENUE = 533,
                        PARTNER_MANAGEMENT_HOST_CLICKS = 534,
                        PARTNER_MANAGEMENT_HOST_CTR = 535,
                        PARTNER_MANAGEMENT_HOST_IMPRESSIONS = 536,
                        PARTNER_MANAGEMENT_PARTNER_CLICKS = 537,
                        PARTNER_MANAGEMENT_PARTNER_CTR = 538,
                        PARTNER_MANAGEMENT_PARTNER_IMPRESSIONS = 539,
                        PARTNER_MANAGEMENT_TOTAL_CONTENT_VIEWS = 540,
                        PARTNER_MANAGEMENT_UNFILLED_IMPRESSIONS = 541,
                        PARTNER_SALES_FILLED_POD_REQUESTS = 135,
                        PARTNER_SALES_FILL_RATE = 136,
                        PARTNER_SALES_PARTNER_MATCH_RATE = 137,
                        PARTNER_SALES_QUERIES = 132,
                        PARTNER_SALES_UNFILLED_IMPRESSIONS = 133,
                        PARTNER_SALES_UNMATCHED_QUERIES = 134,
                        PARTNER_SOLD_CODE_SERVED = 125,
                        PARTNER_SOLD_COVIEWED_IMPRESSIONS = 124,
                        PARTNER_SOLD_IMPRESSIONS = 123,
                        PROGRAMMATIC_ELIGIBLE_AD_REQUESTS = 177,
                        PROGRAMMATIC_MATCH_RATE = 178,
                        PROGRAMMATIC_RESPONSES_SERVED = 176,
                        REACH_IMPRESSIONS = 416,
                        RESPONSES_SERVED = 39,
                        RETENTION = 238,
                        REVENUE = 36,
                        REVENUE_PAID_THROUGH_MCM_AUTOPAYMENT = 214,
                        REVENUE_VERIFICATION_CPD_REVENUE = 560,
                        REVENUE_VERIFICATION_GROSS_CPD_REVENUE = 559,
                        REVENUE_VERIFICATION_GROSS_REVENUE_WITHOUT_CPD = 561,
                        REVENUE_VERIFICATION_IMPRESSIONS = 564,
                        REVENUE_VERIFICATION_REVENUE_WITHOUT_CPD = 567,
                        REVENUE_WITHOUT_CPD = 4,
                        REWARDS_GRANTED = 413,
                        RICH_MEDIA_AVERAGE_DISPLAY_TIME = 587,
                        RICH_MEDIA_AVERAGE_INTERACTION_TIME = 588,
                        RICH_MEDIA_BACKUP_IMAGES = 589,
                        RICH_MEDIA_CUSTOM_EVENT_COUNT = 599,
                        RICH_MEDIA_CUSTOM_EVENT_TIME = 600,
                        RICH_MEDIA_DISPLAY_TIME = 590,
                        RICH_MEDIA_EXPANDING_TIME = 591,
                        RICH_MEDIA_EXPANSIONS = 592,
                        RICH_MEDIA_FULL_SCREEN_IMPRESSIONS = 593,
                        RICH_MEDIA_INTERACTION_COUNT = 594,
                        RICH_MEDIA_INTERACTION_RATE = 595,
                        RICH_MEDIA_INTERACTION_TIME = 596,
                        RICH_MEDIA_INTERACTIVE_IMPRESSIONS = 597,
                        RICH_MEDIA_MANUAL_CLOSES = 598,
                        RICH_MEDIA_VIDEO_COMPLETES = 503,
                        RICH_MEDIA_VIDEO_INTERACTIONS = 505,
                        RICH_MEDIA_VIDEO_INTERACTION_RATE = 504,
                        RICH_MEDIA_VIDEO_MIDPOINTS = 506,
                        RICH_MEDIA_VIDEO_MUTES = 507,
                        RICH_MEDIA_VIDEO_PAUSES = 508,
                        RICH_MEDIA_VIDEO_PLAYS = 509,
                        RICH_MEDIA_VIDEO_REPLAYS = 510,
                        RICH_MEDIA_VIDEO_STOPS = 511,
                        RICH_MEDIA_VIDEO_UNMUTES = 512,
                        RICH_MEDIA_VIDEO_VIEW_RATE = 513,
                        RICH_MEDIA_VIDEO_VIEW_TIME = 514,
                        SELL_THROUGH_AVAILABLE_IMPRESSIONS = 477,
                        SELL_THROUGH_FORECASTED_IMPRESSIONS = 478,
                        SELL_THROUGH_RESERVED_IMPRESSIONS = 479,
                        SELL_THROUGH_SELL_THROUGH_RATE = 480,
                        SERVER_SIDE_UNWRAPPING_AVERAGE_LATENCY_MS = 434,
                        SERVER_SIDE_UNWRAPPING_CALLOUTS = 435,
                        SERVER_SIDE_UNWRAPPING_EMPTY_RESPONSES = 436,
                        SERVER_SIDE_UNWRAPPING_ERROR_RESPONSES = 437,
                        SERVER_SIDE_UNWRAPPING_SUCCESSFUL_RESPONSES = 438,
                        SERVER_SIDE_UNWRAPPING_TIMEOUTS = 439,
                        SESSIONS = 239,
                        TAG_LOAD_TO_FIRST_AD_REQUEST_0_500_PERCENT = 455,
                        TAG_LOAD_TO_FIRST_AD_REQUEST_1000_2000_PERCENT = 457,
                        TAG_LOAD_TO_FIRST_AD_REQUEST_2000_4000_PERCENT = 458,
                        TAG_LOAD_TO_FIRST_AD_REQUEST_4000_8000_PERCENT = 459,
                        TAG_LOAD_TO_FIRST_AD_REQUEST_500_1000_PERCENT = 456,
                        TAG_LOAD_TO_FIRST_AD_REQUEST_GT_8000_PERCENT = 460,
                        TARGETED_CLICKS = 276,
                        TARGETED_IMPRESSIONS = 277,
                        UNFILLED_IMPRESSIONS = 45,
                        UNIQUE_VISITORS = 417,
                        UNLOADED_IMPRESSIONS_DUE_TO_CPU = 408,
                        UNLOADED_IMPRESSIONS_DUE_TO_NETWORK = 406,
                        UNMATCHED_AD_REQUESTS = 43,
                        UNVIEWED_REASON_OTHER_PERCENT = 550,
                        UNVIEWED_REASON_SLOT_NEVER_ENTERED_VIEWPORT_PERCENT = 553,
                        UNVIEWED_REASON_USER_SCROLLED_BEFORE_AD_FILLED_PERCENT = 551,
                        UNVIEWED_REASON_USER_SCROLLED_BEFORE_AD_LOADED_PERCENT = 552,
                        UNVIEWED_REASON_USER_SCROLLED_BEFORE_ONE_SECOND_PERCENT = 549,
                        USER_ENGAGEMENT_DURATION_IN_SECONDS = 240,
                        USER_MESSAGES_AD_BLOCKING_EXTENSION_RATE = 486,
                        USER_MESSAGES_AD_BLOCKING_RECOVERY_ALLOWLISTED_COUNT = 487,
                        USER_MESSAGES_AD_BLOCKING_RECOVERY_MESSAGES_SHOWN = 488,
                        USER_MESSAGES_ALLOW_ADS_PAGEVIEWS = 489,
                        USER_MESSAGES_IDFA_ATT_ALERTS_SHOWN = 491,
                        USER_MESSAGES_IDFA_ATT_CONSENT = 492,
                        USER_MESSAGES_IDFA_ATT_CONSENT_RATE = 493,
                        USER_MESSAGES_IDFA_ATT_DECLINE_CONSENT = 494,
                        USER_MESSAGES_IDFA_ATT_DECLINE_RATE = 495,
                        USER_MESSAGES_IDFA_EXPLAINERS_SHOWN = 496,
                        USER_MESSAGES_IDFA_IAB_MESSAGES_SHOWN = 497,
                        USER_MESSAGES_IDFA_NO_DECISION = 498,
                        USER_MESSAGES_OFFERWALL_MESSAGES_SHOWN = 121,
                        USER_MESSAGES_OFFERWALL_SUCCESSFUL_ENGAGEMENTS = 122,
                        USER_MESSAGES_POST_OFFERWALL_PAGEVIEWS = 499,
                        USER_MESSAGES_TOTAL_ESTIMATED_REVENUE = 500,
                        USER_MESSAGES_UPTC_MESSAGES_SHOWN = 501,
                        USER_MESSAGES_UPTC_PERSONALIZATION_OPT_OUT_RATIO = 502,
                        USER_MESSAGES_US_STATES_MESSAGES_SHOWN = 490,
                        USER_MESSAGES_US_STATES_OPT_OUT_SELECTIONS = 586,
                        VIDEO_ERROR_100_COUNT = 180,
                        VIDEO_ERROR_101_COUNT = 181,
                        VIDEO_ERROR_102_COUNT = 182,
                        VIDEO_ERROR_200_COUNT = 183,
                        VIDEO_ERROR_201_COUNT = 184,
                        VIDEO_ERROR_202_COUNT = 185,
                        VIDEO_ERROR_203_COUNT = 186,
                        VIDEO_ERROR_300_COUNT = 187,
                        VIDEO_ERROR_301_COUNT = 188,
                        VIDEO_ERROR_302_COUNT = 189,
                        VIDEO_ERROR_303_COUNT = 190,
                        VIDEO_ERROR_400_COUNT = 191,
                        VIDEO_ERROR_401_COUNT = 192,
                        VIDEO_ERROR_402_COUNT = 193,
                        VIDEO_ERROR_403_COUNT = 194,
                        VIDEO_ERROR_405_COUNT = 195,
                        VIDEO_ERROR_406_COUNT = 196,
                        VIDEO_ERROR_407_COUNT = 197,
                        VIDEO_ERROR_408_COUNT = 198,
                        VIDEO_ERROR_409_COUNT = 199,
                        VIDEO_ERROR_410_COUNT = 200,
                        VIDEO_ERROR_500_COUNT = 201,
                        VIDEO_ERROR_501_COUNT = 202,
                        VIDEO_ERROR_502_COUNT = 203,
                        VIDEO_ERROR_503_COUNT = 204,
                        VIDEO_ERROR_600_COUNT = 205,
                        VIDEO_ERROR_601_COUNT = 206,
                        VIDEO_ERROR_602_COUNT = 207,
                        VIDEO_ERROR_603_COUNT = 208,
                        VIDEO_ERROR_604_COUNT = 209,
                        VIDEO_ERROR_900_COUNT = 210,
                        VIDEO_ERROR_901_COUNT = 211,
                        VIDEO_INTERACTION_AVERAGE_INTERACTION_RATE = 92,
                        VIDEO_INTERACTION_COLLAPSES = 93,
                        VIDEO_INTERACTION_EXPANDS = 95,
                        VIDEO_INTERACTION_FULL_SCREENS = 96,
                        VIDEO_INTERACTION_MUTES = 97,
                        VIDEO_INTERACTION_PAUSES = 98,
                        VIDEO_INTERACTION_RESUMES = 99,
                        VIDEO_INTERACTION_REWINDS = 100,
                        VIDEO_INTERACTION_UNMUTES = 101,
                        VIDEO_INTERACTION_VIDEO_SKIPS = 102,
                        VIDEO_MONETIZABLE_CONTENT_VIEWS = 601,
                        VIDEO_REAL_TIME_CREATIVE_SERVES = 139,
                        VIDEO_REAL_TIME_ERROR_100_COUNT = 143,
                        VIDEO_REAL_TIME_ERROR_101_COUNT = 144,
                        VIDEO_REAL_TIME_ERROR_102_COUNT = 145,
                        VIDEO_REAL_TIME_ERROR_200_COUNT = 146,
                        VIDEO_REAL_TIME_ERROR_201_COUNT = 147,
                        VIDEO_REAL_TIME_ERROR_202_COUNT = 148,
                        VIDEO_REAL_TIME_ERROR_203_COUNT = 149,
                        VIDEO_REAL_TIME_ERROR_300_COUNT = 150,
                        VIDEO_REAL_TIME_ERROR_301_COUNT = 151,
                        VIDEO_REAL_TIME_ERROR_302_COUNT = 152,
                        VIDEO_REAL_TIME_ERROR_303_COUNT = 153,
                        VIDEO_REAL_TIME_ERROR_400_COUNT = 154,
                        VIDEO_REAL_TIME_ERROR_401_COUNT = 155,
                        VIDEO_REAL_TIME_ERROR_402_COUNT = 156,
                        VIDEO_REAL_TIME_ERROR_403_COUNT = 157,
                        VIDEO_REAL_TIME_ERROR_405_COUNT = 158,
                        VIDEO_REAL_TIME_ERROR_406_COUNT = 159,
                        VIDEO_REAL_TIME_ERROR_407_COUNT = 160,
                        VIDEO_REAL_TIME_ERROR_408_COUNT = 161,
                        VIDEO_REAL_TIME_ERROR_409_COUNT = 162,
                        VIDEO_REAL_TIME_ERROR_410_COUNT = 163,
                        VIDEO_REAL_TIME_ERROR_500_COUNT = 164,
                        VIDEO_REAL_TIME_ERROR_501_COUNT = 165,
                        VIDEO_REAL_TIME_ERROR_502_COUNT = 166,
                        VIDEO_REAL_TIME_ERROR_503_COUNT = 167,
                        VIDEO_REAL_TIME_ERROR_600_COUNT = 168,
                        VIDEO_REAL_TIME_ERROR_601_COUNT = 169,
                        VIDEO_REAL_TIME_ERROR_602_COUNT = 170,
                        VIDEO_REAL_TIME_ERROR_603_COUNT = 171,
                        VIDEO_REAL_TIME_ERROR_604_COUNT = 172,
                        VIDEO_REAL_TIME_ERROR_900_COUNT = 173,
                        VIDEO_REAL_TIME_ERROR_901_COUNT = 174,
                        VIDEO_REAL_TIME_IMPRESSIONS = 138,
                        VIDEO_REAL_TIME_MATCHED_QUERIES = 140,
                        VIDEO_REAL_TIME_TOTAL_ERROR_COUNT = 175,
                        VIDEO_REAL_TIME_TOTAL_QUERIES = 142,
                        VIDEO_REAL_TIME_UNMATCHED_QUERIES = 141,
                        VIDEO_TRUE_OPPORTUNITIES_TOTAL_BREAK_END = 279,
                        VIDEO_TRUE_OPPORTUNITIES_TOTAL_BREAK_START = 280,
                        VIDEO_TRUE_OPPORTUNITIES_TOTAL_CAPPED_OPPORTUNITIES_ADBREAK = 281,
                        VIDEO_TRUE_OPPORTUNITIES_TOTAL_DURATION_ADBREAK = 283,
                        VIDEO_TRUE_OPPORTUNITIES_TOTAL_MATCHED_DURATION_ADBREAK = 285,
                        VIDEO_TRUE_OPPORTUNITIES_TOTAL_MATCHED_OPPORTUNITIES_ADBREAK = 287,
                        VIDEO_TRUE_OPPORTUNITIES_TOTAL_VIEWED_OPPORTUNITIES_ADBREAK = 289,
                        VIDEO_TRUE_VIEWS = 392,
                        VIDEO_TRUE_VIEW_SKIP_RATE = 393,
                        VIDEO_TRUE_VIEW_VIEW_THROUGH_RATE = 394,
                        VIDEO_VIEWERSHIP_AUTO_PLAYS = 103,
                        VIDEO_VIEWERSHIP_AVERAGE_VIEW_RATE = 104,
                        VIDEO_VIEWERSHIP_AVERAGE_VIEW_TIME = 105,
                        VIDEO_VIEWERSHIP_CLICK_TO_PLAYS = 106,
                        VIDEO_VIEWERSHIP_COMPLETES = 107,
                        VIDEO_VIEWERSHIP_COMPLETION_RATE = 108,
                        VIDEO_VIEWERSHIP_ENGAGED_VIEWS = 109,
                        VIDEO_VIEWERSHIP_FIRST_QUARTILES = 110,
                        VIDEO_VIEWERSHIP_MIDPOINTS = 111,
                        VIDEO_VIEWERSHIP_SKIP_BUTTONS_SHOWN = 112,
                        VIDEO_VIEWERSHIP_STARTS = 113,
                        VIDEO_VIEWERSHIP_THIRD_QUARTILES = 114,
                        VIDEO_VIEWERSHIP_TOTAL_ERROR_COUNT = 115,
                        VIDEO_VIEWERSHIP_TOTAL_ERROR_RATE = 94,
                        VIDEO_VIEWERSHIP_VIDEO_LENGTH = 116,
                        VIDEO_VIEWERSHIP_VIEW_THROUGH_RATE = 117,
                        YIELD_GROUP_AUCTIONS_WON = 80,
                        YIELD_GROUP_BIDS = 81,
                        YIELD_GROUP_BIDS_IN_AUCTION = 82,
                        YIELD_GROUP_CALLOUTS = 83,
                        YIELD_GROUP_ESTIMATED_CPM = 88,
                        YIELD_GROUP_ESTIMATED_REVENUE = 87,
                        YIELD_GROUP_IMPRESSIONS = 85,
                        YIELD_GROUP_MEDIATION_FILL_RATE = 89,
                        YIELD_GROUP_MEDIATION_MATCHED_QUERIES = 86,
                        YIELD_GROUP_MEDIATION_PASSBACKS = 118,
                        YIELD_GROUP_MEDIATION_THIRD_PARTY_ECPM = 90,
                        YIELD_GROUP_REVENUE_PAID_THROUGH_MCM_AUTOPAYMENT = 215,
                        YIELD_GROUP_SUCCESSFUL_RESPONSES = 84
                    }

                    /** TimePeriodColumn enum. */
                    enum TimePeriodColumn {
                        TIME_PERIOD_COLUMN_UNSPECIFIED = 0,
                        TIME_PERIOD_COLUMN_DATE = 1,
                        TIME_PERIOD_COLUMN_WEEK = 2,
                        TIME_PERIOD_COLUMN_MONTH = 3,
                        TIME_PERIOD_COLUMN_QUARTER = 4
                    }

                    /** MetricValueType enum. */
                    enum MetricValueType {
                        PRIMARY = 0,
                        PRIMARY_PERCENT_OF_TOTAL = 1,
                        COMPARISON = 2,
                        COMPARISON_PERCENT_OF_TOTAL = 3,
                        ABSOLUTE_CHANGE = 4,
                        RELATIVE_CHANGE = 5
                    }

                    /** TimeZoneSource enum. */
                    enum TimeZoneSource {
                        TIME_ZONE_SOURCE_UNSPECIFIED = 0,
                        PUBLISHER = 1,
                        AD_EXCHANGE = 2,
                        UTC = 3,
                        PROVIDED = 4
                    }
                }

                /** Properties of a ReportValue. */
                interface IReportValue {

                    /** ReportValue intValue */
                    intValue?: (number|Long|string|null);

                    /** ReportValue doubleValue */
                    doubleValue?: (number|null);

                    /** ReportValue stringValue */
                    stringValue?: (string|null);

                    /** ReportValue boolValue */
                    boolValue?: (boolean|null);

                    /** ReportValue intListValue */
                    intListValue?: (google.ads.admanager.v1.ReportValue.IIntList|null);

                    /** ReportValue stringListValue */
                    stringListValue?: (google.ads.admanager.v1.ReportValue.IStringList|null);

                    /** ReportValue doubleListValue */
                    doubleListValue?: (google.ads.admanager.v1.ReportValue.IDoubleList|null);

                    /** ReportValue bytesValue */
                    bytesValue?: (Uint8Array|Buffer|string|null);
                }

                /** Represents a ReportValue. */
                class ReportValue implements IReportValue {

                    /**
                     * Constructs a new ReportValue.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IReportValue);

                    /** ReportValue intValue. */
                    public intValue?: (number|Long|string|null);

                    /** ReportValue doubleValue. */
                    public doubleValue?: (number|null);

                    /** ReportValue stringValue. */
                    public stringValue?: (string|null);

                    /** ReportValue boolValue. */
                    public boolValue?: (boolean|null);

                    /** ReportValue intListValue. */
                    public intListValue?: (google.ads.admanager.v1.ReportValue.IIntList|null);

                    /** ReportValue stringListValue. */
                    public stringListValue?: (google.ads.admanager.v1.ReportValue.IStringList|null);

                    /** ReportValue doubleListValue. */
                    public doubleListValue?: (google.ads.admanager.v1.ReportValue.IDoubleList|null);

                    /** ReportValue bytesValue. */
                    public bytesValue?: (Uint8Array|Buffer|string|null);

                    /** ReportValue value. */
                    public value?: ("intValue"|"doubleValue"|"stringValue"|"boolValue"|"intListValue"|"stringListValue"|"doubleListValue"|"bytesValue");

                    /**
                     * Creates a new ReportValue instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns ReportValue instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IReportValue): google.ads.admanager.v1.ReportValue;

                    /**
                     * Encodes the specified ReportValue message. Does not implicitly {@link google.ads.admanager.v1.ReportValue.verify|verify} messages.
                     * @param message ReportValue message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IReportValue, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified ReportValue message, length delimited. Does not implicitly {@link google.ads.admanager.v1.ReportValue.verify|verify} messages.
                     * @param message ReportValue message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IReportValue, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a ReportValue message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns ReportValue
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.ReportValue;

                    /**
                     * Decodes a ReportValue message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns ReportValue
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.ReportValue;

                    /**
                     * Verifies a ReportValue message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a ReportValue message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns ReportValue
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.ReportValue;

                    /**
                     * Creates a plain object from a ReportValue message. Also converts values to other types if specified.
                     * @param message ReportValue
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.ReportValue, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this ReportValue to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for ReportValue
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                namespace ReportValue {

                    /** Properties of an IntList. */
                    interface IIntList {

                        /** IntList values */
                        values?: ((number|Long|string)[]|null);
                    }

                    /** Represents an IntList. */
                    class IntList implements IIntList {

                        /**
                         * Constructs a new IntList.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.ads.admanager.v1.ReportValue.IIntList);

                        /** IntList values. */
                        public values: (number|Long|string)[];

                        /**
                         * Creates a new IntList instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns IntList instance
                         */
                        public static create(properties?: google.ads.admanager.v1.ReportValue.IIntList): google.ads.admanager.v1.ReportValue.IntList;

                        /**
                         * Encodes the specified IntList message. Does not implicitly {@link google.ads.admanager.v1.ReportValue.IntList.verify|verify} messages.
                         * @param message IntList message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.ads.admanager.v1.ReportValue.IIntList, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified IntList message, length delimited. Does not implicitly {@link google.ads.admanager.v1.ReportValue.IntList.verify|verify} messages.
                         * @param message IntList message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.ads.admanager.v1.ReportValue.IIntList, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes an IntList message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns IntList
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.ReportValue.IntList;

                        /**
                         * Decodes an IntList message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns IntList
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.ReportValue.IntList;

                        /**
                         * Verifies an IntList message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates an IntList message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns IntList
                         */
                        public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.ReportValue.IntList;

                        /**
                         * Creates a plain object from an IntList message. Also converts values to other types if specified.
                         * @param message IntList
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.ads.admanager.v1.ReportValue.IntList, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this IntList to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for IntList
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a StringList. */
                    interface IStringList {

                        /** StringList values */
                        values?: (string[]|null);
                    }

                    /** Represents a StringList. */
                    class StringList implements IStringList {

                        /**
                         * Constructs a new StringList.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.ads.admanager.v1.ReportValue.IStringList);

                        /** StringList values. */
                        public values: string[];

                        /**
                         * Creates a new StringList instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns StringList instance
                         */
                        public static create(properties?: google.ads.admanager.v1.ReportValue.IStringList): google.ads.admanager.v1.ReportValue.StringList;

                        /**
                         * Encodes the specified StringList message. Does not implicitly {@link google.ads.admanager.v1.ReportValue.StringList.verify|verify} messages.
                         * @param message StringList message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.ads.admanager.v1.ReportValue.IStringList, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified StringList message, length delimited. Does not implicitly {@link google.ads.admanager.v1.ReportValue.StringList.verify|verify} messages.
                         * @param message StringList message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.ads.admanager.v1.ReportValue.IStringList, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a StringList message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns StringList
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.ReportValue.StringList;

                        /**
                         * Decodes a StringList message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns StringList
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.ReportValue.StringList;

                        /**
                         * Verifies a StringList message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a StringList message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns StringList
                         */
                        public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.ReportValue.StringList;

                        /**
                         * Creates a plain object from a StringList message. Also converts values to other types if specified.
                         * @param message StringList
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.ads.admanager.v1.ReportValue.StringList, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this StringList to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for StringList
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a DoubleList. */
                    interface IDoubleList {

                        /** DoubleList values */
                        values?: (number[]|null);
                    }

                    /** Represents a DoubleList. */
                    class DoubleList implements IDoubleList {

                        /**
                         * Constructs a new DoubleList.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.ads.admanager.v1.ReportValue.IDoubleList);

                        /** DoubleList values. */
                        public values: number[];

                        /**
                         * Creates a new DoubleList instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns DoubleList instance
                         */
                        public static create(properties?: google.ads.admanager.v1.ReportValue.IDoubleList): google.ads.admanager.v1.ReportValue.DoubleList;

                        /**
                         * Encodes the specified DoubleList message. Does not implicitly {@link google.ads.admanager.v1.ReportValue.DoubleList.verify|verify} messages.
                         * @param message DoubleList message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.ads.admanager.v1.ReportValue.IDoubleList, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified DoubleList message, length delimited. Does not implicitly {@link google.ads.admanager.v1.ReportValue.DoubleList.verify|verify} messages.
                         * @param message DoubleList message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.ads.admanager.v1.ReportValue.IDoubleList, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a DoubleList message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns DoubleList
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.ReportValue.DoubleList;

                        /**
                         * Decodes a DoubleList message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns DoubleList
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.ReportValue.DoubleList;

                        /**
                         * Verifies a DoubleList message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a DoubleList message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns DoubleList
                         */
                        public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.ReportValue.DoubleList;

                        /**
                         * Creates a plain object from a DoubleList message. Also converts values to other types if specified.
                         * @param message DoubleList
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.ads.admanager.v1.ReportValue.DoubleList, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this DoubleList to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for DoubleList
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }
                }

                /** Properties of a Report. */
                interface IReport {

                    /** Report name */
                    name?: (string|null);

                    /** Report reportId */
                    reportId?: (number|Long|string|null);

                    /** Report visibility */
                    visibility?: (google.ads.admanager.v1.Report.Visibility|keyof typeof google.ads.admanager.v1.Report.Visibility|null);

                    /** Report reportDefinition */
                    reportDefinition?: (google.ads.admanager.v1.IReportDefinition|null);

                    /** Report displayName */
                    displayName?: (string|null);

                    /** Report updateTime */
                    updateTime?: (google.protobuf.ITimestamp|null);

                    /** Report createTime */
                    createTime?: (google.protobuf.ITimestamp|null);

                    /** Report locale */
                    locale?: (string|null);

                    /** Report scheduleOptions */
                    scheduleOptions?: (google.ads.admanager.v1.IScheduleOptions|null);
                }

                /** Represents a Report. */
                class Report implements IReport {

                    /**
                     * Constructs a new Report.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IReport);

                    /** Report name. */
                    public name: string;

                    /** Report reportId. */
                    public reportId: (number|Long|string);

                    /** Report visibility. */
                    public visibility: (google.ads.admanager.v1.Report.Visibility|keyof typeof google.ads.admanager.v1.Report.Visibility);

                    /** Report reportDefinition. */
                    public reportDefinition?: (google.ads.admanager.v1.IReportDefinition|null);

                    /** Report displayName. */
                    public displayName: string;

                    /** Report updateTime. */
                    public updateTime?: (google.protobuf.ITimestamp|null);

                    /** Report createTime. */
                    public createTime?: (google.protobuf.ITimestamp|null);

                    /** Report locale. */
                    public locale: string;

                    /** Report scheduleOptions. */
                    public scheduleOptions?: (google.ads.admanager.v1.IScheduleOptions|null);

                    /**
                     * Creates a new Report instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns Report instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IReport): google.ads.admanager.v1.Report;

                    /**
                     * Encodes the specified Report message. Does not implicitly {@link google.ads.admanager.v1.Report.verify|verify} messages.
                     * @param message Report message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IReport, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified Report message, length delimited. Does not implicitly {@link google.ads.admanager.v1.Report.verify|verify} messages.
                     * @param message Report message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IReport, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a Report message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns Report
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.Report;

                    /**
                     * Decodes a Report message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns Report
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.Report;

                    /**
                     * Verifies a Report message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a Report message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns Report
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.Report;

                    /**
                     * Creates a plain object from a Report message. Also converts values to other types if specified.
                     * @param message Report
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.Report, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this Report to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for Report
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                namespace Report {

                    /** Visibility enum. */
                    enum Visibility {
                        HIDDEN = 0,
                        DRAFT = 1,
                        SAVED = 2,
                        VISIBLE = 2
                    }
                }

                /** Properties of a ReportDataTable. */
                interface IReportDataTable {
                }

                /** Represents a ReportDataTable. */
                class ReportDataTable implements IReportDataTable {

                    /**
                     * Constructs a new ReportDataTable.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IReportDataTable);

                    /**
                     * Creates a new ReportDataTable instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns ReportDataTable instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IReportDataTable): google.ads.admanager.v1.ReportDataTable;

                    /**
                     * Encodes the specified ReportDataTable message. Does not implicitly {@link google.ads.admanager.v1.ReportDataTable.verify|verify} messages.
                     * @param message ReportDataTable message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IReportDataTable, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified ReportDataTable message, length delimited. Does not implicitly {@link google.ads.admanager.v1.ReportDataTable.verify|verify} messages.
                     * @param message ReportDataTable message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IReportDataTable, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a ReportDataTable message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns ReportDataTable
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.ReportDataTable;

                    /**
                     * Decodes a ReportDataTable message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns ReportDataTable
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.ReportDataTable;

                    /**
                     * Verifies a ReportDataTable message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a ReportDataTable message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns ReportDataTable
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.ReportDataTable;

                    /**
                     * Creates a plain object from a ReportDataTable message. Also converts values to other types if specified.
                     * @param message ReportDataTable
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.ReportDataTable, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this ReportDataTable to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for ReportDataTable
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                namespace ReportDataTable {

                    /** Properties of a Row. */
                    interface IRow {

                        /** Row dimensionValues */
                        dimensionValues?: (google.ads.admanager.v1.IReportValue[]|null);

                        /** Row metricValueGroups */
                        metricValueGroups?: (google.ads.admanager.v1.ReportDataTable.IMetricValueGroup[]|null);
                    }

                    /** Represents a Row. */
                    class Row implements IRow {

                        /**
                         * Constructs a new Row.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.ads.admanager.v1.ReportDataTable.IRow);

                        /** Row dimensionValues. */
                        public dimensionValues: google.ads.admanager.v1.IReportValue[];

                        /** Row metricValueGroups. */
                        public metricValueGroups: google.ads.admanager.v1.ReportDataTable.IMetricValueGroup[];

                        /**
                         * Creates a new Row instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns Row instance
                         */
                        public static create(properties?: google.ads.admanager.v1.ReportDataTable.IRow): google.ads.admanager.v1.ReportDataTable.Row;

                        /**
                         * Encodes the specified Row message. Does not implicitly {@link google.ads.admanager.v1.ReportDataTable.Row.verify|verify} messages.
                         * @param message Row message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.ads.admanager.v1.ReportDataTable.IRow, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified Row message, length delimited. Does not implicitly {@link google.ads.admanager.v1.ReportDataTable.Row.verify|verify} messages.
                         * @param message Row message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.ads.admanager.v1.ReportDataTable.IRow, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a Row message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns Row
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.ReportDataTable.Row;

                        /**
                         * Decodes a Row message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns Row
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.ReportDataTable.Row;

                        /**
                         * Verifies a Row message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a Row message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns Row
                         */
                        public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.ReportDataTable.Row;

                        /**
                         * Creates a plain object from a Row message. Also converts values to other types if specified.
                         * @param message Row
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.ads.admanager.v1.ReportDataTable.Row, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this Row to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for Row
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a MetricValueGroup. */
                    interface IMetricValueGroup {

                        /** MetricValueGroup primaryValues */
                        primaryValues?: (google.ads.admanager.v1.IReportValue[]|null);

                        /** MetricValueGroup primaryPercentOfTotalValues */
                        primaryPercentOfTotalValues?: (google.ads.admanager.v1.IReportValue[]|null);

                        /** MetricValueGroup comparisonValues */
                        comparisonValues?: (google.ads.admanager.v1.IReportValue[]|null);

                        /** MetricValueGroup comparisonPercentOfTotalValues */
                        comparisonPercentOfTotalValues?: (google.ads.admanager.v1.IReportValue[]|null);

                        /** MetricValueGroup absoluteChangeValues */
                        absoluteChangeValues?: (google.ads.admanager.v1.IReportValue[]|null);

                        /** MetricValueGroup relativeChangeValues */
                        relativeChangeValues?: (google.ads.admanager.v1.IReportValue[]|null);

                        /** MetricValueGroup flagValues */
                        flagValues?: (boolean[]|null);
                    }

                    /** Represents a MetricValueGroup. */
                    class MetricValueGroup implements IMetricValueGroup {

                        /**
                         * Constructs a new MetricValueGroup.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.ads.admanager.v1.ReportDataTable.IMetricValueGroup);

                        /** MetricValueGroup primaryValues. */
                        public primaryValues: google.ads.admanager.v1.IReportValue[];

                        /** MetricValueGroup primaryPercentOfTotalValues. */
                        public primaryPercentOfTotalValues: google.ads.admanager.v1.IReportValue[];

                        /** MetricValueGroup comparisonValues. */
                        public comparisonValues: google.ads.admanager.v1.IReportValue[];

                        /** MetricValueGroup comparisonPercentOfTotalValues. */
                        public comparisonPercentOfTotalValues: google.ads.admanager.v1.IReportValue[];

                        /** MetricValueGroup absoluteChangeValues. */
                        public absoluteChangeValues: google.ads.admanager.v1.IReportValue[];

                        /** MetricValueGroup relativeChangeValues. */
                        public relativeChangeValues: google.ads.admanager.v1.IReportValue[];

                        /** MetricValueGroup flagValues. */
                        public flagValues: boolean[];

                        /**
                         * Creates a new MetricValueGroup instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns MetricValueGroup instance
                         */
                        public static create(properties?: google.ads.admanager.v1.ReportDataTable.IMetricValueGroup): google.ads.admanager.v1.ReportDataTable.MetricValueGroup;

                        /**
                         * Encodes the specified MetricValueGroup message. Does not implicitly {@link google.ads.admanager.v1.ReportDataTable.MetricValueGroup.verify|verify} messages.
                         * @param message MetricValueGroup message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.ads.admanager.v1.ReportDataTable.IMetricValueGroup, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified MetricValueGroup message, length delimited. Does not implicitly {@link google.ads.admanager.v1.ReportDataTable.MetricValueGroup.verify|verify} messages.
                         * @param message MetricValueGroup message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.ads.admanager.v1.ReportDataTable.IMetricValueGroup, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a MetricValueGroup message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns MetricValueGroup
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.ReportDataTable.MetricValueGroup;

                        /**
                         * Decodes a MetricValueGroup message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns MetricValueGroup
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.ReportDataTable.MetricValueGroup;

                        /**
                         * Verifies a MetricValueGroup message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a MetricValueGroup message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns MetricValueGroup
                         */
                        public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.ReportDataTable.MetricValueGroup;

                        /**
                         * Creates a plain object from a MetricValueGroup message. Also converts values to other types if specified.
                         * @param message MetricValueGroup
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.ads.admanager.v1.ReportDataTable.MetricValueGroup, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this MetricValueGroup to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for MetricValueGroup
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }
                }

                /** Properties of a ScheduleOptions. */
                interface IScheduleOptions {

                    /** ScheduleOptions schedule */
                    schedule?: (google.ads.admanager.v1.ScheduleOptions.ISchedule|null);

                    /** ScheduleOptions deliveryCondition */
                    deliveryCondition?: (google.ads.admanager.v1.ScheduleOptions.DeliveryCondition|keyof typeof google.ads.admanager.v1.ScheduleOptions.DeliveryCondition|null);

                    /** ScheduleOptions flags */
                    flags?: (google.ads.admanager.v1.ReportDefinition.IFlag[]|null);
                }

                /** Represents a ScheduleOptions. */
                class ScheduleOptions implements IScheduleOptions {

                    /**
                     * Constructs a new ScheduleOptions.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IScheduleOptions);

                    /** ScheduleOptions schedule. */
                    public schedule?: (google.ads.admanager.v1.ScheduleOptions.ISchedule|null);

                    /** ScheduleOptions deliveryCondition. */
                    public deliveryCondition: (google.ads.admanager.v1.ScheduleOptions.DeliveryCondition|keyof typeof google.ads.admanager.v1.ScheduleOptions.DeliveryCondition);

                    /** ScheduleOptions flags. */
                    public flags: google.ads.admanager.v1.ReportDefinition.IFlag[];

                    /**
                     * Creates a new ScheduleOptions instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns ScheduleOptions instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IScheduleOptions): google.ads.admanager.v1.ScheduleOptions;

                    /**
                     * Encodes the specified ScheduleOptions message. Does not implicitly {@link google.ads.admanager.v1.ScheduleOptions.verify|verify} messages.
                     * @param message ScheduleOptions message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IScheduleOptions, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified ScheduleOptions message, length delimited. Does not implicitly {@link google.ads.admanager.v1.ScheduleOptions.verify|verify} messages.
                     * @param message ScheduleOptions message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IScheduleOptions, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a ScheduleOptions message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns ScheduleOptions
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.ScheduleOptions;

                    /**
                     * Decodes a ScheduleOptions message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns ScheduleOptions
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.ScheduleOptions;

                    /**
                     * Verifies a ScheduleOptions message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a ScheduleOptions message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns ScheduleOptions
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.ScheduleOptions;

                    /**
                     * Creates a plain object from a ScheduleOptions message. Also converts values to other types if specified.
                     * @param message ScheduleOptions
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.ScheduleOptions, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this ScheduleOptions to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for ScheduleOptions
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                namespace ScheduleOptions {

                    /** Properties of a Schedule. */
                    interface ISchedule {

                        /** Schedule weeklySchedule */
                        weeklySchedule?: (google.ads.admanager.v1.ScheduleOptions.Schedule.IWeeklySchedule|null);

                        /** Schedule monthlySchedule */
                        monthlySchedule?: (google.ads.admanager.v1.ScheduleOptions.Schedule.IMonthlySchedule|null);

                        /** Schedule startDate */
                        startDate?: (google.type.IDate|null);

                        /** Schedule endDate */
                        endDate?: (google.type.IDate|null);

                        /** Schedule frequency */
                        frequency?: (google.ads.admanager.v1.ScheduleOptions.Schedule.Frequency|keyof typeof google.ads.admanager.v1.ScheduleOptions.Schedule.Frequency|null);

                        /** Schedule startTime */
                        startTime?: (google.type.ITimeOfDay|null);
                    }

                    /** Represents a Schedule. */
                    class Schedule implements ISchedule {

                        /**
                         * Constructs a new Schedule.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.ads.admanager.v1.ScheduleOptions.ISchedule);

                        /** Schedule weeklySchedule. */
                        public weeklySchedule?: (google.ads.admanager.v1.ScheduleOptions.Schedule.IWeeklySchedule|null);

                        /** Schedule monthlySchedule. */
                        public monthlySchedule?: (google.ads.admanager.v1.ScheduleOptions.Schedule.IMonthlySchedule|null);

                        /** Schedule startDate. */
                        public startDate?: (google.type.IDate|null);

                        /** Schedule endDate. */
                        public endDate?: (google.type.IDate|null);

                        /** Schedule frequency. */
                        public frequency: (google.ads.admanager.v1.ScheduleOptions.Schedule.Frequency|keyof typeof google.ads.admanager.v1.ScheduleOptions.Schedule.Frequency);

                        /** Schedule startTime. */
                        public startTime?: (google.type.ITimeOfDay|null);

                        /** Schedule frequencySchedule. */
                        public frequencySchedule?: ("weeklySchedule"|"monthlySchedule");

                        /**
                         * Creates a new Schedule instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns Schedule instance
                         */
                        public static create(properties?: google.ads.admanager.v1.ScheduleOptions.ISchedule): google.ads.admanager.v1.ScheduleOptions.Schedule;

                        /**
                         * Encodes the specified Schedule message. Does not implicitly {@link google.ads.admanager.v1.ScheduleOptions.Schedule.verify|verify} messages.
                         * @param message Schedule message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.ads.admanager.v1.ScheduleOptions.ISchedule, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified Schedule message, length delimited. Does not implicitly {@link google.ads.admanager.v1.ScheduleOptions.Schedule.verify|verify} messages.
                         * @param message Schedule message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.ads.admanager.v1.ScheduleOptions.ISchedule, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a Schedule message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns Schedule
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.ScheduleOptions.Schedule;

                        /**
                         * Decodes a Schedule message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns Schedule
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.ScheduleOptions.Schedule;

                        /**
                         * Verifies a Schedule message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a Schedule message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns Schedule
                         */
                        public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.ScheduleOptions.Schedule;

                        /**
                         * Creates a plain object from a Schedule message. Also converts values to other types if specified.
                         * @param message Schedule
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.ads.admanager.v1.ScheduleOptions.Schedule, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this Schedule to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for Schedule
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    namespace Schedule {

                        /** Properties of a WeeklySchedule. */
                        interface IWeeklySchedule {

                            /** WeeklySchedule weeklyScheduledDays */
                            weeklyScheduledDays?: (google.type.DayOfWeek[]|null);
                        }

                        /** Represents a WeeklySchedule. */
                        class WeeklySchedule implements IWeeklySchedule {

                            /**
                             * Constructs a new WeeklySchedule.
                             * @param [properties] Properties to set
                             */
                            constructor(properties?: google.ads.admanager.v1.ScheduleOptions.Schedule.IWeeklySchedule);

                            /** WeeklySchedule weeklyScheduledDays. */
                            public weeklyScheduledDays: google.type.DayOfWeek[];

                            /**
                             * Creates a new WeeklySchedule instance using the specified properties.
                             * @param [properties] Properties to set
                             * @returns WeeklySchedule instance
                             */
                            public static create(properties?: google.ads.admanager.v1.ScheduleOptions.Schedule.IWeeklySchedule): google.ads.admanager.v1.ScheduleOptions.Schedule.WeeklySchedule;

                            /**
                             * Encodes the specified WeeklySchedule message. Does not implicitly {@link google.ads.admanager.v1.ScheduleOptions.Schedule.WeeklySchedule.verify|verify} messages.
                             * @param message WeeklySchedule message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encode(message: google.ads.admanager.v1.ScheduleOptions.Schedule.IWeeklySchedule, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Encodes the specified WeeklySchedule message, length delimited. Does not implicitly {@link google.ads.admanager.v1.ScheduleOptions.Schedule.WeeklySchedule.verify|verify} messages.
                             * @param message WeeklySchedule message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encodeDelimited(message: google.ads.admanager.v1.ScheduleOptions.Schedule.IWeeklySchedule, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Decodes a WeeklySchedule message from the specified reader or buffer.
                             * @param reader Reader or buffer to decode from
                             * @param [length] Message length if known beforehand
                             * @returns WeeklySchedule
                             * @throws {Error} If the payload is not a reader or valid buffer
                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
                             */
                            public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.ScheduleOptions.Schedule.WeeklySchedule;

                            /**
                             * Decodes a WeeklySchedule message from the specified reader or buffer, length delimited.
                             * @param reader Reader or buffer to decode from
                             * @returns WeeklySchedule
                             * @throws {Error} If the payload is not a reader or valid buffer
                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
                             */
                            public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.ScheduleOptions.Schedule.WeeklySchedule;

                            /**
                             * Verifies a WeeklySchedule message.
                             * @param message Plain object to verify
                             * @returns `null` if valid, otherwise the reason why it is not
                             */
                            public static verify(message: { [k: string]: any }): (string|null);

                            /**
                             * Creates a WeeklySchedule message from a plain object. Also converts values to their respective internal types.
                             * @param object Plain object
                             * @returns WeeklySchedule
                             */
                            public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.ScheduleOptions.Schedule.WeeklySchedule;

                            /**
                             * Creates a plain object from a WeeklySchedule message. Also converts values to other types if specified.
                             * @param message WeeklySchedule
                             * @param [options] Conversion options
                             * @returns Plain object
                             */
                            public static toObject(message: google.ads.admanager.v1.ScheduleOptions.Schedule.WeeklySchedule, options?: $protobuf.IConversionOptions): { [k: string]: any };

                            /**
                             * Converts this WeeklySchedule to JSON.
                             * @returns JSON object
                             */
                            public toJSON(): { [k: string]: any };

                            /**
                             * Gets the default type url for WeeklySchedule
                             * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                             * @returns The default type url
                             */
                            public static getTypeUrl(typeUrlPrefix?: string): string;
                        }

                        /** Properties of a MonthlySchedule. */
                        interface IMonthlySchedule {

                            /** MonthlySchedule monthlyScheduledDays */
                            monthlyScheduledDays?: (number[]|null);
                        }

                        /** Represents a MonthlySchedule. */
                        class MonthlySchedule implements IMonthlySchedule {

                            /**
                             * Constructs a new MonthlySchedule.
                             * @param [properties] Properties to set
                             */
                            constructor(properties?: google.ads.admanager.v1.ScheduleOptions.Schedule.IMonthlySchedule);

                            /** MonthlySchedule monthlyScheduledDays. */
                            public monthlyScheduledDays: number[];

                            /**
                             * Creates a new MonthlySchedule instance using the specified properties.
                             * @param [properties] Properties to set
                             * @returns MonthlySchedule instance
                             */
                            public static create(properties?: google.ads.admanager.v1.ScheduleOptions.Schedule.IMonthlySchedule): google.ads.admanager.v1.ScheduleOptions.Schedule.MonthlySchedule;

                            /**
                             * Encodes the specified MonthlySchedule message. Does not implicitly {@link google.ads.admanager.v1.ScheduleOptions.Schedule.MonthlySchedule.verify|verify} messages.
                             * @param message MonthlySchedule message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encode(message: google.ads.admanager.v1.ScheduleOptions.Schedule.IMonthlySchedule, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Encodes the specified MonthlySchedule message, length delimited. Does not implicitly {@link google.ads.admanager.v1.ScheduleOptions.Schedule.MonthlySchedule.verify|verify} messages.
                             * @param message MonthlySchedule message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encodeDelimited(message: google.ads.admanager.v1.ScheduleOptions.Schedule.IMonthlySchedule, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Decodes a MonthlySchedule message from the specified reader or buffer.
                             * @param reader Reader or buffer to decode from
                             * @param [length] Message length if known beforehand
                             * @returns MonthlySchedule
                             * @throws {Error} If the payload is not a reader or valid buffer
                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
                             */
                            public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.ScheduleOptions.Schedule.MonthlySchedule;

                            /**
                             * Decodes a MonthlySchedule message from the specified reader or buffer, length delimited.
                             * @param reader Reader or buffer to decode from
                             * @returns MonthlySchedule
                             * @throws {Error} If the payload is not a reader or valid buffer
                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
                             */
                            public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.ScheduleOptions.Schedule.MonthlySchedule;

                            /**
                             * Verifies a MonthlySchedule message.
                             * @param message Plain object to verify
                             * @returns `null` if valid, otherwise the reason why it is not
                             */
                            public static verify(message: { [k: string]: any }): (string|null);

                            /**
                             * Creates a MonthlySchedule message from a plain object. Also converts values to their respective internal types.
                             * @param object Plain object
                             * @returns MonthlySchedule
                             */
                            public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.ScheduleOptions.Schedule.MonthlySchedule;

                            /**
                             * Creates a plain object from a MonthlySchedule message. Also converts values to other types if specified.
                             * @param message MonthlySchedule
                             * @param [options] Conversion options
                             * @returns Plain object
                             */
                            public static toObject(message: google.ads.admanager.v1.ScheduleOptions.Schedule.MonthlySchedule, options?: $protobuf.IConversionOptions): { [k: string]: any };

                            /**
                             * Converts this MonthlySchedule to JSON.
                             * @returns JSON object
                             */
                            public toJSON(): { [k: string]: any };

                            /**
                             * Gets the default type url for MonthlySchedule
                             * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                             * @returns The default type url
                             */
                            public static getTypeUrl(typeUrlPrefix?: string): string;
                        }

                        /** Frequency enum. */
                        enum Frequency {
                            FREQUENCY_UNSPECIFIED = 0,
                            HOURLY = 1,
                            TWO_TIMES_DAILY = 2,
                            THREE_TIMES_DAILY = 3,
                            FOUR_TIMES_DAILY = 4,
                            DAILY = 5,
                            WEEKLY = 6,
                            MONTHLY = 7
                        }
                    }

                    /** DeliveryCondition enum. */
                    enum DeliveryCondition {
                        NEVER = 0,
                        ALWAYS = 1,
                        WHEN_FLAG_CONDITIONS_MET = 2
                    }
                }

                /** Represents a ReportService */
                class ReportService extends $protobuf.rpc.Service {

                    /**
                     * Constructs a new ReportService service.
                     * @param rpcImpl RPC implementation
                     * @param [requestDelimited=false] Whether requests are length-delimited
                     * @param [responseDelimited=false] Whether responses are length-delimited
                     */
                    constructor(rpcImpl: $protobuf.RPCImpl, requestDelimited?: boolean, responseDelimited?: boolean);

                    /**
                     * Creates new ReportService service using the specified rpc implementation.
                     * @param rpcImpl RPC implementation
                     * @param [requestDelimited=false] Whether requests are length-delimited
                     * @param [responseDelimited=false] Whether responses are length-delimited
                     * @returns RPC service. Useful where requests and/or responses are streamed.
                     */
                    public static create(rpcImpl: $protobuf.RPCImpl, requestDelimited?: boolean, responseDelimited?: boolean): ReportService;

                    /**
                     * Calls GetReport.
                     * @param request GetReportRequest message or plain object
                     * @param callback Node-style callback called with the error, if any, and Report
                     */
                    public getReport(request: google.ads.admanager.v1.IGetReportRequest, callback: google.ads.admanager.v1.ReportService.GetReportCallback): void;

                    /**
                     * Calls GetReport.
                     * @param request GetReportRequest message or plain object
                     * @returns Promise
                     */
                    public getReport(request: google.ads.admanager.v1.IGetReportRequest): Promise<google.ads.admanager.v1.Report>;

                    /**
                     * Calls ListReports.
                     * @param request ListReportsRequest message or plain object
                     * @param callback Node-style callback called with the error, if any, and ListReportsResponse
                     */
                    public listReports(request: google.ads.admanager.v1.IListReportsRequest, callback: google.ads.admanager.v1.ReportService.ListReportsCallback): void;

                    /**
                     * Calls ListReports.
                     * @param request ListReportsRequest message or plain object
                     * @returns Promise
                     */
                    public listReports(request: google.ads.admanager.v1.IListReportsRequest): Promise<google.ads.admanager.v1.ListReportsResponse>;

                    /**
                     * Calls CreateReport.
                     * @param request CreateReportRequest message or plain object
                     * @param callback Node-style callback called with the error, if any, and Report
                     */
                    public createReport(request: google.ads.admanager.v1.ICreateReportRequest, callback: google.ads.admanager.v1.ReportService.CreateReportCallback): void;

                    /**
                     * Calls CreateReport.
                     * @param request CreateReportRequest message or plain object
                     * @returns Promise
                     */
                    public createReport(request: google.ads.admanager.v1.ICreateReportRequest): Promise<google.ads.admanager.v1.Report>;

                    /**
                     * Calls UpdateReport.
                     * @param request UpdateReportRequest message or plain object
                     * @param callback Node-style callback called with the error, if any, and Report
                     */
                    public updateReport(request: google.ads.admanager.v1.IUpdateReportRequest, callback: google.ads.admanager.v1.ReportService.UpdateReportCallback): void;

                    /**
                     * Calls UpdateReport.
                     * @param request UpdateReportRequest message or plain object
                     * @returns Promise
                     */
                    public updateReport(request: google.ads.admanager.v1.IUpdateReportRequest): Promise<google.ads.admanager.v1.Report>;

                    /**
                     * Calls RunReport.
                     * @param request RunReportRequest message or plain object
                     * @param callback Node-style callback called with the error, if any, and Operation
                     */
                    public runReport(request: google.ads.admanager.v1.IRunReportRequest, callback: google.ads.admanager.v1.ReportService.RunReportCallback): void;

                    /**
                     * Calls RunReport.
                     * @param request RunReportRequest message or plain object
                     * @returns Promise
                     */
                    public runReport(request: google.ads.admanager.v1.IRunReportRequest): Promise<google.longrunning.Operation>;

                    /**
                     * Calls FetchReportResultRows.
                     * @param request FetchReportResultRowsRequest message or plain object
                     * @param callback Node-style callback called with the error, if any, and FetchReportResultRowsResponse
                     */
                    public fetchReportResultRows(request: google.ads.admanager.v1.IFetchReportResultRowsRequest, callback: google.ads.admanager.v1.ReportService.FetchReportResultRowsCallback): void;

                    /**
                     * Calls FetchReportResultRows.
                     * @param request FetchReportResultRowsRequest message or plain object
                     * @returns Promise
                     */
                    public fetchReportResultRows(request: google.ads.admanager.v1.IFetchReportResultRowsRequest): Promise<google.ads.admanager.v1.FetchReportResultRowsResponse>;
                }

                namespace ReportService {

                    /**
                     * Callback as used by {@link google.ads.admanager.v1.ReportService|getReport}.
                     * @param error Error, if any
                     * @param [response] Report
                     */
                    type GetReportCallback = (error: (Error|null), response?: google.ads.admanager.v1.Report) => void;

                    /**
                     * Callback as used by {@link google.ads.admanager.v1.ReportService|listReports}.
                     * @param error Error, if any
                     * @param [response] ListReportsResponse
                     */
                    type ListReportsCallback = (error: (Error|null), response?: google.ads.admanager.v1.ListReportsResponse) => void;

                    /**
                     * Callback as used by {@link google.ads.admanager.v1.ReportService|createReport}.
                     * @param error Error, if any
                     * @param [response] Report
                     */
                    type CreateReportCallback = (error: (Error|null), response?: google.ads.admanager.v1.Report) => void;

                    /**
                     * Callback as used by {@link google.ads.admanager.v1.ReportService|updateReport}.
                     * @param error Error, if any
                     * @param [response] Report
                     */
                    type UpdateReportCallback = (error: (Error|null), response?: google.ads.admanager.v1.Report) => void;

                    /**
                     * Callback as used by {@link google.ads.admanager.v1.ReportService|runReport}.
                     * @param error Error, if any
                     * @param [response] Operation
                     */
                    type RunReportCallback = (error: (Error|null), response?: google.longrunning.Operation) => void;

                    /**
                     * Callback as used by {@link google.ads.admanager.v1.ReportService|fetchReportResultRows}.
                     * @param error Error, if any
                     * @param [response] FetchReportResultRowsResponse
                     */
                    type FetchReportResultRowsCallback = (error: (Error|null), response?: google.ads.admanager.v1.FetchReportResultRowsResponse) => void;
                }

                /** Properties of a RunReportRequest. */
                interface IRunReportRequest {

                    /** RunReportRequest name */
                    name?: (string|null);
                }

                /** Represents a RunReportRequest. */
                class RunReportRequest implements IRunReportRequest {

                    /**
                     * Constructs a new RunReportRequest.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IRunReportRequest);

                    /** RunReportRequest name. */
                    public name: string;

                    /**
                     * Creates a new RunReportRequest instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns RunReportRequest instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IRunReportRequest): google.ads.admanager.v1.RunReportRequest;

                    /**
                     * Encodes the specified RunReportRequest message. Does not implicitly {@link google.ads.admanager.v1.RunReportRequest.verify|verify} messages.
                     * @param message RunReportRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IRunReportRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified RunReportRequest message, length delimited. Does not implicitly {@link google.ads.admanager.v1.RunReportRequest.verify|verify} messages.
                     * @param message RunReportRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IRunReportRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a RunReportRequest message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns RunReportRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.RunReportRequest;

                    /**
                     * Decodes a RunReportRequest message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns RunReportRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.RunReportRequest;

                    /**
                     * Verifies a RunReportRequest message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a RunReportRequest message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns RunReportRequest
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.RunReportRequest;

                    /**
                     * Creates a plain object from a RunReportRequest message. Also converts values to other types if specified.
                     * @param message RunReportRequest
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.RunReportRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this RunReportRequest to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for RunReportRequest
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a RunReportMetadata. */
                interface IRunReportMetadata {

                    /** RunReportMetadata percentComplete */
                    percentComplete?: (number|null);

                    /** RunReportMetadata report */
                    report?: (string|null);
                }

                /** Represents a RunReportMetadata. */
                class RunReportMetadata implements IRunReportMetadata {

                    /**
                     * Constructs a new RunReportMetadata.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IRunReportMetadata);

                    /** RunReportMetadata percentComplete. */
                    public percentComplete: number;

                    /** RunReportMetadata report. */
                    public report: string;

                    /**
                     * Creates a new RunReportMetadata instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns RunReportMetadata instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IRunReportMetadata): google.ads.admanager.v1.RunReportMetadata;

                    /**
                     * Encodes the specified RunReportMetadata message. Does not implicitly {@link google.ads.admanager.v1.RunReportMetadata.verify|verify} messages.
                     * @param message RunReportMetadata message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IRunReportMetadata, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified RunReportMetadata message, length delimited. Does not implicitly {@link google.ads.admanager.v1.RunReportMetadata.verify|verify} messages.
                     * @param message RunReportMetadata message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IRunReportMetadata, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a RunReportMetadata message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns RunReportMetadata
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.RunReportMetadata;

                    /**
                     * Decodes a RunReportMetadata message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns RunReportMetadata
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.RunReportMetadata;

                    /**
                     * Verifies a RunReportMetadata message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a RunReportMetadata message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns RunReportMetadata
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.RunReportMetadata;

                    /**
                     * Creates a plain object from a RunReportMetadata message. Also converts values to other types if specified.
                     * @param message RunReportMetadata
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.RunReportMetadata, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this RunReportMetadata to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for RunReportMetadata
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a RunReportResponse. */
                interface IRunReportResponse {

                    /** RunReportResponse reportResult */
                    reportResult?: (string|null);
                }

                /** Represents a RunReportResponse. */
                class RunReportResponse implements IRunReportResponse {

                    /**
                     * Constructs a new RunReportResponse.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IRunReportResponse);

                    /** RunReportResponse reportResult. */
                    public reportResult: string;

                    /**
                     * Creates a new RunReportResponse instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns RunReportResponse instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IRunReportResponse): google.ads.admanager.v1.RunReportResponse;

                    /**
                     * Encodes the specified RunReportResponse message. Does not implicitly {@link google.ads.admanager.v1.RunReportResponse.verify|verify} messages.
                     * @param message RunReportResponse message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IRunReportResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified RunReportResponse message, length delimited. Does not implicitly {@link google.ads.admanager.v1.RunReportResponse.verify|verify} messages.
                     * @param message RunReportResponse message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IRunReportResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a RunReportResponse message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns RunReportResponse
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.RunReportResponse;

                    /**
                     * Decodes a RunReportResponse message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns RunReportResponse
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.RunReportResponse;

                    /**
                     * Verifies a RunReportResponse message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a RunReportResponse message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns RunReportResponse
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.RunReportResponse;

                    /**
                     * Creates a plain object from a RunReportResponse message. Also converts values to other types if specified.
                     * @param message RunReportResponse
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.RunReportResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this RunReportResponse to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for RunReportResponse
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a GetReportRequest. */
                interface IGetReportRequest {

                    /** GetReportRequest name */
                    name?: (string|null);
                }

                /** Represents a GetReportRequest. */
                class GetReportRequest implements IGetReportRequest {

                    /**
                     * Constructs a new GetReportRequest.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IGetReportRequest);

                    /** GetReportRequest name. */
                    public name: string;

                    /**
                     * Creates a new GetReportRequest instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns GetReportRequest instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IGetReportRequest): google.ads.admanager.v1.GetReportRequest;

                    /**
                     * Encodes the specified GetReportRequest message. Does not implicitly {@link google.ads.admanager.v1.GetReportRequest.verify|verify} messages.
                     * @param message GetReportRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IGetReportRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified GetReportRequest message, length delimited. Does not implicitly {@link google.ads.admanager.v1.GetReportRequest.verify|verify} messages.
                     * @param message GetReportRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IGetReportRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a GetReportRequest message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns GetReportRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.GetReportRequest;

                    /**
                     * Decodes a GetReportRequest message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns GetReportRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.GetReportRequest;

                    /**
                     * Verifies a GetReportRequest message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a GetReportRequest message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns GetReportRequest
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.GetReportRequest;

                    /**
                     * Creates a plain object from a GetReportRequest message. Also converts values to other types if specified.
                     * @param message GetReportRequest
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.GetReportRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this GetReportRequest to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for GetReportRequest
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a ListReportsRequest. */
                interface IListReportsRequest {

                    /** ListReportsRequest parent */
                    parent?: (string|null);

                    /** ListReportsRequest pageSize */
                    pageSize?: (number|null);

                    /** ListReportsRequest pageToken */
                    pageToken?: (string|null);

                    /** ListReportsRequest filter */
                    filter?: (string|null);

                    /** ListReportsRequest orderBy */
                    orderBy?: (string|null);

                    /** ListReportsRequest skip */
                    skip?: (number|null);
                }

                /** Represents a ListReportsRequest. */
                class ListReportsRequest implements IListReportsRequest {

                    /**
                     * Constructs a new ListReportsRequest.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IListReportsRequest);

                    /** ListReportsRequest parent. */
                    public parent: string;

                    /** ListReportsRequest pageSize. */
                    public pageSize: number;

                    /** ListReportsRequest pageToken. */
                    public pageToken: string;

                    /** ListReportsRequest filter. */
                    public filter: string;

                    /** ListReportsRequest orderBy. */
                    public orderBy: string;

                    /** ListReportsRequest skip. */
                    public skip: number;

                    /**
                     * Creates a new ListReportsRequest instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns ListReportsRequest instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IListReportsRequest): google.ads.admanager.v1.ListReportsRequest;

                    /**
                     * Encodes the specified ListReportsRequest message. Does not implicitly {@link google.ads.admanager.v1.ListReportsRequest.verify|verify} messages.
                     * @param message ListReportsRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IListReportsRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified ListReportsRequest message, length delimited. Does not implicitly {@link google.ads.admanager.v1.ListReportsRequest.verify|verify} messages.
                     * @param message ListReportsRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IListReportsRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a ListReportsRequest message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns ListReportsRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.ListReportsRequest;

                    /**
                     * Decodes a ListReportsRequest message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns ListReportsRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.ListReportsRequest;

                    /**
                     * Verifies a ListReportsRequest message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a ListReportsRequest message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns ListReportsRequest
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.ListReportsRequest;

                    /**
                     * Creates a plain object from a ListReportsRequest message. Also converts values to other types if specified.
                     * @param message ListReportsRequest
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.ListReportsRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this ListReportsRequest to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for ListReportsRequest
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a ListReportsResponse. */
                interface IListReportsResponse {

                    /** ListReportsResponse reports */
                    reports?: (google.ads.admanager.v1.IReport[]|null);

                    /** ListReportsResponse nextPageToken */
                    nextPageToken?: (string|null);

                    /** ListReportsResponse totalSize */
                    totalSize?: (number|null);
                }

                /** Represents a ListReportsResponse. */
                class ListReportsResponse implements IListReportsResponse {

                    /**
                     * Constructs a new ListReportsResponse.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IListReportsResponse);

                    /** ListReportsResponse reports. */
                    public reports: google.ads.admanager.v1.IReport[];

                    /** ListReportsResponse nextPageToken. */
                    public nextPageToken: string;

                    /** ListReportsResponse totalSize. */
                    public totalSize: number;

                    /**
                     * Creates a new ListReportsResponse instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns ListReportsResponse instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IListReportsResponse): google.ads.admanager.v1.ListReportsResponse;

                    /**
                     * Encodes the specified ListReportsResponse message. Does not implicitly {@link google.ads.admanager.v1.ListReportsResponse.verify|verify} messages.
                     * @param message ListReportsResponse message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IListReportsResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified ListReportsResponse message, length delimited. Does not implicitly {@link google.ads.admanager.v1.ListReportsResponse.verify|verify} messages.
                     * @param message ListReportsResponse message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IListReportsResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a ListReportsResponse message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns ListReportsResponse
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.ListReportsResponse;

                    /**
                     * Decodes a ListReportsResponse message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns ListReportsResponse
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.ListReportsResponse;

                    /**
                     * Verifies a ListReportsResponse message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a ListReportsResponse message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns ListReportsResponse
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.ListReportsResponse;

                    /**
                     * Creates a plain object from a ListReportsResponse message. Also converts values to other types if specified.
                     * @param message ListReportsResponse
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.ListReportsResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this ListReportsResponse to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for ListReportsResponse
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a CreateReportRequest. */
                interface ICreateReportRequest {

                    /** CreateReportRequest parent */
                    parent?: (string|null);

                    /** CreateReportRequest report */
                    report?: (google.ads.admanager.v1.IReport|null);
                }

                /** Represents a CreateReportRequest. */
                class CreateReportRequest implements ICreateReportRequest {

                    /**
                     * Constructs a new CreateReportRequest.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.ICreateReportRequest);

                    /** CreateReportRequest parent. */
                    public parent: string;

                    /** CreateReportRequest report. */
                    public report?: (google.ads.admanager.v1.IReport|null);

                    /**
                     * Creates a new CreateReportRequest instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns CreateReportRequest instance
                     */
                    public static create(properties?: google.ads.admanager.v1.ICreateReportRequest): google.ads.admanager.v1.CreateReportRequest;

                    /**
                     * Encodes the specified CreateReportRequest message. Does not implicitly {@link google.ads.admanager.v1.CreateReportRequest.verify|verify} messages.
                     * @param message CreateReportRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.ICreateReportRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified CreateReportRequest message, length delimited. Does not implicitly {@link google.ads.admanager.v1.CreateReportRequest.verify|verify} messages.
                     * @param message CreateReportRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.ICreateReportRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a CreateReportRequest message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns CreateReportRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.CreateReportRequest;

                    /**
                     * Decodes a CreateReportRequest message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns CreateReportRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.CreateReportRequest;

                    /**
                     * Verifies a CreateReportRequest message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a CreateReportRequest message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns CreateReportRequest
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.CreateReportRequest;

                    /**
                     * Creates a plain object from a CreateReportRequest message. Also converts values to other types if specified.
                     * @param message CreateReportRequest
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.CreateReportRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this CreateReportRequest to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for CreateReportRequest
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of an UpdateReportRequest. */
                interface IUpdateReportRequest {

                    /** UpdateReportRequest report */
                    report?: (google.ads.admanager.v1.IReport|null);

                    /** UpdateReportRequest updateMask */
                    updateMask?: (google.protobuf.IFieldMask|null);
                }

                /** Represents an UpdateReportRequest. */
                class UpdateReportRequest implements IUpdateReportRequest {

                    /**
                     * Constructs a new UpdateReportRequest.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IUpdateReportRequest);

                    /** UpdateReportRequest report. */
                    public report?: (google.ads.admanager.v1.IReport|null);

                    /** UpdateReportRequest updateMask. */
                    public updateMask?: (google.protobuf.IFieldMask|null);

                    /**
                     * Creates a new UpdateReportRequest instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns UpdateReportRequest instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IUpdateReportRequest): google.ads.admanager.v1.UpdateReportRequest;

                    /**
                     * Encodes the specified UpdateReportRequest message. Does not implicitly {@link google.ads.admanager.v1.UpdateReportRequest.verify|verify} messages.
                     * @param message UpdateReportRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IUpdateReportRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified UpdateReportRequest message, length delimited. Does not implicitly {@link google.ads.admanager.v1.UpdateReportRequest.verify|verify} messages.
                     * @param message UpdateReportRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IUpdateReportRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes an UpdateReportRequest message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns UpdateReportRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.UpdateReportRequest;

                    /**
                     * Decodes an UpdateReportRequest message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns UpdateReportRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.UpdateReportRequest;

                    /**
                     * Verifies an UpdateReportRequest message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates an UpdateReportRequest message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns UpdateReportRequest
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.UpdateReportRequest;

                    /**
                     * Creates a plain object from an UpdateReportRequest message. Also converts values to other types if specified.
                     * @param message UpdateReportRequest
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.UpdateReportRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this UpdateReportRequest to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for UpdateReportRequest
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a FetchReportResultRowsRequest. */
                interface IFetchReportResultRowsRequest {

                    /** FetchReportResultRowsRequest name */
                    name?: (string|null);

                    /** FetchReportResultRowsRequest pageSize */
                    pageSize?: (number|null);

                    /** FetchReportResultRowsRequest pageToken */
                    pageToken?: (string|null);
                }

                /** Represents a FetchReportResultRowsRequest. */
                class FetchReportResultRowsRequest implements IFetchReportResultRowsRequest {

                    /**
                     * Constructs a new FetchReportResultRowsRequest.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IFetchReportResultRowsRequest);

                    /** FetchReportResultRowsRequest name. */
                    public name: string;

                    /** FetchReportResultRowsRequest pageSize. */
                    public pageSize: number;

                    /** FetchReportResultRowsRequest pageToken. */
                    public pageToken: string;

                    /**
                     * Creates a new FetchReportResultRowsRequest instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns FetchReportResultRowsRequest instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IFetchReportResultRowsRequest): google.ads.admanager.v1.FetchReportResultRowsRequest;

                    /**
                     * Encodes the specified FetchReportResultRowsRequest message. Does not implicitly {@link google.ads.admanager.v1.FetchReportResultRowsRequest.verify|verify} messages.
                     * @param message FetchReportResultRowsRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IFetchReportResultRowsRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified FetchReportResultRowsRequest message, length delimited. Does not implicitly {@link google.ads.admanager.v1.FetchReportResultRowsRequest.verify|verify} messages.
                     * @param message FetchReportResultRowsRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IFetchReportResultRowsRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a FetchReportResultRowsRequest message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns FetchReportResultRowsRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.FetchReportResultRowsRequest;

                    /**
                     * Decodes a FetchReportResultRowsRequest message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns FetchReportResultRowsRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.FetchReportResultRowsRequest;

                    /**
                     * Verifies a FetchReportResultRowsRequest message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a FetchReportResultRowsRequest message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns FetchReportResultRowsRequest
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.FetchReportResultRowsRequest;

                    /**
                     * Creates a plain object from a FetchReportResultRowsRequest message. Also converts values to other types if specified.
                     * @param message FetchReportResultRowsRequest
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.FetchReportResultRowsRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this FetchReportResultRowsRequest to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for FetchReportResultRowsRequest
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a FetchReportResultRowsResponse. */
                interface IFetchReportResultRowsResponse {

                    /** FetchReportResultRowsResponse rows */
                    rows?: (google.ads.admanager.v1.ReportDataTable.IRow[]|null);

                    /** FetchReportResultRowsResponse runTime */
                    runTime?: (google.protobuf.ITimestamp|null);

                    /** FetchReportResultRowsResponse dateRanges */
                    dateRanges?: (google.ads.admanager.v1.ReportDefinition.DateRange.IFixedDateRange[]|null);

                    /** FetchReportResultRowsResponse comparisonDateRanges */
                    comparisonDateRanges?: (google.ads.admanager.v1.ReportDefinition.DateRange.IFixedDateRange[]|null);

                    /** FetchReportResultRowsResponse totalRowCount */
                    totalRowCount?: (number|null);

                    /** FetchReportResultRowsResponse nextPageToken */
                    nextPageToken?: (string|null);
                }

                /** Represents a FetchReportResultRowsResponse. */
                class FetchReportResultRowsResponse implements IFetchReportResultRowsResponse {

                    /**
                     * Constructs a new FetchReportResultRowsResponse.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IFetchReportResultRowsResponse);

                    /** FetchReportResultRowsResponse rows. */
                    public rows: google.ads.admanager.v1.ReportDataTable.IRow[];

                    /** FetchReportResultRowsResponse runTime. */
                    public runTime?: (google.protobuf.ITimestamp|null);

                    /** FetchReportResultRowsResponse dateRanges. */
                    public dateRanges: google.ads.admanager.v1.ReportDefinition.DateRange.IFixedDateRange[];

                    /** FetchReportResultRowsResponse comparisonDateRanges. */
                    public comparisonDateRanges: google.ads.admanager.v1.ReportDefinition.DateRange.IFixedDateRange[];

                    /** FetchReportResultRowsResponse totalRowCount. */
                    public totalRowCount: number;

                    /** FetchReportResultRowsResponse nextPageToken. */
                    public nextPageToken: string;

                    /**
                     * Creates a new FetchReportResultRowsResponse instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns FetchReportResultRowsResponse instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IFetchReportResultRowsResponse): google.ads.admanager.v1.FetchReportResultRowsResponse;

                    /**
                     * Encodes the specified FetchReportResultRowsResponse message. Does not implicitly {@link google.ads.admanager.v1.FetchReportResultRowsResponse.verify|verify} messages.
                     * @param message FetchReportResultRowsResponse message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IFetchReportResultRowsResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified FetchReportResultRowsResponse message, length delimited. Does not implicitly {@link google.ads.admanager.v1.FetchReportResultRowsResponse.verify|verify} messages.
                     * @param message FetchReportResultRowsResponse message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IFetchReportResultRowsResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a FetchReportResultRowsResponse message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns FetchReportResultRowsResponse
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.FetchReportResultRowsResponse;

                    /**
                     * Decodes a FetchReportResultRowsResponse message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns FetchReportResultRowsResponse
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.FetchReportResultRowsResponse;

                    /**
                     * Verifies a FetchReportResultRowsResponse message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a FetchReportResultRowsResponse message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns FetchReportResultRowsResponse
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.FetchReportResultRowsResponse;

                    /**
                     * Creates a plain object from a FetchReportResultRowsResponse message. Also converts values to other types if specified.
                     * @param message FetchReportResultRowsResponse
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.FetchReportResultRowsResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this FetchReportResultRowsResponse to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for FetchReportResultRowsResponse
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a RoleStatusEnum. */
                interface IRoleStatusEnum {
                }

                /** Represents a RoleStatusEnum. */
                class RoleStatusEnum implements IRoleStatusEnum {

                    /**
                     * Constructs a new RoleStatusEnum.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IRoleStatusEnum);

                    /**
                     * Creates a new RoleStatusEnum instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns RoleStatusEnum instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IRoleStatusEnum): google.ads.admanager.v1.RoleStatusEnum;

                    /**
                     * Encodes the specified RoleStatusEnum message. Does not implicitly {@link google.ads.admanager.v1.RoleStatusEnum.verify|verify} messages.
                     * @param message RoleStatusEnum message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IRoleStatusEnum, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified RoleStatusEnum message, length delimited. Does not implicitly {@link google.ads.admanager.v1.RoleStatusEnum.verify|verify} messages.
                     * @param message RoleStatusEnum message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IRoleStatusEnum, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a RoleStatusEnum message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns RoleStatusEnum
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.RoleStatusEnum;

                    /**
                     * Decodes a RoleStatusEnum message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns RoleStatusEnum
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.RoleStatusEnum;

                    /**
                     * Verifies a RoleStatusEnum message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a RoleStatusEnum message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns RoleStatusEnum
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.RoleStatusEnum;

                    /**
                     * Creates a plain object from a RoleStatusEnum message. Also converts values to other types if specified.
                     * @param message RoleStatusEnum
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.RoleStatusEnum, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this RoleStatusEnum to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for RoleStatusEnum
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                namespace RoleStatusEnum {

                    /** RoleStatus enum. */
                    enum RoleStatus {
                        ROLE_STATUS_UNSPECIFIED = 0,
                        ACTIVE = 1,
                        INACTIVE = 2
                    }
                }

                /** Properties of a Role. */
                interface IRole {

                    /** Role name */
                    name?: (string|null);

                    /** Role roleId */
                    roleId?: (number|Long|string|null);

                    /** Role displayName */
                    displayName?: (string|null);

                    /** Role description */
                    description?: (string|null);

                    /** Role builtIn */
                    builtIn?: (boolean|null);

                    /** Role status */
                    status?: (google.ads.admanager.v1.RoleStatusEnum.RoleStatus|keyof typeof google.ads.admanager.v1.RoleStatusEnum.RoleStatus|null);
                }

                /** Represents a Role. */
                class Role implements IRole {

                    /**
                     * Constructs a new Role.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IRole);

                    /** Role name. */
                    public name: string;

                    /** Role roleId. */
                    public roleId?: (number|Long|string|null);

                    /** Role displayName. */
                    public displayName?: (string|null);

                    /** Role description. */
                    public description?: (string|null);

                    /** Role builtIn. */
                    public builtIn?: (boolean|null);

                    /** Role status. */
                    public status?: (google.ads.admanager.v1.RoleStatusEnum.RoleStatus|keyof typeof google.ads.admanager.v1.RoleStatusEnum.RoleStatus|null);

                    /**
                     * Creates a new Role instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns Role instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IRole): google.ads.admanager.v1.Role;

                    /**
                     * Encodes the specified Role message. Does not implicitly {@link google.ads.admanager.v1.Role.verify|verify} messages.
                     * @param message Role message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IRole, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified Role message, length delimited. Does not implicitly {@link google.ads.admanager.v1.Role.verify|verify} messages.
                     * @param message Role message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IRole, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a Role message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns Role
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.Role;

                    /**
                     * Decodes a Role message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns Role
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.Role;

                    /**
                     * Verifies a Role message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a Role message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns Role
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.Role;

                    /**
                     * Creates a plain object from a Role message. Also converts values to other types if specified.
                     * @param message Role
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.Role, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this Role to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for Role
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Represents a RoleService */
                class RoleService extends $protobuf.rpc.Service {

                    /**
                     * Constructs a new RoleService service.
                     * @param rpcImpl RPC implementation
                     * @param [requestDelimited=false] Whether requests are length-delimited
                     * @param [responseDelimited=false] Whether responses are length-delimited
                     */
                    constructor(rpcImpl: $protobuf.RPCImpl, requestDelimited?: boolean, responseDelimited?: boolean);

                    /**
                     * Creates new RoleService service using the specified rpc implementation.
                     * @param rpcImpl RPC implementation
                     * @param [requestDelimited=false] Whether requests are length-delimited
                     * @param [responseDelimited=false] Whether responses are length-delimited
                     * @returns RPC service. Useful where requests and/or responses are streamed.
                     */
                    public static create(rpcImpl: $protobuf.RPCImpl, requestDelimited?: boolean, responseDelimited?: boolean): RoleService;

                    /**
                     * Calls GetRole.
                     * @param request GetRoleRequest message or plain object
                     * @param callback Node-style callback called with the error, if any, and Role
                     */
                    public getRole(request: google.ads.admanager.v1.IGetRoleRequest, callback: google.ads.admanager.v1.RoleService.GetRoleCallback): void;

                    /**
                     * Calls GetRole.
                     * @param request GetRoleRequest message or plain object
                     * @returns Promise
                     */
                    public getRole(request: google.ads.admanager.v1.IGetRoleRequest): Promise<google.ads.admanager.v1.Role>;

                    /**
                     * Calls ListRoles.
                     * @param request ListRolesRequest message or plain object
                     * @param callback Node-style callback called with the error, if any, and ListRolesResponse
                     */
                    public listRoles(request: google.ads.admanager.v1.IListRolesRequest, callback: google.ads.admanager.v1.RoleService.ListRolesCallback): void;

                    /**
                     * Calls ListRoles.
                     * @param request ListRolesRequest message or plain object
                     * @returns Promise
                     */
                    public listRoles(request: google.ads.admanager.v1.IListRolesRequest): Promise<google.ads.admanager.v1.ListRolesResponse>;
                }

                namespace RoleService {

                    /**
                     * Callback as used by {@link google.ads.admanager.v1.RoleService|getRole}.
                     * @param error Error, if any
                     * @param [response] Role
                     */
                    type GetRoleCallback = (error: (Error|null), response?: google.ads.admanager.v1.Role) => void;

                    /**
                     * Callback as used by {@link google.ads.admanager.v1.RoleService|listRoles}.
                     * @param error Error, if any
                     * @param [response] ListRolesResponse
                     */
                    type ListRolesCallback = (error: (Error|null), response?: google.ads.admanager.v1.ListRolesResponse) => void;
                }

                /** Properties of a GetRoleRequest. */
                interface IGetRoleRequest {

                    /** GetRoleRequest name */
                    name?: (string|null);
                }

                /** Represents a GetRoleRequest. */
                class GetRoleRequest implements IGetRoleRequest {

                    /**
                     * Constructs a new GetRoleRequest.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IGetRoleRequest);

                    /** GetRoleRequest name. */
                    public name: string;

                    /**
                     * Creates a new GetRoleRequest instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns GetRoleRequest instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IGetRoleRequest): google.ads.admanager.v1.GetRoleRequest;

                    /**
                     * Encodes the specified GetRoleRequest message. Does not implicitly {@link google.ads.admanager.v1.GetRoleRequest.verify|verify} messages.
                     * @param message GetRoleRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IGetRoleRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified GetRoleRequest message, length delimited. Does not implicitly {@link google.ads.admanager.v1.GetRoleRequest.verify|verify} messages.
                     * @param message GetRoleRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IGetRoleRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a GetRoleRequest message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns GetRoleRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.GetRoleRequest;

                    /**
                     * Decodes a GetRoleRequest message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns GetRoleRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.GetRoleRequest;

                    /**
                     * Verifies a GetRoleRequest message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a GetRoleRequest message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns GetRoleRequest
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.GetRoleRequest;

                    /**
                     * Creates a plain object from a GetRoleRequest message. Also converts values to other types if specified.
                     * @param message GetRoleRequest
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.GetRoleRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this GetRoleRequest to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for GetRoleRequest
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a ListRolesRequest. */
                interface IListRolesRequest {

                    /** ListRolesRequest parent */
                    parent?: (string|null);

                    /** ListRolesRequest pageSize */
                    pageSize?: (number|null);

                    /** ListRolesRequest pageToken */
                    pageToken?: (string|null);

                    /** ListRolesRequest filter */
                    filter?: (string|null);

                    /** ListRolesRequest orderBy */
                    orderBy?: (string|null);

                    /** ListRolesRequest skip */
                    skip?: (number|null);
                }

                /** Represents a ListRolesRequest. */
                class ListRolesRequest implements IListRolesRequest {

                    /**
                     * Constructs a new ListRolesRequest.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IListRolesRequest);

                    /** ListRolesRequest parent. */
                    public parent: string;

                    /** ListRolesRequest pageSize. */
                    public pageSize: number;

                    /** ListRolesRequest pageToken. */
                    public pageToken: string;

                    /** ListRolesRequest filter. */
                    public filter: string;

                    /** ListRolesRequest orderBy. */
                    public orderBy: string;

                    /** ListRolesRequest skip. */
                    public skip: number;

                    /**
                     * Creates a new ListRolesRequest instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns ListRolesRequest instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IListRolesRequest): google.ads.admanager.v1.ListRolesRequest;

                    /**
                     * Encodes the specified ListRolesRequest message. Does not implicitly {@link google.ads.admanager.v1.ListRolesRequest.verify|verify} messages.
                     * @param message ListRolesRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IListRolesRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified ListRolesRequest message, length delimited. Does not implicitly {@link google.ads.admanager.v1.ListRolesRequest.verify|verify} messages.
                     * @param message ListRolesRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IListRolesRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a ListRolesRequest message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns ListRolesRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.ListRolesRequest;

                    /**
                     * Decodes a ListRolesRequest message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns ListRolesRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.ListRolesRequest;

                    /**
                     * Verifies a ListRolesRequest message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a ListRolesRequest message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns ListRolesRequest
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.ListRolesRequest;

                    /**
                     * Creates a plain object from a ListRolesRequest message. Also converts values to other types if specified.
                     * @param message ListRolesRequest
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.ListRolesRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this ListRolesRequest to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for ListRolesRequest
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a ListRolesResponse. */
                interface IListRolesResponse {

                    /** ListRolesResponse roles */
                    roles?: (google.ads.admanager.v1.IRole[]|null);

                    /** ListRolesResponse nextPageToken */
                    nextPageToken?: (string|null);

                    /** ListRolesResponse totalSize */
                    totalSize?: (number|null);
                }

                /** Represents a ListRolesResponse. */
                class ListRolesResponse implements IListRolesResponse {

                    /**
                     * Constructs a new ListRolesResponse.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IListRolesResponse);

                    /** ListRolesResponse roles. */
                    public roles: google.ads.admanager.v1.IRole[];

                    /** ListRolesResponse nextPageToken. */
                    public nextPageToken: string;

                    /** ListRolesResponse totalSize. */
                    public totalSize: number;

                    /**
                     * Creates a new ListRolesResponse instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns ListRolesResponse instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IListRolesResponse): google.ads.admanager.v1.ListRolesResponse;

                    /**
                     * Encodes the specified ListRolesResponse message. Does not implicitly {@link google.ads.admanager.v1.ListRolesResponse.verify|verify} messages.
                     * @param message ListRolesResponse message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IListRolesResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified ListRolesResponse message, length delimited. Does not implicitly {@link google.ads.admanager.v1.ListRolesResponse.verify|verify} messages.
                     * @param message ListRolesResponse message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IListRolesResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a ListRolesResponse message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns ListRolesResponse
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.ListRolesResponse;

                    /**
                     * Decodes a ListRolesResponse message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns ListRolesResponse
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.ListRolesResponse;

                    /**
                     * Verifies a ListRolesResponse message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a ListRolesResponse message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns ListRolesResponse
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.ListRolesResponse;

                    /**
                     * Creates a plain object from a ListRolesResponse message. Also converts values to other types if specified.
                     * @param message ListRolesResponse
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.ListRolesResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this ListRolesResponse to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for ListRolesResponse
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a SiteDisapprovalReasonEnum. */
                interface ISiteDisapprovalReasonEnum {
                }

                /** Represents a SiteDisapprovalReasonEnum. */
                class SiteDisapprovalReasonEnum implements ISiteDisapprovalReasonEnum {

                    /**
                     * Constructs a new SiteDisapprovalReasonEnum.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.ISiteDisapprovalReasonEnum);

                    /**
                     * Creates a new SiteDisapprovalReasonEnum instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns SiteDisapprovalReasonEnum instance
                     */
                    public static create(properties?: google.ads.admanager.v1.ISiteDisapprovalReasonEnum): google.ads.admanager.v1.SiteDisapprovalReasonEnum;

                    /**
                     * Encodes the specified SiteDisapprovalReasonEnum message. Does not implicitly {@link google.ads.admanager.v1.SiteDisapprovalReasonEnum.verify|verify} messages.
                     * @param message SiteDisapprovalReasonEnum message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.ISiteDisapprovalReasonEnum, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified SiteDisapprovalReasonEnum message, length delimited. Does not implicitly {@link google.ads.admanager.v1.SiteDisapprovalReasonEnum.verify|verify} messages.
                     * @param message SiteDisapprovalReasonEnum message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.ISiteDisapprovalReasonEnum, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a SiteDisapprovalReasonEnum message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns SiteDisapprovalReasonEnum
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.SiteDisapprovalReasonEnum;

                    /**
                     * Decodes a SiteDisapprovalReasonEnum message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns SiteDisapprovalReasonEnum
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.SiteDisapprovalReasonEnum;

                    /**
                     * Verifies a SiteDisapprovalReasonEnum message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a SiteDisapprovalReasonEnum message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns SiteDisapprovalReasonEnum
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.SiteDisapprovalReasonEnum;

                    /**
                     * Creates a plain object from a SiteDisapprovalReasonEnum message. Also converts values to other types if specified.
                     * @param message SiteDisapprovalReasonEnum
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.SiteDisapprovalReasonEnum, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this SiteDisapprovalReasonEnum to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for SiteDisapprovalReasonEnum
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                namespace SiteDisapprovalReasonEnum {

                    /** SiteDisapprovalReason enum. */
                    enum SiteDisapprovalReason {
                        SITE_DISAPPROVAL_REASON_UNSPECIFIED = 0,
                        CONTENT = 1,
                        OTHER = 2,
                        OWNERSHIP = 3
                    }
                }

                /** Properties of a SiteApprovalStatusEnum. */
                interface ISiteApprovalStatusEnum {
                }

                /** Represents a SiteApprovalStatusEnum. */
                class SiteApprovalStatusEnum implements ISiteApprovalStatusEnum {

                    /**
                     * Constructs a new SiteApprovalStatusEnum.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.ISiteApprovalStatusEnum);

                    /**
                     * Creates a new SiteApprovalStatusEnum instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns SiteApprovalStatusEnum instance
                     */
                    public static create(properties?: google.ads.admanager.v1.ISiteApprovalStatusEnum): google.ads.admanager.v1.SiteApprovalStatusEnum;

                    /**
                     * Encodes the specified SiteApprovalStatusEnum message. Does not implicitly {@link google.ads.admanager.v1.SiteApprovalStatusEnum.verify|verify} messages.
                     * @param message SiteApprovalStatusEnum message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.ISiteApprovalStatusEnum, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified SiteApprovalStatusEnum message, length delimited. Does not implicitly {@link google.ads.admanager.v1.SiteApprovalStatusEnum.verify|verify} messages.
                     * @param message SiteApprovalStatusEnum message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.ISiteApprovalStatusEnum, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a SiteApprovalStatusEnum message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns SiteApprovalStatusEnum
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.SiteApprovalStatusEnum;

                    /**
                     * Decodes a SiteApprovalStatusEnum message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns SiteApprovalStatusEnum
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.SiteApprovalStatusEnum;

                    /**
                     * Verifies a SiteApprovalStatusEnum message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a SiteApprovalStatusEnum message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns SiteApprovalStatusEnum
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.SiteApprovalStatusEnum;

                    /**
                     * Creates a plain object from a SiteApprovalStatusEnum message. Also converts values to other types if specified.
                     * @param message SiteApprovalStatusEnum
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.SiteApprovalStatusEnum, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this SiteApprovalStatusEnum to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for SiteApprovalStatusEnum
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                namespace SiteApprovalStatusEnum {

                    /** SiteApprovalStatus enum. */
                    enum SiteApprovalStatus {
                        SITE_APPROVAL_STATUS_UNSPECIFIED = 0,
                        APPROVED = 1,
                        DISAPPROVED = 2,
                        DRAFT = 3,
                        REQUIRES_REVIEW = 4,
                        UNCHECKED = 5
                    }
                }

                /** Properties of a Site. */
                interface ISite {

                    /** Site name */
                    name?: (string|null);

                    /** Site url */
                    url?: (string|null);

                    /** Site childNetworkCode */
                    childNetworkCode?: (string|null);

                    /** Site approvalStatus */
                    approvalStatus?: (google.ads.admanager.v1.SiteApprovalStatusEnum.SiteApprovalStatus|keyof typeof google.ads.admanager.v1.SiteApprovalStatusEnum.SiteApprovalStatus|null);

                    /** Site approvalStatusUpdateTime */
                    approvalStatusUpdateTime?: (google.protobuf.ITimestamp|null);

                    /** Site disapprovalReasons */
                    disapprovalReasons?: (google.ads.admanager.v1.IDisapprovalReason[]|null);
                }

                /** Represents a Site. */
                class Site implements ISite {

                    /**
                     * Constructs a new Site.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.ISite);

                    /** Site name. */
                    public name: string;

                    /** Site url. */
                    public url?: (string|null);

                    /** Site childNetworkCode. */
                    public childNetworkCode?: (string|null);

                    /** Site approvalStatus. */
                    public approvalStatus?: (google.ads.admanager.v1.SiteApprovalStatusEnum.SiteApprovalStatus|keyof typeof google.ads.admanager.v1.SiteApprovalStatusEnum.SiteApprovalStatus|null);

                    /** Site approvalStatusUpdateTime. */
                    public approvalStatusUpdateTime?: (google.protobuf.ITimestamp|null);

                    /** Site disapprovalReasons. */
                    public disapprovalReasons: google.ads.admanager.v1.IDisapprovalReason[];

                    /**
                     * Creates a new Site instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns Site instance
                     */
                    public static create(properties?: google.ads.admanager.v1.ISite): google.ads.admanager.v1.Site;

                    /**
                     * Encodes the specified Site message. Does not implicitly {@link google.ads.admanager.v1.Site.verify|verify} messages.
                     * @param message Site message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.ISite, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified Site message, length delimited. Does not implicitly {@link google.ads.admanager.v1.Site.verify|verify} messages.
                     * @param message Site message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.ISite, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a Site message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns Site
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.Site;

                    /**
                     * Decodes a Site message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns Site
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.Site;

                    /**
                     * Verifies a Site message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a Site message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns Site
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.Site;

                    /**
                     * Creates a plain object from a Site message. Also converts values to other types if specified.
                     * @param message Site
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.Site, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this Site to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for Site
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a DisapprovalReason. */
                interface IDisapprovalReason {

                    /** DisapprovalReason type */
                    type?: (google.ads.admanager.v1.SiteDisapprovalReasonEnum.SiteDisapprovalReason|keyof typeof google.ads.admanager.v1.SiteDisapprovalReasonEnum.SiteDisapprovalReason|null);

                    /** DisapprovalReason details */
                    details?: (string|null);
                }

                /** Represents a DisapprovalReason. */
                class DisapprovalReason implements IDisapprovalReason {

                    /**
                     * Constructs a new DisapprovalReason.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IDisapprovalReason);

                    /** DisapprovalReason type. */
                    public type?: (google.ads.admanager.v1.SiteDisapprovalReasonEnum.SiteDisapprovalReason|keyof typeof google.ads.admanager.v1.SiteDisapprovalReasonEnum.SiteDisapprovalReason|null);

                    /** DisapprovalReason details. */
                    public details?: (string|null);

                    /**
                     * Creates a new DisapprovalReason instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns DisapprovalReason instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IDisapprovalReason): google.ads.admanager.v1.DisapprovalReason;

                    /**
                     * Encodes the specified DisapprovalReason message. Does not implicitly {@link google.ads.admanager.v1.DisapprovalReason.verify|verify} messages.
                     * @param message DisapprovalReason message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IDisapprovalReason, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified DisapprovalReason message, length delimited. Does not implicitly {@link google.ads.admanager.v1.DisapprovalReason.verify|verify} messages.
                     * @param message DisapprovalReason message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IDisapprovalReason, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a DisapprovalReason message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns DisapprovalReason
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.DisapprovalReason;

                    /**
                     * Decodes a DisapprovalReason message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns DisapprovalReason
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.DisapprovalReason;

                    /**
                     * Verifies a DisapprovalReason message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a DisapprovalReason message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns DisapprovalReason
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.DisapprovalReason;

                    /**
                     * Creates a plain object from a DisapprovalReason message. Also converts values to other types if specified.
                     * @param message DisapprovalReason
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.DisapprovalReason, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this DisapprovalReason to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for DisapprovalReason
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Represents a SiteService */
                class SiteService extends $protobuf.rpc.Service {

                    /**
                     * Constructs a new SiteService service.
                     * @param rpcImpl RPC implementation
                     * @param [requestDelimited=false] Whether requests are length-delimited
                     * @param [responseDelimited=false] Whether responses are length-delimited
                     */
                    constructor(rpcImpl: $protobuf.RPCImpl, requestDelimited?: boolean, responseDelimited?: boolean);

                    /**
                     * Creates new SiteService service using the specified rpc implementation.
                     * @param rpcImpl RPC implementation
                     * @param [requestDelimited=false] Whether requests are length-delimited
                     * @param [responseDelimited=false] Whether responses are length-delimited
                     * @returns RPC service. Useful where requests and/or responses are streamed.
                     */
                    public static create(rpcImpl: $protobuf.RPCImpl, requestDelimited?: boolean, responseDelimited?: boolean): SiteService;

                    /**
                     * Calls GetSite.
                     * @param request GetSiteRequest message or plain object
                     * @param callback Node-style callback called with the error, if any, and Site
                     */
                    public getSite(request: google.ads.admanager.v1.IGetSiteRequest, callback: google.ads.admanager.v1.SiteService.GetSiteCallback): void;

                    /**
                     * Calls GetSite.
                     * @param request GetSiteRequest message or plain object
                     * @returns Promise
                     */
                    public getSite(request: google.ads.admanager.v1.IGetSiteRequest): Promise<google.ads.admanager.v1.Site>;

                    /**
                     * Calls ListSites.
                     * @param request ListSitesRequest message or plain object
                     * @param callback Node-style callback called with the error, if any, and ListSitesResponse
                     */
                    public listSites(request: google.ads.admanager.v1.IListSitesRequest, callback: google.ads.admanager.v1.SiteService.ListSitesCallback): void;

                    /**
                     * Calls ListSites.
                     * @param request ListSitesRequest message or plain object
                     * @returns Promise
                     */
                    public listSites(request: google.ads.admanager.v1.IListSitesRequest): Promise<google.ads.admanager.v1.ListSitesResponse>;

                    /**
                     * Calls CreateSite.
                     * @param request CreateSiteRequest message or plain object
                     * @param callback Node-style callback called with the error, if any, and Site
                     */
                    public createSite(request: google.ads.admanager.v1.ICreateSiteRequest, callback: google.ads.admanager.v1.SiteService.CreateSiteCallback): void;

                    /**
                     * Calls CreateSite.
                     * @param request CreateSiteRequest message or plain object
                     * @returns Promise
                     */
                    public createSite(request: google.ads.admanager.v1.ICreateSiteRequest): Promise<google.ads.admanager.v1.Site>;

                    /**
                     * Calls BatchCreateSites.
                     * @param request BatchCreateSitesRequest message or plain object
                     * @param callback Node-style callback called with the error, if any, and BatchCreateSitesResponse
                     */
                    public batchCreateSites(request: google.ads.admanager.v1.IBatchCreateSitesRequest, callback: google.ads.admanager.v1.SiteService.BatchCreateSitesCallback): void;

                    /**
                     * Calls BatchCreateSites.
                     * @param request BatchCreateSitesRequest message or plain object
                     * @returns Promise
                     */
                    public batchCreateSites(request: google.ads.admanager.v1.IBatchCreateSitesRequest): Promise<google.ads.admanager.v1.BatchCreateSitesResponse>;

                    /**
                     * Calls UpdateSite.
                     * @param request UpdateSiteRequest message or plain object
                     * @param callback Node-style callback called with the error, if any, and Site
                     */
                    public updateSite(request: google.ads.admanager.v1.IUpdateSiteRequest, callback: google.ads.admanager.v1.SiteService.UpdateSiteCallback): void;

                    /**
                     * Calls UpdateSite.
                     * @param request UpdateSiteRequest message or plain object
                     * @returns Promise
                     */
                    public updateSite(request: google.ads.admanager.v1.IUpdateSiteRequest): Promise<google.ads.admanager.v1.Site>;

                    /**
                     * Calls BatchUpdateSites.
                     * @param request BatchUpdateSitesRequest message or plain object
                     * @param callback Node-style callback called with the error, if any, and BatchUpdateSitesResponse
                     */
                    public batchUpdateSites(request: google.ads.admanager.v1.IBatchUpdateSitesRequest, callback: google.ads.admanager.v1.SiteService.BatchUpdateSitesCallback): void;

                    /**
                     * Calls BatchUpdateSites.
                     * @param request BatchUpdateSitesRequest message or plain object
                     * @returns Promise
                     */
                    public batchUpdateSites(request: google.ads.admanager.v1.IBatchUpdateSitesRequest): Promise<google.ads.admanager.v1.BatchUpdateSitesResponse>;

                    /**
                     * Calls BatchDeactivateSites.
                     * @param request BatchDeactivateSitesRequest message or plain object
                     * @param callback Node-style callback called with the error, if any, and BatchDeactivateSitesResponse
                     */
                    public batchDeactivateSites(request: google.ads.admanager.v1.IBatchDeactivateSitesRequest, callback: google.ads.admanager.v1.SiteService.BatchDeactivateSitesCallback): void;

                    /**
                     * Calls BatchDeactivateSites.
                     * @param request BatchDeactivateSitesRequest message or plain object
                     * @returns Promise
                     */
                    public batchDeactivateSites(request: google.ads.admanager.v1.IBatchDeactivateSitesRequest): Promise<google.ads.admanager.v1.BatchDeactivateSitesResponse>;

                    /**
                     * Calls BatchSubmitSitesForApproval.
                     * @param request BatchSubmitSitesForApprovalRequest message or plain object
                     * @param callback Node-style callback called with the error, if any, and BatchSubmitSitesForApprovalResponse
                     */
                    public batchSubmitSitesForApproval(request: google.ads.admanager.v1.IBatchSubmitSitesForApprovalRequest, callback: google.ads.admanager.v1.SiteService.BatchSubmitSitesForApprovalCallback): void;

                    /**
                     * Calls BatchSubmitSitesForApproval.
                     * @param request BatchSubmitSitesForApprovalRequest message or plain object
                     * @returns Promise
                     */
                    public batchSubmitSitesForApproval(request: google.ads.admanager.v1.IBatchSubmitSitesForApprovalRequest): Promise<google.ads.admanager.v1.BatchSubmitSitesForApprovalResponse>;
                }

                namespace SiteService {

                    /**
                     * Callback as used by {@link google.ads.admanager.v1.SiteService|getSite}.
                     * @param error Error, if any
                     * @param [response] Site
                     */
                    type GetSiteCallback = (error: (Error|null), response?: google.ads.admanager.v1.Site) => void;

                    /**
                     * Callback as used by {@link google.ads.admanager.v1.SiteService|listSites}.
                     * @param error Error, if any
                     * @param [response] ListSitesResponse
                     */
                    type ListSitesCallback = (error: (Error|null), response?: google.ads.admanager.v1.ListSitesResponse) => void;

                    /**
                     * Callback as used by {@link google.ads.admanager.v1.SiteService|createSite}.
                     * @param error Error, if any
                     * @param [response] Site
                     */
                    type CreateSiteCallback = (error: (Error|null), response?: google.ads.admanager.v1.Site) => void;

                    /**
                     * Callback as used by {@link google.ads.admanager.v1.SiteService|batchCreateSites}.
                     * @param error Error, if any
                     * @param [response] BatchCreateSitesResponse
                     */
                    type BatchCreateSitesCallback = (error: (Error|null), response?: google.ads.admanager.v1.BatchCreateSitesResponse) => void;

                    /**
                     * Callback as used by {@link google.ads.admanager.v1.SiteService|updateSite}.
                     * @param error Error, if any
                     * @param [response] Site
                     */
                    type UpdateSiteCallback = (error: (Error|null), response?: google.ads.admanager.v1.Site) => void;

                    /**
                     * Callback as used by {@link google.ads.admanager.v1.SiteService|batchUpdateSites}.
                     * @param error Error, if any
                     * @param [response] BatchUpdateSitesResponse
                     */
                    type BatchUpdateSitesCallback = (error: (Error|null), response?: google.ads.admanager.v1.BatchUpdateSitesResponse) => void;

                    /**
                     * Callback as used by {@link google.ads.admanager.v1.SiteService|batchDeactivateSites}.
                     * @param error Error, if any
                     * @param [response] BatchDeactivateSitesResponse
                     */
                    type BatchDeactivateSitesCallback = (error: (Error|null), response?: google.ads.admanager.v1.BatchDeactivateSitesResponse) => void;

                    /**
                     * Callback as used by {@link google.ads.admanager.v1.SiteService|batchSubmitSitesForApproval}.
                     * @param error Error, if any
                     * @param [response] BatchSubmitSitesForApprovalResponse
                     */
                    type BatchSubmitSitesForApprovalCallback = (error: (Error|null), response?: google.ads.admanager.v1.BatchSubmitSitesForApprovalResponse) => void;
                }

                /** Properties of a GetSiteRequest. */
                interface IGetSiteRequest {

                    /** GetSiteRequest name */
                    name?: (string|null);
                }

                /** Represents a GetSiteRequest. */
                class GetSiteRequest implements IGetSiteRequest {

                    /**
                     * Constructs a new GetSiteRequest.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IGetSiteRequest);

                    /** GetSiteRequest name. */
                    public name: string;

                    /**
                     * Creates a new GetSiteRequest instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns GetSiteRequest instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IGetSiteRequest): google.ads.admanager.v1.GetSiteRequest;

                    /**
                     * Encodes the specified GetSiteRequest message. Does not implicitly {@link google.ads.admanager.v1.GetSiteRequest.verify|verify} messages.
                     * @param message GetSiteRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IGetSiteRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified GetSiteRequest message, length delimited. Does not implicitly {@link google.ads.admanager.v1.GetSiteRequest.verify|verify} messages.
                     * @param message GetSiteRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IGetSiteRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a GetSiteRequest message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns GetSiteRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.GetSiteRequest;

                    /**
                     * Decodes a GetSiteRequest message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns GetSiteRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.GetSiteRequest;

                    /**
                     * Verifies a GetSiteRequest message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a GetSiteRequest message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns GetSiteRequest
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.GetSiteRequest;

                    /**
                     * Creates a plain object from a GetSiteRequest message. Also converts values to other types if specified.
                     * @param message GetSiteRequest
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.GetSiteRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this GetSiteRequest to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for GetSiteRequest
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a ListSitesRequest. */
                interface IListSitesRequest {

                    /** ListSitesRequest parent */
                    parent?: (string|null);

                    /** ListSitesRequest pageSize */
                    pageSize?: (number|null);

                    /** ListSitesRequest pageToken */
                    pageToken?: (string|null);

                    /** ListSitesRequest filter */
                    filter?: (string|null);

                    /** ListSitesRequest orderBy */
                    orderBy?: (string|null);

                    /** ListSitesRequest skip */
                    skip?: (number|null);
                }

                /** Represents a ListSitesRequest. */
                class ListSitesRequest implements IListSitesRequest {

                    /**
                     * Constructs a new ListSitesRequest.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IListSitesRequest);

                    /** ListSitesRequest parent. */
                    public parent: string;

                    /** ListSitesRequest pageSize. */
                    public pageSize: number;

                    /** ListSitesRequest pageToken. */
                    public pageToken: string;

                    /** ListSitesRequest filter. */
                    public filter: string;

                    /** ListSitesRequest orderBy. */
                    public orderBy: string;

                    /** ListSitesRequest skip. */
                    public skip: number;

                    /**
                     * Creates a new ListSitesRequest instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns ListSitesRequest instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IListSitesRequest): google.ads.admanager.v1.ListSitesRequest;

                    /**
                     * Encodes the specified ListSitesRequest message. Does not implicitly {@link google.ads.admanager.v1.ListSitesRequest.verify|verify} messages.
                     * @param message ListSitesRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IListSitesRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified ListSitesRequest message, length delimited. Does not implicitly {@link google.ads.admanager.v1.ListSitesRequest.verify|verify} messages.
                     * @param message ListSitesRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IListSitesRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a ListSitesRequest message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns ListSitesRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.ListSitesRequest;

                    /**
                     * Decodes a ListSitesRequest message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns ListSitesRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.ListSitesRequest;

                    /**
                     * Verifies a ListSitesRequest message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a ListSitesRequest message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns ListSitesRequest
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.ListSitesRequest;

                    /**
                     * Creates a plain object from a ListSitesRequest message. Also converts values to other types if specified.
                     * @param message ListSitesRequest
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.ListSitesRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this ListSitesRequest to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for ListSitesRequest
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a ListSitesResponse. */
                interface IListSitesResponse {

                    /** ListSitesResponse sites */
                    sites?: (google.ads.admanager.v1.ISite[]|null);

                    /** ListSitesResponse nextPageToken */
                    nextPageToken?: (string|null);

                    /** ListSitesResponse totalSize */
                    totalSize?: (number|null);
                }

                /** Represents a ListSitesResponse. */
                class ListSitesResponse implements IListSitesResponse {

                    /**
                     * Constructs a new ListSitesResponse.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IListSitesResponse);

                    /** ListSitesResponse sites. */
                    public sites: google.ads.admanager.v1.ISite[];

                    /** ListSitesResponse nextPageToken. */
                    public nextPageToken: string;

                    /** ListSitesResponse totalSize. */
                    public totalSize: number;

                    /**
                     * Creates a new ListSitesResponse instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns ListSitesResponse instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IListSitesResponse): google.ads.admanager.v1.ListSitesResponse;

                    /**
                     * Encodes the specified ListSitesResponse message. Does not implicitly {@link google.ads.admanager.v1.ListSitesResponse.verify|verify} messages.
                     * @param message ListSitesResponse message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IListSitesResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified ListSitesResponse message, length delimited. Does not implicitly {@link google.ads.admanager.v1.ListSitesResponse.verify|verify} messages.
                     * @param message ListSitesResponse message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IListSitesResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a ListSitesResponse message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns ListSitesResponse
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.ListSitesResponse;

                    /**
                     * Decodes a ListSitesResponse message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns ListSitesResponse
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.ListSitesResponse;

                    /**
                     * Verifies a ListSitesResponse message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a ListSitesResponse message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns ListSitesResponse
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.ListSitesResponse;

                    /**
                     * Creates a plain object from a ListSitesResponse message. Also converts values to other types if specified.
                     * @param message ListSitesResponse
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.ListSitesResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this ListSitesResponse to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for ListSitesResponse
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a CreateSiteRequest. */
                interface ICreateSiteRequest {

                    /** CreateSiteRequest parent */
                    parent?: (string|null);

                    /** CreateSiteRequest site */
                    site?: (google.ads.admanager.v1.ISite|null);
                }

                /** Represents a CreateSiteRequest. */
                class CreateSiteRequest implements ICreateSiteRequest {

                    /**
                     * Constructs a new CreateSiteRequest.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.ICreateSiteRequest);

                    /** CreateSiteRequest parent. */
                    public parent: string;

                    /** CreateSiteRequest site. */
                    public site?: (google.ads.admanager.v1.ISite|null);

                    /**
                     * Creates a new CreateSiteRequest instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns CreateSiteRequest instance
                     */
                    public static create(properties?: google.ads.admanager.v1.ICreateSiteRequest): google.ads.admanager.v1.CreateSiteRequest;

                    /**
                     * Encodes the specified CreateSiteRequest message. Does not implicitly {@link google.ads.admanager.v1.CreateSiteRequest.verify|verify} messages.
                     * @param message CreateSiteRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.ICreateSiteRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified CreateSiteRequest message, length delimited. Does not implicitly {@link google.ads.admanager.v1.CreateSiteRequest.verify|verify} messages.
                     * @param message CreateSiteRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.ICreateSiteRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a CreateSiteRequest message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns CreateSiteRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.CreateSiteRequest;

                    /**
                     * Decodes a CreateSiteRequest message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns CreateSiteRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.CreateSiteRequest;

                    /**
                     * Verifies a CreateSiteRequest message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a CreateSiteRequest message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns CreateSiteRequest
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.CreateSiteRequest;

                    /**
                     * Creates a plain object from a CreateSiteRequest message. Also converts values to other types if specified.
                     * @param message CreateSiteRequest
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.CreateSiteRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this CreateSiteRequest to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for CreateSiteRequest
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a BatchCreateSitesRequest. */
                interface IBatchCreateSitesRequest {

                    /** BatchCreateSitesRequest parent */
                    parent?: (string|null);

                    /** BatchCreateSitesRequest requests */
                    requests?: (google.ads.admanager.v1.ICreateSiteRequest[]|null);
                }

                /** Represents a BatchCreateSitesRequest. */
                class BatchCreateSitesRequest implements IBatchCreateSitesRequest {

                    /**
                     * Constructs a new BatchCreateSitesRequest.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IBatchCreateSitesRequest);

                    /** BatchCreateSitesRequest parent. */
                    public parent: string;

                    /** BatchCreateSitesRequest requests. */
                    public requests: google.ads.admanager.v1.ICreateSiteRequest[];

                    /**
                     * Creates a new BatchCreateSitesRequest instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns BatchCreateSitesRequest instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IBatchCreateSitesRequest): google.ads.admanager.v1.BatchCreateSitesRequest;

                    /**
                     * Encodes the specified BatchCreateSitesRequest message. Does not implicitly {@link google.ads.admanager.v1.BatchCreateSitesRequest.verify|verify} messages.
                     * @param message BatchCreateSitesRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IBatchCreateSitesRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified BatchCreateSitesRequest message, length delimited. Does not implicitly {@link google.ads.admanager.v1.BatchCreateSitesRequest.verify|verify} messages.
                     * @param message BatchCreateSitesRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IBatchCreateSitesRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a BatchCreateSitesRequest message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns BatchCreateSitesRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.BatchCreateSitesRequest;

                    /**
                     * Decodes a BatchCreateSitesRequest message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns BatchCreateSitesRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.BatchCreateSitesRequest;

                    /**
                     * Verifies a BatchCreateSitesRequest message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a BatchCreateSitesRequest message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns BatchCreateSitesRequest
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.BatchCreateSitesRequest;

                    /**
                     * Creates a plain object from a BatchCreateSitesRequest message. Also converts values to other types if specified.
                     * @param message BatchCreateSitesRequest
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.BatchCreateSitesRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this BatchCreateSitesRequest to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for BatchCreateSitesRequest
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a BatchCreateSitesResponse. */
                interface IBatchCreateSitesResponse {

                    /** BatchCreateSitesResponse sites */
                    sites?: (google.ads.admanager.v1.ISite[]|null);
                }

                /** Represents a BatchCreateSitesResponse. */
                class BatchCreateSitesResponse implements IBatchCreateSitesResponse {

                    /**
                     * Constructs a new BatchCreateSitesResponse.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IBatchCreateSitesResponse);

                    /** BatchCreateSitesResponse sites. */
                    public sites: google.ads.admanager.v1.ISite[];

                    /**
                     * Creates a new BatchCreateSitesResponse instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns BatchCreateSitesResponse instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IBatchCreateSitesResponse): google.ads.admanager.v1.BatchCreateSitesResponse;

                    /**
                     * Encodes the specified BatchCreateSitesResponse message. Does not implicitly {@link google.ads.admanager.v1.BatchCreateSitesResponse.verify|verify} messages.
                     * @param message BatchCreateSitesResponse message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IBatchCreateSitesResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified BatchCreateSitesResponse message, length delimited. Does not implicitly {@link google.ads.admanager.v1.BatchCreateSitesResponse.verify|verify} messages.
                     * @param message BatchCreateSitesResponse message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IBatchCreateSitesResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a BatchCreateSitesResponse message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns BatchCreateSitesResponse
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.BatchCreateSitesResponse;

                    /**
                     * Decodes a BatchCreateSitesResponse message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns BatchCreateSitesResponse
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.BatchCreateSitesResponse;

                    /**
                     * Verifies a BatchCreateSitesResponse message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a BatchCreateSitesResponse message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns BatchCreateSitesResponse
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.BatchCreateSitesResponse;

                    /**
                     * Creates a plain object from a BatchCreateSitesResponse message. Also converts values to other types if specified.
                     * @param message BatchCreateSitesResponse
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.BatchCreateSitesResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this BatchCreateSitesResponse to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for BatchCreateSitesResponse
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of an UpdateSiteRequest. */
                interface IUpdateSiteRequest {

                    /** UpdateSiteRequest site */
                    site?: (google.ads.admanager.v1.ISite|null);

                    /** UpdateSiteRequest updateMask */
                    updateMask?: (google.protobuf.IFieldMask|null);
                }

                /** Represents an UpdateSiteRequest. */
                class UpdateSiteRequest implements IUpdateSiteRequest {

                    /**
                     * Constructs a new UpdateSiteRequest.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IUpdateSiteRequest);

                    /** UpdateSiteRequest site. */
                    public site?: (google.ads.admanager.v1.ISite|null);

                    /** UpdateSiteRequest updateMask. */
                    public updateMask?: (google.protobuf.IFieldMask|null);

                    /**
                     * Creates a new UpdateSiteRequest instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns UpdateSiteRequest instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IUpdateSiteRequest): google.ads.admanager.v1.UpdateSiteRequest;

                    /**
                     * Encodes the specified UpdateSiteRequest message. Does not implicitly {@link google.ads.admanager.v1.UpdateSiteRequest.verify|verify} messages.
                     * @param message UpdateSiteRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IUpdateSiteRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified UpdateSiteRequest message, length delimited. Does not implicitly {@link google.ads.admanager.v1.UpdateSiteRequest.verify|verify} messages.
                     * @param message UpdateSiteRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IUpdateSiteRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes an UpdateSiteRequest message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns UpdateSiteRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.UpdateSiteRequest;

                    /**
                     * Decodes an UpdateSiteRequest message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns UpdateSiteRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.UpdateSiteRequest;

                    /**
                     * Verifies an UpdateSiteRequest message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates an UpdateSiteRequest message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns UpdateSiteRequest
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.UpdateSiteRequest;

                    /**
                     * Creates a plain object from an UpdateSiteRequest message. Also converts values to other types if specified.
                     * @param message UpdateSiteRequest
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.UpdateSiteRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this UpdateSiteRequest to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for UpdateSiteRequest
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a BatchUpdateSitesRequest. */
                interface IBatchUpdateSitesRequest {

                    /** BatchUpdateSitesRequest parent */
                    parent?: (string|null);

                    /** BatchUpdateSitesRequest requests */
                    requests?: (google.ads.admanager.v1.IUpdateSiteRequest[]|null);
                }

                /** Represents a BatchUpdateSitesRequest. */
                class BatchUpdateSitesRequest implements IBatchUpdateSitesRequest {

                    /**
                     * Constructs a new BatchUpdateSitesRequest.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IBatchUpdateSitesRequest);

                    /** BatchUpdateSitesRequest parent. */
                    public parent: string;

                    /** BatchUpdateSitesRequest requests. */
                    public requests: google.ads.admanager.v1.IUpdateSiteRequest[];

                    /**
                     * Creates a new BatchUpdateSitesRequest instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns BatchUpdateSitesRequest instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IBatchUpdateSitesRequest): google.ads.admanager.v1.BatchUpdateSitesRequest;

                    /**
                     * Encodes the specified BatchUpdateSitesRequest message. Does not implicitly {@link google.ads.admanager.v1.BatchUpdateSitesRequest.verify|verify} messages.
                     * @param message BatchUpdateSitesRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IBatchUpdateSitesRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified BatchUpdateSitesRequest message, length delimited. Does not implicitly {@link google.ads.admanager.v1.BatchUpdateSitesRequest.verify|verify} messages.
                     * @param message BatchUpdateSitesRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IBatchUpdateSitesRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a BatchUpdateSitesRequest message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns BatchUpdateSitesRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.BatchUpdateSitesRequest;

                    /**
                     * Decodes a BatchUpdateSitesRequest message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns BatchUpdateSitesRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.BatchUpdateSitesRequest;

                    /**
                     * Verifies a BatchUpdateSitesRequest message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a BatchUpdateSitesRequest message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns BatchUpdateSitesRequest
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.BatchUpdateSitesRequest;

                    /**
                     * Creates a plain object from a BatchUpdateSitesRequest message. Also converts values to other types if specified.
                     * @param message BatchUpdateSitesRequest
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.BatchUpdateSitesRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this BatchUpdateSitesRequest to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for BatchUpdateSitesRequest
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a BatchUpdateSitesResponse. */
                interface IBatchUpdateSitesResponse {

                    /** BatchUpdateSitesResponse sites */
                    sites?: (google.ads.admanager.v1.ISite[]|null);
                }

                /** Represents a BatchUpdateSitesResponse. */
                class BatchUpdateSitesResponse implements IBatchUpdateSitesResponse {

                    /**
                     * Constructs a new BatchUpdateSitesResponse.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IBatchUpdateSitesResponse);

                    /** BatchUpdateSitesResponse sites. */
                    public sites: google.ads.admanager.v1.ISite[];

                    /**
                     * Creates a new BatchUpdateSitesResponse instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns BatchUpdateSitesResponse instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IBatchUpdateSitesResponse): google.ads.admanager.v1.BatchUpdateSitesResponse;

                    /**
                     * Encodes the specified BatchUpdateSitesResponse message. Does not implicitly {@link google.ads.admanager.v1.BatchUpdateSitesResponse.verify|verify} messages.
                     * @param message BatchUpdateSitesResponse message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IBatchUpdateSitesResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified BatchUpdateSitesResponse message, length delimited. Does not implicitly {@link google.ads.admanager.v1.BatchUpdateSitesResponse.verify|verify} messages.
                     * @param message BatchUpdateSitesResponse message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IBatchUpdateSitesResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a BatchUpdateSitesResponse message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns BatchUpdateSitesResponse
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.BatchUpdateSitesResponse;

                    /**
                     * Decodes a BatchUpdateSitesResponse message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns BatchUpdateSitesResponse
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.BatchUpdateSitesResponse;

                    /**
                     * Verifies a BatchUpdateSitesResponse message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a BatchUpdateSitesResponse message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns BatchUpdateSitesResponse
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.BatchUpdateSitesResponse;

                    /**
                     * Creates a plain object from a BatchUpdateSitesResponse message. Also converts values to other types if specified.
                     * @param message BatchUpdateSitesResponse
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.BatchUpdateSitesResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this BatchUpdateSitesResponse to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for BatchUpdateSitesResponse
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a BatchDeactivateSitesRequest. */
                interface IBatchDeactivateSitesRequest {

                    /** BatchDeactivateSitesRequest parent */
                    parent?: (string|null);

                    /** BatchDeactivateSitesRequest names */
                    names?: (string[]|null);
                }

                /** Represents a BatchDeactivateSitesRequest. */
                class BatchDeactivateSitesRequest implements IBatchDeactivateSitesRequest {

                    /**
                     * Constructs a new BatchDeactivateSitesRequest.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IBatchDeactivateSitesRequest);

                    /** BatchDeactivateSitesRequest parent. */
                    public parent: string;

                    /** BatchDeactivateSitesRequest names. */
                    public names: string[];

                    /**
                     * Creates a new BatchDeactivateSitesRequest instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns BatchDeactivateSitesRequest instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IBatchDeactivateSitesRequest): google.ads.admanager.v1.BatchDeactivateSitesRequest;

                    /**
                     * Encodes the specified BatchDeactivateSitesRequest message. Does not implicitly {@link google.ads.admanager.v1.BatchDeactivateSitesRequest.verify|verify} messages.
                     * @param message BatchDeactivateSitesRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IBatchDeactivateSitesRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified BatchDeactivateSitesRequest message, length delimited. Does not implicitly {@link google.ads.admanager.v1.BatchDeactivateSitesRequest.verify|verify} messages.
                     * @param message BatchDeactivateSitesRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IBatchDeactivateSitesRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a BatchDeactivateSitesRequest message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns BatchDeactivateSitesRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.BatchDeactivateSitesRequest;

                    /**
                     * Decodes a BatchDeactivateSitesRequest message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns BatchDeactivateSitesRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.BatchDeactivateSitesRequest;

                    /**
                     * Verifies a BatchDeactivateSitesRequest message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a BatchDeactivateSitesRequest message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns BatchDeactivateSitesRequest
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.BatchDeactivateSitesRequest;

                    /**
                     * Creates a plain object from a BatchDeactivateSitesRequest message. Also converts values to other types if specified.
                     * @param message BatchDeactivateSitesRequest
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.BatchDeactivateSitesRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this BatchDeactivateSitesRequest to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for BatchDeactivateSitesRequest
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a BatchDeactivateSitesResponse. */
                interface IBatchDeactivateSitesResponse {
                }

                /** Represents a BatchDeactivateSitesResponse. */
                class BatchDeactivateSitesResponse implements IBatchDeactivateSitesResponse {

                    /**
                     * Constructs a new BatchDeactivateSitesResponse.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IBatchDeactivateSitesResponse);

                    /**
                     * Creates a new BatchDeactivateSitesResponse instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns BatchDeactivateSitesResponse instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IBatchDeactivateSitesResponse): google.ads.admanager.v1.BatchDeactivateSitesResponse;

                    /**
                     * Encodes the specified BatchDeactivateSitesResponse message. Does not implicitly {@link google.ads.admanager.v1.BatchDeactivateSitesResponse.verify|verify} messages.
                     * @param message BatchDeactivateSitesResponse message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IBatchDeactivateSitesResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified BatchDeactivateSitesResponse message, length delimited. Does not implicitly {@link google.ads.admanager.v1.BatchDeactivateSitesResponse.verify|verify} messages.
                     * @param message BatchDeactivateSitesResponse message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IBatchDeactivateSitesResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a BatchDeactivateSitesResponse message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns BatchDeactivateSitesResponse
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.BatchDeactivateSitesResponse;

                    /**
                     * Decodes a BatchDeactivateSitesResponse message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns BatchDeactivateSitesResponse
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.BatchDeactivateSitesResponse;

                    /**
                     * Verifies a BatchDeactivateSitesResponse message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a BatchDeactivateSitesResponse message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns BatchDeactivateSitesResponse
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.BatchDeactivateSitesResponse;

                    /**
                     * Creates a plain object from a BatchDeactivateSitesResponse message. Also converts values to other types if specified.
                     * @param message BatchDeactivateSitesResponse
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.BatchDeactivateSitesResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this BatchDeactivateSitesResponse to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for BatchDeactivateSitesResponse
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a BatchSubmitSitesForApprovalRequest. */
                interface IBatchSubmitSitesForApprovalRequest {

                    /** BatchSubmitSitesForApprovalRequest parent */
                    parent?: (string|null);

                    /** BatchSubmitSitesForApprovalRequest names */
                    names?: (string[]|null);
                }

                /** Represents a BatchSubmitSitesForApprovalRequest. */
                class BatchSubmitSitesForApprovalRequest implements IBatchSubmitSitesForApprovalRequest {

                    /**
                     * Constructs a new BatchSubmitSitesForApprovalRequest.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IBatchSubmitSitesForApprovalRequest);

                    /** BatchSubmitSitesForApprovalRequest parent. */
                    public parent: string;

                    /** BatchSubmitSitesForApprovalRequest names. */
                    public names: string[];

                    /**
                     * Creates a new BatchSubmitSitesForApprovalRequest instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns BatchSubmitSitesForApprovalRequest instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IBatchSubmitSitesForApprovalRequest): google.ads.admanager.v1.BatchSubmitSitesForApprovalRequest;

                    /**
                     * Encodes the specified BatchSubmitSitesForApprovalRequest message. Does not implicitly {@link google.ads.admanager.v1.BatchSubmitSitesForApprovalRequest.verify|verify} messages.
                     * @param message BatchSubmitSitesForApprovalRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IBatchSubmitSitesForApprovalRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified BatchSubmitSitesForApprovalRequest message, length delimited. Does not implicitly {@link google.ads.admanager.v1.BatchSubmitSitesForApprovalRequest.verify|verify} messages.
                     * @param message BatchSubmitSitesForApprovalRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IBatchSubmitSitesForApprovalRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a BatchSubmitSitesForApprovalRequest message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns BatchSubmitSitesForApprovalRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.BatchSubmitSitesForApprovalRequest;

                    /**
                     * Decodes a BatchSubmitSitesForApprovalRequest message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns BatchSubmitSitesForApprovalRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.BatchSubmitSitesForApprovalRequest;

                    /**
                     * Verifies a BatchSubmitSitesForApprovalRequest message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a BatchSubmitSitesForApprovalRequest message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns BatchSubmitSitesForApprovalRequest
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.BatchSubmitSitesForApprovalRequest;

                    /**
                     * Creates a plain object from a BatchSubmitSitesForApprovalRequest message. Also converts values to other types if specified.
                     * @param message BatchSubmitSitesForApprovalRequest
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.BatchSubmitSitesForApprovalRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this BatchSubmitSitesForApprovalRequest to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for BatchSubmitSitesForApprovalRequest
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a BatchSubmitSitesForApprovalResponse. */
                interface IBatchSubmitSitesForApprovalResponse {
                }

                /** Represents a BatchSubmitSitesForApprovalResponse. */
                class BatchSubmitSitesForApprovalResponse implements IBatchSubmitSitesForApprovalResponse {

                    /**
                     * Constructs a new BatchSubmitSitesForApprovalResponse.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IBatchSubmitSitesForApprovalResponse);

                    /**
                     * Creates a new BatchSubmitSitesForApprovalResponse instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns BatchSubmitSitesForApprovalResponse instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IBatchSubmitSitesForApprovalResponse): google.ads.admanager.v1.BatchSubmitSitesForApprovalResponse;

                    /**
                     * Encodes the specified BatchSubmitSitesForApprovalResponse message. Does not implicitly {@link google.ads.admanager.v1.BatchSubmitSitesForApprovalResponse.verify|verify} messages.
                     * @param message BatchSubmitSitesForApprovalResponse message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IBatchSubmitSitesForApprovalResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified BatchSubmitSitesForApprovalResponse message, length delimited. Does not implicitly {@link google.ads.admanager.v1.BatchSubmitSitesForApprovalResponse.verify|verify} messages.
                     * @param message BatchSubmitSitesForApprovalResponse message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IBatchSubmitSitesForApprovalResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a BatchSubmitSitesForApprovalResponse message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns BatchSubmitSitesForApprovalResponse
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.BatchSubmitSitesForApprovalResponse;

                    /**
                     * Decodes a BatchSubmitSitesForApprovalResponse message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns BatchSubmitSitesForApprovalResponse
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.BatchSubmitSitesForApprovalResponse;

                    /**
                     * Verifies a BatchSubmitSitesForApprovalResponse message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a BatchSubmitSitesForApprovalResponse message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns BatchSubmitSitesForApprovalResponse
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.BatchSubmitSitesForApprovalResponse;

                    /**
                     * Creates a plain object from a BatchSubmitSitesForApprovalResponse message. Also converts values to other types if specified.
                     * @param message BatchSubmitSitesForApprovalResponse
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.BatchSubmitSitesForApprovalResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this BatchSubmitSitesForApprovalResponse to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for BatchSubmitSitesForApprovalResponse
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a TaxonomyCategory. */
                interface ITaxonomyCategory {

                    /** TaxonomyCategory name */
                    name?: (string|null);

                    /** TaxonomyCategory taxonomyCategoryId */
                    taxonomyCategoryId?: (number|Long|string|null);

                    /** TaxonomyCategory displayName */
                    displayName?: (string|null);

                    /** TaxonomyCategory groupingOnly */
                    groupingOnly?: (boolean|null);

                    /** TaxonomyCategory parentTaxonomyCategoryId */
                    parentTaxonomyCategoryId?: (number|Long|string|null);

                    /** TaxonomyCategory taxonomyType */
                    taxonomyType?: (google.ads.admanager.v1.TaxonomyTypeEnum.TaxonomyType|keyof typeof google.ads.admanager.v1.TaxonomyTypeEnum.TaxonomyType|null);

                    /** TaxonomyCategory ancestorNames */
                    ancestorNames?: (string[]|null);

                    /** TaxonomyCategory ancestorTaxonomyCategoryIds */
                    ancestorTaxonomyCategoryIds?: ((number|Long|string)[]|null);
                }

                /** Represents a TaxonomyCategory. */
                class TaxonomyCategory implements ITaxonomyCategory {

                    /**
                     * Constructs a new TaxonomyCategory.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.ITaxonomyCategory);

                    /** TaxonomyCategory name. */
                    public name: string;

                    /** TaxonomyCategory taxonomyCategoryId. */
                    public taxonomyCategoryId?: (number|Long|string|null);

                    /** TaxonomyCategory displayName. */
                    public displayName?: (string|null);

                    /** TaxonomyCategory groupingOnly. */
                    public groupingOnly?: (boolean|null);

                    /** TaxonomyCategory parentTaxonomyCategoryId. */
                    public parentTaxonomyCategoryId?: (number|Long|string|null);

                    /** TaxonomyCategory taxonomyType. */
                    public taxonomyType?: (google.ads.admanager.v1.TaxonomyTypeEnum.TaxonomyType|keyof typeof google.ads.admanager.v1.TaxonomyTypeEnum.TaxonomyType|null);

                    /** TaxonomyCategory ancestorNames. */
                    public ancestorNames: string[];

                    /** TaxonomyCategory ancestorTaxonomyCategoryIds. */
                    public ancestorTaxonomyCategoryIds: (number|Long|string)[];

                    /**
                     * Creates a new TaxonomyCategory instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns TaxonomyCategory instance
                     */
                    public static create(properties?: google.ads.admanager.v1.ITaxonomyCategory): google.ads.admanager.v1.TaxonomyCategory;

                    /**
                     * Encodes the specified TaxonomyCategory message. Does not implicitly {@link google.ads.admanager.v1.TaxonomyCategory.verify|verify} messages.
                     * @param message TaxonomyCategory message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.ITaxonomyCategory, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified TaxonomyCategory message, length delimited. Does not implicitly {@link google.ads.admanager.v1.TaxonomyCategory.verify|verify} messages.
                     * @param message TaxonomyCategory message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.ITaxonomyCategory, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a TaxonomyCategory message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns TaxonomyCategory
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.TaxonomyCategory;

                    /**
                     * Decodes a TaxonomyCategory message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns TaxonomyCategory
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.TaxonomyCategory;

                    /**
                     * Verifies a TaxonomyCategory message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a TaxonomyCategory message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns TaxonomyCategory
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.TaxonomyCategory;

                    /**
                     * Creates a plain object from a TaxonomyCategory message. Also converts values to other types if specified.
                     * @param message TaxonomyCategory
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.TaxonomyCategory, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this TaxonomyCategory to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for TaxonomyCategory
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a TaxonomyTypeEnum. */
                interface ITaxonomyTypeEnum {
                }

                /** Represents a TaxonomyTypeEnum. */
                class TaxonomyTypeEnum implements ITaxonomyTypeEnum {

                    /**
                     * Constructs a new TaxonomyTypeEnum.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.ITaxonomyTypeEnum);

                    /**
                     * Creates a new TaxonomyTypeEnum instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns TaxonomyTypeEnum instance
                     */
                    public static create(properties?: google.ads.admanager.v1.ITaxonomyTypeEnum): google.ads.admanager.v1.TaxonomyTypeEnum;

                    /**
                     * Encodes the specified TaxonomyTypeEnum message. Does not implicitly {@link google.ads.admanager.v1.TaxonomyTypeEnum.verify|verify} messages.
                     * @param message TaxonomyTypeEnum message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.ITaxonomyTypeEnum, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified TaxonomyTypeEnum message, length delimited. Does not implicitly {@link google.ads.admanager.v1.TaxonomyTypeEnum.verify|verify} messages.
                     * @param message TaxonomyTypeEnum message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.ITaxonomyTypeEnum, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a TaxonomyTypeEnum message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns TaxonomyTypeEnum
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.TaxonomyTypeEnum;

                    /**
                     * Decodes a TaxonomyTypeEnum message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns TaxonomyTypeEnum
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.TaxonomyTypeEnum;

                    /**
                     * Verifies a TaxonomyTypeEnum message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a TaxonomyTypeEnum message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns TaxonomyTypeEnum
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.TaxonomyTypeEnum;

                    /**
                     * Creates a plain object from a TaxonomyTypeEnum message. Also converts values to other types if specified.
                     * @param message TaxonomyTypeEnum
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.TaxonomyTypeEnum, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this TaxonomyTypeEnum to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for TaxonomyTypeEnum
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                namespace TaxonomyTypeEnum {

                    /** TaxonomyType enum. */
                    enum TaxonomyType {
                        TAXONOMY_TYPE_UNSPECIFIED = 0,
                        TAXONOMY_IAB_AUDIENCE_1_1 = 3,
                        TAXONOMY_IAB_CONTENT_1_0 = 8,
                        TAXONOMY_IAB_CONTENT_2_1 = 4,
                        TAXONOMY_IAB_CONTENT_2_2 = 6,
                        TAXONOMY_IAB_CONTENT_3_0 = 5,
                        TAXONOMY_GOOGLE_STRUCTURED_VIDEO_1_0 = 7
                    }
                }

                /** Represents a TaxonomyCategoryService */
                class TaxonomyCategoryService extends $protobuf.rpc.Service {

                    /**
                     * Constructs a new TaxonomyCategoryService service.
                     * @param rpcImpl RPC implementation
                     * @param [requestDelimited=false] Whether requests are length-delimited
                     * @param [responseDelimited=false] Whether responses are length-delimited
                     */
                    constructor(rpcImpl: $protobuf.RPCImpl, requestDelimited?: boolean, responseDelimited?: boolean);

                    /**
                     * Creates new TaxonomyCategoryService service using the specified rpc implementation.
                     * @param rpcImpl RPC implementation
                     * @param [requestDelimited=false] Whether requests are length-delimited
                     * @param [responseDelimited=false] Whether responses are length-delimited
                     * @returns RPC service. Useful where requests and/or responses are streamed.
                     */
                    public static create(rpcImpl: $protobuf.RPCImpl, requestDelimited?: boolean, responseDelimited?: boolean): TaxonomyCategoryService;

                    /**
                     * Calls GetTaxonomyCategory.
                     * @param request GetTaxonomyCategoryRequest message or plain object
                     * @param callback Node-style callback called with the error, if any, and TaxonomyCategory
                     */
                    public getTaxonomyCategory(request: google.ads.admanager.v1.IGetTaxonomyCategoryRequest, callback: google.ads.admanager.v1.TaxonomyCategoryService.GetTaxonomyCategoryCallback): void;

                    /**
                     * Calls GetTaxonomyCategory.
                     * @param request GetTaxonomyCategoryRequest message or plain object
                     * @returns Promise
                     */
                    public getTaxonomyCategory(request: google.ads.admanager.v1.IGetTaxonomyCategoryRequest): Promise<google.ads.admanager.v1.TaxonomyCategory>;

                    /**
                     * Calls ListTaxonomyCategories.
                     * @param request ListTaxonomyCategoriesRequest message or plain object
                     * @param callback Node-style callback called with the error, if any, and ListTaxonomyCategoriesResponse
                     */
                    public listTaxonomyCategories(request: google.ads.admanager.v1.IListTaxonomyCategoriesRequest, callback: google.ads.admanager.v1.TaxonomyCategoryService.ListTaxonomyCategoriesCallback): void;

                    /**
                     * Calls ListTaxonomyCategories.
                     * @param request ListTaxonomyCategoriesRequest message or plain object
                     * @returns Promise
                     */
                    public listTaxonomyCategories(request: google.ads.admanager.v1.IListTaxonomyCategoriesRequest): Promise<google.ads.admanager.v1.ListTaxonomyCategoriesResponse>;
                }

                namespace TaxonomyCategoryService {

                    /**
                     * Callback as used by {@link google.ads.admanager.v1.TaxonomyCategoryService|getTaxonomyCategory}.
                     * @param error Error, if any
                     * @param [response] TaxonomyCategory
                     */
                    type GetTaxonomyCategoryCallback = (error: (Error|null), response?: google.ads.admanager.v1.TaxonomyCategory) => void;

                    /**
                     * Callback as used by {@link google.ads.admanager.v1.TaxonomyCategoryService|listTaxonomyCategories}.
                     * @param error Error, if any
                     * @param [response] ListTaxonomyCategoriesResponse
                     */
                    type ListTaxonomyCategoriesCallback = (error: (Error|null), response?: google.ads.admanager.v1.ListTaxonomyCategoriesResponse) => void;
                }

                /** Properties of a GetTaxonomyCategoryRequest. */
                interface IGetTaxonomyCategoryRequest {

                    /** GetTaxonomyCategoryRequest name */
                    name?: (string|null);
                }

                /** Represents a GetTaxonomyCategoryRequest. */
                class GetTaxonomyCategoryRequest implements IGetTaxonomyCategoryRequest {

                    /**
                     * Constructs a new GetTaxonomyCategoryRequest.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IGetTaxonomyCategoryRequest);

                    /** GetTaxonomyCategoryRequest name. */
                    public name: string;

                    /**
                     * Creates a new GetTaxonomyCategoryRequest instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns GetTaxonomyCategoryRequest instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IGetTaxonomyCategoryRequest): google.ads.admanager.v1.GetTaxonomyCategoryRequest;

                    /**
                     * Encodes the specified GetTaxonomyCategoryRequest message. Does not implicitly {@link google.ads.admanager.v1.GetTaxonomyCategoryRequest.verify|verify} messages.
                     * @param message GetTaxonomyCategoryRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IGetTaxonomyCategoryRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified GetTaxonomyCategoryRequest message, length delimited. Does not implicitly {@link google.ads.admanager.v1.GetTaxonomyCategoryRequest.verify|verify} messages.
                     * @param message GetTaxonomyCategoryRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IGetTaxonomyCategoryRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a GetTaxonomyCategoryRequest message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns GetTaxonomyCategoryRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.GetTaxonomyCategoryRequest;

                    /**
                     * Decodes a GetTaxonomyCategoryRequest message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns GetTaxonomyCategoryRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.GetTaxonomyCategoryRequest;

                    /**
                     * Verifies a GetTaxonomyCategoryRequest message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a GetTaxonomyCategoryRequest message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns GetTaxonomyCategoryRequest
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.GetTaxonomyCategoryRequest;

                    /**
                     * Creates a plain object from a GetTaxonomyCategoryRequest message. Also converts values to other types if specified.
                     * @param message GetTaxonomyCategoryRequest
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.GetTaxonomyCategoryRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this GetTaxonomyCategoryRequest to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for GetTaxonomyCategoryRequest
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a ListTaxonomyCategoriesRequest. */
                interface IListTaxonomyCategoriesRequest {

                    /** ListTaxonomyCategoriesRequest parent */
                    parent?: (string|null);

                    /** ListTaxonomyCategoriesRequest pageSize */
                    pageSize?: (number|null);

                    /** ListTaxonomyCategoriesRequest pageToken */
                    pageToken?: (string|null);

                    /** ListTaxonomyCategoriesRequest filter */
                    filter?: (string|null);

                    /** ListTaxonomyCategoriesRequest orderBy */
                    orderBy?: (string|null);

                    /** ListTaxonomyCategoriesRequest skip */
                    skip?: (number|null);
                }

                /** Represents a ListTaxonomyCategoriesRequest. */
                class ListTaxonomyCategoriesRequest implements IListTaxonomyCategoriesRequest {

                    /**
                     * Constructs a new ListTaxonomyCategoriesRequest.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IListTaxonomyCategoriesRequest);

                    /** ListTaxonomyCategoriesRequest parent. */
                    public parent: string;

                    /** ListTaxonomyCategoriesRequest pageSize. */
                    public pageSize: number;

                    /** ListTaxonomyCategoriesRequest pageToken. */
                    public pageToken: string;

                    /** ListTaxonomyCategoriesRequest filter. */
                    public filter: string;

                    /** ListTaxonomyCategoriesRequest orderBy. */
                    public orderBy: string;

                    /** ListTaxonomyCategoriesRequest skip. */
                    public skip: number;

                    /**
                     * Creates a new ListTaxonomyCategoriesRequest instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns ListTaxonomyCategoriesRequest instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IListTaxonomyCategoriesRequest): google.ads.admanager.v1.ListTaxonomyCategoriesRequest;

                    /**
                     * Encodes the specified ListTaxonomyCategoriesRequest message. Does not implicitly {@link google.ads.admanager.v1.ListTaxonomyCategoriesRequest.verify|verify} messages.
                     * @param message ListTaxonomyCategoriesRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IListTaxonomyCategoriesRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified ListTaxonomyCategoriesRequest message, length delimited. Does not implicitly {@link google.ads.admanager.v1.ListTaxonomyCategoriesRequest.verify|verify} messages.
                     * @param message ListTaxonomyCategoriesRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IListTaxonomyCategoriesRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a ListTaxonomyCategoriesRequest message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns ListTaxonomyCategoriesRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.ListTaxonomyCategoriesRequest;

                    /**
                     * Decodes a ListTaxonomyCategoriesRequest message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns ListTaxonomyCategoriesRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.ListTaxonomyCategoriesRequest;

                    /**
                     * Verifies a ListTaxonomyCategoriesRequest message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a ListTaxonomyCategoriesRequest message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns ListTaxonomyCategoriesRequest
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.ListTaxonomyCategoriesRequest;

                    /**
                     * Creates a plain object from a ListTaxonomyCategoriesRequest message. Also converts values to other types if specified.
                     * @param message ListTaxonomyCategoriesRequest
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.ListTaxonomyCategoriesRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this ListTaxonomyCategoriesRequest to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for ListTaxonomyCategoriesRequest
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a ListTaxonomyCategoriesResponse. */
                interface IListTaxonomyCategoriesResponse {

                    /** ListTaxonomyCategoriesResponse taxonomyCategories */
                    taxonomyCategories?: (google.ads.admanager.v1.ITaxonomyCategory[]|null);

                    /** ListTaxonomyCategoriesResponse nextPageToken */
                    nextPageToken?: (string|null);

                    /** ListTaxonomyCategoriesResponse totalSize */
                    totalSize?: (number|null);
                }

                /** Represents a ListTaxonomyCategoriesResponse. */
                class ListTaxonomyCategoriesResponse implements IListTaxonomyCategoriesResponse {

                    /**
                     * Constructs a new ListTaxonomyCategoriesResponse.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IListTaxonomyCategoriesResponse);

                    /** ListTaxonomyCategoriesResponse taxonomyCategories. */
                    public taxonomyCategories: google.ads.admanager.v1.ITaxonomyCategory[];

                    /** ListTaxonomyCategoriesResponse nextPageToken. */
                    public nextPageToken: string;

                    /** ListTaxonomyCategoriesResponse totalSize. */
                    public totalSize: number;

                    /**
                     * Creates a new ListTaxonomyCategoriesResponse instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns ListTaxonomyCategoriesResponse instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IListTaxonomyCategoriesResponse): google.ads.admanager.v1.ListTaxonomyCategoriesResponse;

                    /**
                     * Encodes the specified ListTaxonomyCategoriesResponse message. Does not implicitly {@link google.ads.admanager.v1.ListTaxonomyCategoriesResponse.verify|verify} messages.
                     * @param message ListTaxonomyCategoriesResponse message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IListTaxonomyCategoriesResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified ListTaxonomyCategoriesResponse message, length delimited. Does not implicitly {@link google.ads.admanager.v1.ListTaxonomyCategoriesResponse.verify|verify} messages.
                     * @param message ListTaxonomyCategoriesResponse message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IListTaxonomyCategoriesResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a ListTaxonomyCategoriesResponse message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns ListTaxonomyCategoriesResponse
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.ListTaxonomyCategoriesResponse;

                    /**
                     * Decodes a ListTaxonomyCategoriesResponse message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns ListTaxonomyCategoriesResponse
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.ListTaxonomyCategoriesResponse;

                    /**
                     * Verifies a ListTaxonomyCategoriesResponse message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a ListTaxonomyCategoriesResponse message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns ListTaxonomyCategoriesResponse
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.ListTaxonomyCategoriesResponse;

                    /**
                     * Creates a plain object from a ListTaxonomyCategoriesResponse message. Also converts values to other types if specified.
                     * @param message ListTaxonomyCategoriesResponse
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.ListTaxonomyCategoriesResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this ListTaxonomyCategoriesResponse to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for ListTaxonomyCategoriesResponse
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a TeamStatusEnum. */
                interface ITeamStatusEnum {
                }

                /** Represents a TeamStatusEnum. */
                class TeamStatusEnum implements ITeamStatusEnum {

                    /**
                     * Constructs a new TeamStatusEnum.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.ITeamStatusEnum);

                    /**
                     * Creates a new TeamStatusEnum instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns TeamStatusEnum instance
                     */
                    public static create(properties?: google.ads.admanager.v1.ITeamStatusEnum): google.ads.admanager.v1.TeamStatusEnum;

                    /**
                     * Encodes the specified TeamStatusEnum message. Does not implicitly {@link google.ads.admanager.v1.TeamStatusEnum.verify|verify} messages.
                     * @param message TeamStatusEnum message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.ITeamStatusEnum, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified TeamStatusEnum message, length delimited. Does not implicitly {@link google.ads.admanager.v1.TeamStatusEnum.verify|verify} messages.
                     * @param message TeamStatusEnum message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.ITeamStatusEnum, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a TeamStatusEnum message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns TeamStatusEnum
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.TeamStatusEnum;

                    /**
                     * Decodes a TeamStatusEnum message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns TeamStatusEnum
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.TeamStatusEnum;

                    /**
                     * Verifies a TeamStatusEnum message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a TeamStatusEnum message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns TeamStatusEnum
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.TeamStatusEnum;

                    /**
                     * Creates a plain object from a TeamStatusEnum message. Also converts values to other types if specified.
                     * @param message TeamStatusEnum
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.TeamStatusEnum, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this TeamStatusEnum to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for TeamStatusEnum
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                namespace TeamStatusEnum {

                    /** TeamStatus enum. */
                    enum TeamStatus {
                        TEAM_STATUS_UNSPECIFIED = 0,
                        ACTIVE = 1,
                        INACTIVE = 2
                    }
                }

                /** Properties of a TeamAccessTypeEnum. */
                interface ITeamAccessTypeEnum {
                }

                /** Represents a TeamAccessTypeEnum. */
                class TeamAccessTypeEnum implements ITeamAccessTypeEnum {

                    /**
                     * Constructs a new TeamAccessTypeEnum.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.ITeamAccessTypeEnum);

                    /**
                     * Creates a new TeamAccessTypeEnum instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns TeamAccessTypeEnum instance
                     */
                    public static create(properties?: google.ads.admanager.v1.ITeamAccessTypeEnum): google.ads.admanager.v1.TeamAccessTypeEnum;

                    /**
                     * Encodes the specified TeamAccessTypeEnum message. Does not implicitly {@link google.ads.admanager.v1.TeamAccessTypeEnum.verify|verify} messages.
                     * @param message TeamAccessTypeEnum message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.ITeamAccessTypeEnum, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified TeamAccessTypeEnum message, length delimited. Does not implicitly {@link google.ads.admanager.v1.TeamAccessTypeEnum.verify|verify} messages.
                     * @param message TeamAccessTypeEnum message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.ITeamAccessTypeEnum, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a TeamAccessTypeEnum message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns TeamAccessTypeEnum
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.TeamAccessTypeEnum;

                    /**
                     * Decodes a TeamAccessTypeEnum message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns TeamAccessTypeEnum
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.TeamAccessTypeEnum;

                    /**
                     * Verifies a TeamAccessTypeEnum message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a TeamAccessTypeEnum message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns TeamAccessTypeEnum
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.TeamAccessTypeEnum;

                    /**
                     * Creates a plain object from a TeamAccessTypeEnum message. Also converts values to other types if specified.
                     * @param message TeamAccessTypeEnum
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.TeamAccessTypeEnum, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this TeamAccessTypeEnum to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for TeamAccessTypeEnum
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                namespace TeamAccessTypeEnum {

                    /** TeamAccessType enum. */
                    enum TeamAccessType {
                        TEAM_ACCESS_TYPE_UNSPECIFIED = 0,
                        NONE = 1,
                        READ_ONLY = 2,
                        READ_WRITE = 3
                    }
                }

                /** Properties of a Team. */
                interface ITeam {

                    /** Team name */
                    name?: (string|null);

                    /** Team displayName */
                    displayName?: (string|null);

                    /** Team description */
                    description?: (string|null);

                    /** Team status */
                    status?: (google.ads.admanager.v1.TeamStatusEnum.TeamStatus|keyof typeof google.ads.admanager.v1.TeamStatusEnum.TeamStatus|null);

                    /** Team allCompaniesAccess */
                    allCompaniesAccess?: (boolean|null);

                    /** Team allInventoryAccess */
                    allInventoryAccess?: (boolean|null);

                    /** Team accessType */
                    accessType?: (google.ads.admanager.v1.TeamAccessTypeEnum.TeamAccessType|keyof typeof google.ads.admanager.v1.TeamAccessTypeEnum.TeamAccessType|null);
                }

                /** Represents a Team. */
                class Team implements ITeam {

                    /**
                     * Constructs a new Team.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.ITeam);

                    /** Team name. */
                    public name: string;

                    /** Team displayName. */
                    public displayName?: (string|null);

                    /** Team description. */
                    public description?: (string|null);

                    /** Team status. */
                    public status?: (google.ads.admanager.v1.TeamStatusEnum.TeamStatus|keyof typeof google.ads.admanager.v1.TeamStatusEnum.TeamStatus|null);

                    /** Team allCompaniesAccess. */
                    public allCompaniesAccess?: (boolean|null);

                    /** Team allInventoryAccess. */
                    public allInventoryAccess?: (boolean|null);

                    /** Team accessType. */
                    public accessType?: (google.ads.admanager.v1.TeamAccessTypeEnum.TeamAccessType|keyof typeof google.ads.admanager.v1.TeamAccessTypeEnum.TeamAccessType|null);

                    /**
                     * Creates a new Team instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns Team instance
                     */
                    public static create(properties?: google.ads.admanager.v1.ITeam): google.ads.admanager.v1.Team;

                    /**
                     * Encodes the specified Team message. Does not implicitly {@link google.ads.admanager.v1.Team.verify|verify} messages.
                     * @param message Team message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.ITeam, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified Team message, length delimited. Does not implicitly {@link google.ads.admanager.v1.Team.verify|verify} messages.
                     * @param message Team message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.ITeam, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a Team message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns Team
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.Team;

                    /**
                     * Decodes a Team message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns Team
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.Team;

                    /**
                     * Verifies a Team message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a Team message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns Team
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.Team;

                    /**
                     * Creates a plain object from a Team message. Also converts values to other types if specified.
                     * @param message Team
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.Team, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this Team to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for Team
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Represents a TeamService */
                class TeamService extends $protobuf.rpc.Service {

                    /**
                     * Constructs a new TeamService service.
                     * @param rpcImpl RPC implementation
                     * @param [requestDelimited=false] Whether requests are length-delimited
                     * @param [responseDelimited=false] Whether responses are length-delimited
                     */
                    constructor(rpcImpl: $protobuf.RPCImpl, requestDelimited?: boolean, responseDelimited?: boolean);

                    /**
                     * Creates new TeamService service using the specified rpc implementation.
                     * @param rpcImpl RPC implementation
                     * @param [requestDelimited=false] Whether requests are length-delimited
                     * @param [responseDelimited=false] Whether responses are length-delimited
                     * @returns RPC service. Useful where requests and/or responses are streamed.
                     */
                    public static create(rpcImpl: $protobuf.RPCImpl, requestDelimited?: boolean, responseDelimited?: boolean): TeamService;

                    /**
                     * Calls GetTeam.
                     * @param request GetTeamRequest message or plain object
                     * @param callback Node-style callback called with the error, if any, and Team
                     */
                    public getTeam(request: google.ads.admanager.v1.IGetTeamRequest, callback: google.ads.admanager.v1.TeamService.GetTeamCallback): void;

                    /**
                     * Calls GetTeam.
                     * @param request GetTeamRequest message or plain object
                     * @returns Promise
                     */
                    public getTeam(request: google.ads.admanager.v1.IGetTeamRequest): Promise<google.ads.admanager.v1.Team>;

                    /**
                     * Calls ListTeams.
                     * @param request ListTeamsRequest message or plain object
                     * @param callback Node-style callback called with the error, if any, and ListTeamsResponse
                     */
                    public listTeams(request: google.ads.admanager.v1.IListTeamsRequest, callback: google.ads.admanager.v1.TeamService.ListTeamsCallback): void;

                    /**
                     * Calls ListTeams.
                     * @param request ListTeamsRequest message or plain object
                     * @returns Promise
                     */
                    public listTeams(request: google.ads.admanager.v1.IListTeamsRequest): Promise<google.ads.admanager.v1.ListTeamsResponse>;

                    /**
                     * Calls CreateTeam.
                     * @param request CreateTeamRequest message or plain object
                     * @param callback Node-style callback called with the error, if any, and Team
                     */
                    public createTeam(request: google.ads.admanager.v1.ICreateTeamRequest, callback: google.ads.admanager.v1.TeamService.CreateTeamCallback): void;

                    /**
                     * Calls CreateTeam.
                     * @param request CreateTeamRequest message or plain object
                     * @returns Promise
                     */
                    public createTeam(request: google.ads.admanager.v1.ICreateTeamRequest): Promise<google.ads.admanager.v1.Team>;

                    /**
                     * Calls BatchCreateTeams.
                     * @param request BatchCreateTeamsRequest message or plain object
                     * @param callback Node-style callback called with the error, if any, and BatchCreateTeamsResponse
                     */
                    public batchCreateTeams(request: google.ads.admanager.v1.IBatchCreateTeamsRequest, callback: google.ads.admanager.v1.TeamService.BatchCreateTeamsCallback): void;

                    /**
                     * Calls BatchCreateTeams.
                     * @param request BatchCreateTeamsRequest message or plain object
                     * @returns Promise
                     */
                    public batchCreateTeams(request: google.ads.admanager.v1.IBatchCreateTeamsRequest): Promise<google.ads.admanager.v1.BatchCreateTeamsResponse>;

                    /**
                     * Calls UpdateTeam.
                     * @param request UpdateTeamRequest message or plain object
                     * @param callback Node-style callback called with the error, if any, and Team
                     */
                    public updateTeam(request: google.ads.admanager.v1.IUpdateTeamRequest, callback: google.ads.admanager.v1.TeamService.UpdateTeamCallback): void;

                    /**
                     * Calls UpdateTeam.
                     * @param request UpdateTeamRequest message or plain object
                     * @returns Promise
                     */
                    public updateTeam(request: google.ads.admanager.v1.IUpdateTeamRequest): Promise<google.ads.admanager.v1.Team>;

                    /**
                     * Calls BatchUpdateTeams.
                     * @param request BatchUpdateTeamsRequest message or plain object
                     * @param callback Node-style callback called with the error, if any, and BatchUpdateTeamsResponse
                     */
                    public batchUpdateTeams(request: google.ads.admanager.v1.IBatchUpdateTeamsRequest, callback: google.ads.admanager.v1.TeamService.BatchUpdateTeamsCallback): void;

                    /**
                     * Calls BatchUpdateTeams.
                     * @param request BatchUpdateTeamsRequest message or plain object
                     * @returns Promise
                     */
                    public batchUpdateTeams(request: google.ads.admanager.v1.IBatchUpdateTeamsRequest): Promise<google.ads.admanager.v1.BatchUpdateTeamsResponse>;

                    /**
                     * Calls BatchActivateTeams.
                     * @param request BatchActivateTeamsRequest message or plain object
                     * @param callback Node-style callback called with the error, if any, and BatchActivateTeamsResponse
                     */
                    public batchActivateTeams(request: google.ads.admanager.v1.IBatchActivateTeamsRequest, callback: google.ads.admanager.v1.TeamService.BatchActivateTeamsCallback): void;

                    /**
                     * Calls BatchActivateTeams.
                     * @param request BatchActivateTeamsRequest message or plain object
                     * @returns Promise
                     */
                    public batchActivateTeams(request: google.ads.admanager.v1.IBatchActivateTeamsRequest): Promise<google.ads.admanager.v1.BatchActivateTeamsResponse>;

                    /**
                     * Calls BatchDeactivateTeams.
                     * @param request BatchDeactivateTeamsRequest message or plain object
                     * @param callback Node-style callback called with the error, if any, and BatchDeactivateTeamsResponse
                     */
                    public batchDeactivateTeams(request: google.ads.admanager.v1.IBatchDeactivateTeamsRequest, callback: google.ads.admanager.v1.TeamService.BatchDeactivateTeamsCallback): void;

                    /**
                     * Calls BatchDeactivateTeams.
                     * @param request BatchDeactivateTeamsRequest message or plain object
                     * @returns Promise
                     */
                    public batchDeactivateTeams(request: google.ads.admanager.v1.IBatchDeactivateTeamsRequest): Promise<google.ads.admanager.v1.BatchDeactivateTeamsResponse>;
                }

                namespace TeamService {

                    /**
                     * Callback as used by {@link google.ads.admanager.v1.TeamService|getTeam}.
                     * @param error Error, if any
                     * @param [response] Team
                     */
                    type GetTeamCallback = (error: (Error|null), response?: google.ads.admanager.v1.Team) => void;

                    /**
                     * Callback as used by {@link google.ads.admanager.v1.TeamService|listTeams}.
                     * @param error Error, if any
                     * @param [response] ListTeamsResponse
                     */
                    type ListTeamsCallback = (error: (Error|null), response?: google.ads.admanager.v1.ListTeamsResponse) => void;

                    /**
                     * Callback as used by {@link google.ads.admanager.v1.TeamService|createTeam}.
                     * @param error Error, if any
                     * @param [response] Team
                     */
                    type CreateTeamCallback = (error: (Error|null), response?: google.ads.admanager.v1.Team) => void;

                    /**
                     * Callback as used by {@link google.ads.admanager.v1.TeamService|batchCreateTeams}.
                     * @param error Error, if any
                     * @param [response] BatchCreateTeamsResponse
                     */
                    type BatchCreateTeamsCallback = (error: (Error|null), response?: google.ads.admanager.v1.BatchCreateTeamsResponse) => void;

                    /**
                     * Callback as used by {@link google.ads.admanager.v1.TeamService|updateTeam}.
                     * @param error Error, if any
                     * @param [response] Team
                     */
                    type UpdateTeamCallback = (error: (Error|null), response?: google.ads.admanager.v1.Team) => void;

                    /**
                     * Callback as used by {@link google.ads.admanager.v1.TeamService|batchUpdateTeams}.
                     * @param error Error, if any
                     * @param [response] BatchUpdateTeamsResponse
                     */
                    type BatchUpdateTeamsCallback = (error: (Error|null), response?: google.ads.admanager.v1.BatchUpdateTeamsResponse) => void;

                    /**
                     * Callback as used by {@link google.ads.admanager.v1.TeamService|batchActivateTeams}.
                     * @param error Error, if any
                     * @param [response] BatchActivateTeamsResponse
                     */
                    type BatchActivateTeamsCallback = (error: (Error|null), response?: google.ads.admanager.v1.BatchActivateTeamsResponse) => void;

                    /**
                     * Callback as used by {@link google.ads.admanager.v1.TeamService|batchDeactivateTeams}.
                     * @param error Error, if any
                     * @param [response] BatchDeactivateTeamsResponse
                     */
                    type BatchDeactivateTeamsCallback = (error: (Error|null), response?: google.ads.admanager.v1.BatchDeactivateTeamsResponse) => void;
                }

                /** Properties of a GetTeamRequest. */
                interface IGetTeamRequest {

                    /** GetTeamRequest name */
                    name?: (string|null);
                }

                /** Represents a GetTeamRequest. */
                class GetTeamRequest implements IGetTeamRequest {

                    /**
                     * Constructs a new GetTeamRequest.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IGetTeamRequest);

                    /** GetTeamRequest name. */
                    public name: string;

                    /**
                     * Creates a new GetTeamRequest instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns GetTeamRequest instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IGetTeamRequest): google.ads.admanager.v1.GetTeamRequest;

                    /**
                     * Encodes the specified GetTeamRequest message. Does not implicitly {@link google.ads.admanager.v1.GetTeamRequest.verify|verify} messages.
                     * @param message GetTeamRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IGetTeamRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified GetTeamRequest message, length delimited. Does not implicitly {@link google.ads.admanager.v1.GetTeamRequest.verify|verify} messages.
                     * @param message GetTeamRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IGetTeamRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a GetTeamRequest message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns GetTeamRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.GetTeamRequest;

                    /**
                     * Decodes a GetTeamRequest message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns GetTeamRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.GetTeamRequest;

                    /**
                     * Verifies a GetTeamRequest message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a GetTeamRequest message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns GetTeamRequest
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.GetTeamRequest;

                    /**
                     * Creates a plain object from a GetTeamRequest message. Also converts values to other types if specified.
                     * @param message GetTeamRequest
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.GetTeamRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this GetTeamRequest to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for GetTeamRequest
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a ListTeamsRequest. */
                interface IListTeamsRequest {

                    /** ListTeamsRequest parent */
                    parent?: (string|null);

                    /** ListTeamsRequest pageSize */
                    pageSize?: (number|null);

                    /** ListTeamsRequest pageToken */
                    pageToken?: (string|null);

                    /** ListTeamsRequest filter */
                    filter?: (string|null);

                    /** ListTeamsRequest orderBy */
                    orderBy?: (string|null);

                    /** ListTeamsRequest skip */
                    skip?: (number|null);
                }

                /** Represents a ListTeamsRequest. */
                class ListTeamsRequest implements IListTeamsRequest {

                    /**
                     * Constructs a new ListTeamsRequest.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IListTeamsRequest);

                    /** ListTeamsRequest parent. */
                    public parent: string;

                    /** ListTeamsRequest pageSize. */
                    public pageSize: number;

                    /** ListTeamsRequest pageToken. */
                    public pageToken: string;

                    /** ListTeamsRequest filter. */
                    public filter: string;

                    /** ListTeamsRequest orderBy. */
                    public orderBy: string;

                    /** ListTeamsRequest skip. */
                    public skip: number;

                    /**
                     * Creates a new ListTeamsRequest instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns ListTeamsRequest instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IListTeamsRequest): google.ads.admanager.v1.ListTeamsRequest;

                    /**
                     * Encodes the specified ListTeamsRequest message. Does not implicitly {@link google.ads.admanager.v1.ListTeamsRequest.verify|verify} messages.
                     * @param message ListTeamsRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IListTeamsRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified ListTeamsRequest message, length delimited. Does not implicitly {@link google.ads.admanager.v1.ListTeamsRequest.verify|verify} messages.
                     * @param message ListTeamsRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IListTeamsRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a ListTeamsRequest message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns ListTeamsRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.ListTeamsRequest;

                    /**
                     * Decodes a ListTeamsRequest message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns ListTeamsRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.ListTeamsRequest;

                    /**
                     * Verifies a ListTeamsRequest message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a ListTeamsRequest message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns ListTeamsRequest
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.ListTeamsRequest;

                    /**
                     * Creates a plain object from a ListTeamsRequest message. Also converts values to other types if specified.
                     * @param message ListTeamsRequest
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.ListTeamsRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this ListTeamsRequest to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for ListTeamsRequest
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a ListTeamsResponse. */
                interface IListTeamsResponse {

                    /** ListTeamsResponse teams */
                    teams?: (google.ads.admanager.v1.ITeam[]|null);

                    /** ListTeamsResponse nextPageToken */
                    nextPageToken?: (string|null);

                    /** ListTeamsResponse totalSize */
                    totalSize?: (number|null);
                }

                /** Represents a ListTeamsResponse. */
                class ListTeamsResponse implements IListTeamsResponse {

                    /**
                     * Constructs a new ListTeamsResponse.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IListTeamsResponse);

                    /** ListTeamsResponse teams. */
                    public teams: google.ads.admanager.v1.ITeam[];

                    /** ListTeamsResponse nextPageToken. */
                    public nextPageToken: string;

                    /** ListTeamsResponse totalSize. */
                    public totalSize: number;

                    /**
                     * Creates a new ListTeamsResponse instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns ListTeamsResponse instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IListTeamsResponse): google.ads.admanager.v1.ListTeamsResponse;

                    /**
                     * Encodes the specified ListTeamsResponse message. Does not implicitly {@link google.ads.admanager.v1.ListTeamsResponse.verify|verify} messages.
                     * @param message ListTeamsResponse message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IListTeamsResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified ListTeamsResponse message, length delimited. Does not implicitly {@link google.ads.admanager.v1.ListTeamsResponse.verify|verify} messages.
                     * @param message ListTeamsResponse message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IListTeamsResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a ListTeamsResponse message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns ListTeamsResponse
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.ListTeamsResponse;

                    /**
                     * Decodes a ListTeamsResponse message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns ListTeamsResponse
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.ListTeamsResponse;

                    /**
                     * Verifies a ListTeamsResponse message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a ListTeamsResponse message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns ListTeamsResponse
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.ListTeamsResponse;

                    /**
                     * Creates a plain object from a ListTeamsResponse message. Also converts values to other types if specified.
                     * @param message ListTeamsResponse
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.ListTeamsResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this ListTeamsResponse to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for ListTeamsResponse
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a CreateTeamRequest. */
                interface ICreateTeamRequest {

                    /** CreateTeamRequest parent */
                    parent?: (string|null);

                    /** CreateTeamRequest team */
                    team?: (google.ads.admanager.v1.ITeam|null);
                }

                /** Represents a CreateTeamRequest. */
                class CreateTeamRequest implements ICreateTeamRequest {

                    /**
                     * Constructs a new CreateTeamRequest.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.ICreateTeamRequest);

                    /** CreateTeamRequest parent. */
                    public parent: string;

                    /** CreateTeamRequest team. */
                    public team?: (google.ads.admanager.v1.ITeam|null);

                    /**
                     * Creates a new CreateTeamRequest instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns CreateTeamRequest instance
                     */
                    public static create(properties?: google.ads.admanager.v1.ICreateTeamRequest): google.ads.admanager.v1.CreateTeamRequest;

                    /**
                     * Encodes the specified CreateTeamRequest message. Does not implicitly {@link google.ads.admanager.v1.CreateTeamRequest.verify|verify} messages.
                     * @param message CreateTeamRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.ICreateTeamRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified CreateTeamRequest message, length delimited. Does not implicitly {@link google.ads.admanager.v1.CreateTeamRequest.verify|verify} messages.
                     * @param message CreateTeamRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.ICreateTeamRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a CreateTeamRequest message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns CreateTeamRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.CreateTeamRequest;

                    /**
                     * Decodes a CreateTeamRequest message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns CreateTeamRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.CreateTeamRequest;

                    /**
                     * Verifies a CreateTeamRequest message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a CreateTeamRequest message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns CreateTeamRequest
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.CreateTeamRequest;

                    /**
                     * Creates a plain object from a CreateTeamRequest message. Also converts values to other types if specified.
                     * @param message CreateTeamRequest
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.CreateTeamRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this CreateTeamRequest to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for CreateTeamRequest
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a BatchCreateTeamsRequest. */
                interface IBatchCreateTeamsRequest {

                    /** BatchCreateTeamsRequest parent */
                    parent?: (string|null);

                    /** BatchCreateTeamsRequest requests */
                    requests?: (google.ads.admanager.v1.ICreateTeamRequest[]|null);
                }

                /** Represents a BatchCreateTeamsRequest. */
                class BatchCreateTeamsRequest implements IBatchCreateTeamsRequest {

                    /**
                     * Constructs a new BatchCreateTeamsRequest.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IBatchCreateTeamsRequest);

                    /** BatchCreateTeamsRequest parent. */
                    public parent: string;

                    /** BatchCreateTeamsRequest requests. */
                    public requests: google.ads.admanager.v1.ICreateTeamRequest[];

                    /**
                     * Creates a new BatchCreateTeamsRequest instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns BatchCreateTeamsRequest instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IBatchCreateTeamsRequest): google.ads.admanager.v1.BatchCreateTeamsRequest;

                    /**
                     * Encodes the specified BatchCreateTeamsRequest message. Does not implicitly {@link google.ads.admanager.v1.BatchCreateTeamsRequest.verify|verify} messages.
                     * @param message BatchCreateTeamsRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IBatchCreateTeamsRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified BatchCreateTeamsRequest message, length delimited. Does not implicitly {@link google.ads.admanager.v1.BatchCreateTeamsRequest.verify|verify} messages.
                     * @param message BatchCreateTeamsRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IBatchCreateTeamsRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a BatchCreateTeamsRequest message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns BatchCreateTeamsRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.BatchCreateTeamsRequest;

                    /**
                     * Decodes a BatchCreateTeamsRequest message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns BatchCreateTeamsRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.BatchCreateTeamsRequest;

                    /**
                     * Verifies a BatchCreateTeamsRequest message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a BatchCreateTeamsRequest message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns BatchCreateTeamsRequest
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.BatchCreateTeamsRequest;

                    /**
                     * Creates a plain object from a BatchCreateTeamsRequest message. Also converts values to other types if specified.
                     * @param message BatchCreateTeamsRequest
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.BatchCreateTeamsRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this BatchCreateTeamsRequest to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for BatchCreateTeamsRequest
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a BatchCreateTeamsResponse. */
                interface IBatchCreateTeamsResponse {

                    /** BatchCreateTeamsResponse teams */
                    teams?: (google.ads.admanager.v1.ITeam[]|null);
                }

                /** Represents a BatchCreateTeamsResponse. */
                class BatchCreateTeamsResponse implements IBatchCreateTeamsResponse {

                    /**
                     * Constructs a new BatchCreateTeamsResponse.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IBatchCreateTeamsResponse);

                    /** BatchCreateTeamsResponse teams. */
                    public teams: google.ads.admanager.v1.ITeam[];

                    /**
                     * Creates a new BatchCreateTeamsResponse instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns BatchCreateTeamsResponse instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IBatchCreateTeamsResponse): google.ads.admanager.v1.BatchCreateTeamsResponse;

                    /**
                     * Encodes the specified BatchCreateTeamsResponse message. Does not implicitly {@link google.ads.admanager.v1.BatchCreateTeamsResponse.verify|verify} messages.
                     * @param message BatchCreateTeamsResponse message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IBatchCreateTeamsResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified BatchCreateTeamsResponse message, length delimited. Does not implicitly {@link google.ads.admanager.v1.BatchCreateTeamsResponse.verify|verify} messages.
                     * @param message BatchCreateTeamsResponse message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IBatchCreateTeamsResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a BatchCreateTeamsResponse message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns BatchCreateTeamsResponse
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.BatchCreateTeamsResponse;

                    /**
                     * Decodes a BatchCreateTeamsResponse message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns BatchCreateTeamsResponse
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.BatchCreateTeamsResponse;

                    /**
                     * Verifies a BatchCreateTeamsResponse message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a BatchCreateTeamsResponse message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns BatchCreateTeamsResponse
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.BatchCreateTeamsResponse;

                    /**
                     * Creates a plain object from a BatchCreateTeamsResponse message. Also converts values to other types if specified.
                     * @param message BatchCreateTeamsResponse
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.BatchCreateTeamsResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this BatchCreateTeamsResponse to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for BatchCreateTeamsResponse
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of an UpdateTeamRequest. */
                interface IUpdateTeamRequest {

                    /** UpdateTeamRequest team */
                    team?: (google.ads.admanager.v1.ITeam|null);

                    /** UpdateTeamRequest updateMask */
                    updateMask?: (google.protobuf.IFieldMask|null);
                }

                /** Represents an UpdateTeamRequest. */
                class UpdateTeamRequest implements IUpdateTeamRequest {

                    /**
                     * Constructs a new UpdateTeamRequest.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IUpdateTeamRequest);

                    /** UpdateTeamRequest team. */
                    public team?: (google.ads.admanager.v1.ITeam|null);

                    /** UpdateTeamRequest updateMask. */
                    public updateMask?: (google.protobuf.IFieldMask|null);

                    /**
                     * Creates a new UpdateTeamRequest instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns UpdateTeamRequest instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IUpdateTeamRequest): google.ads.admanager.v1.UpdateTeamRequest;

                    /**
                     * Encodes the specified UpdateTeamRequest message. Does not implicitly {@link google.ads.admanager.v1.UpdateTeamRequest.verify|verify} messages.
                     * @param message UpdateTeamRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IUpdateTeamRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified UpdateTeamRequest message, length delimited. Does not implicitly {@link google.ads.admanager.v1.UpdateTeamRequest.verify|verify} messages.
                     * @param message UpdateTeamRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IUpdateTeamRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes an UpdateTeamRequest message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns UpdateTeamRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.UpdateTeamRequest;

                    /**
                     * Decodes an UpdateTeamRequest message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns UpdateTeamRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.UpdateTeamRequest;

                    /**
                     * Verifies an UpdateTeamRequest message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates an UpdateTeamRequest message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns UpdateTeamRequest
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.UpdateTeamRequest;

                    /**
                     * Creates a plain object from an UpdateTeamRequest message. Also converts values to other types if specified.
                     * @param message UpdateTeamRequest
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.UpdateTeamRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this UpdateTeamRequest to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for UpdateTeamRequest
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a BatchUpdateTeamsRequest. */
                interface IBatchUpdateTeamsRequest {

                    /** BatchUpdateTeamsRequest parent */
                    parent?: (string|null);

                    /** BatchUpdateTeamsRequest requests */
                    requests?: (google.ads.admanager.v1.IUpdateTeamRequest[]|null);
                }

                /** Represents a BatchUpdateTeamsRequest. */
                class BatchUpdateTeamsRequest implements IBatchUpdateTeamsRequest {

                    /**
                     * Constructs a new BatchUpdateTeamsRequest.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IBatchUpdateTeamsRequest);

                    /** BatchUpdateTeamsRequest parent. */
                    public parent: string;

                    /** BatchUpdateTeamsRequest requests. */
                    public requests: google.ads.admanager.v1.IUpdateTeamRequest[];

                    /**
                     * Creates a new BatchUpdateTeamsRequest instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns BatchUpdateTeamsRequest instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IBatchUpdateTeamsRequest): google.ads.admanager.v1.BatchUpdateTeamsRequest;

                    /**
                     * Encodes the specified BatchUpdateTeamsRequest message. Does not implicitly {@link google.ads.admanager.v1.BatchUpdateTeamsRequest.verify|verify} messages.
                     * @param message BatchUpdateTeamsRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IBatchUpdateTeamsRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified BatchUpdateTeamsRequest message, length delimited. Does not implicitly {@link google.ads.admanager.v1.BatchUpdateTeamsRequest.verify|verify} messages.
                     * @param message BatchUpdateTeamsRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IBatchUpdateTeamsRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a BatchUpdateTeamsRequest message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns BatchUpdateTeamsRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.BatchUpdateTeamsRequest;

                    /**
                     * Decodes a BatchUpdateTeamsRequest message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns BatchUpdateTeamsRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.BatchUpdateTeamsRequest;

                    /**
                     * Verifies a BatchUpdateTeamsRequest message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a BatchUpdateTeamsRequest message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns BatchUpdateTeamsRequest
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.BatchUpdateTeamsRequest;

                    /**
                     * Creates a plain object from a BatchUpdateTeamsRequest message. Also converts values to other types if specified.
                     * @param message BatchUpdateTeamsRequest
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.BatchUpdateTeamsRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this BatchUpdateTeamsRequest to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for BatchUpdateTeamsRequest
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a BatchUpdateTeamsResponse. */
                interface IBatchUpdateTeamsResponse {

                    /** BatchUpdateTeamsResponse teams */
                    teams?: (google.ads.admanager.v1.ITeam[]|null);
                }

                /** Represents a BatchUpdateTeamsResponse. */
                class BatchUpdateTeamsResponse implements IBatchUpdateTeamsResponse {

                    /**
                     * Constructs a new BatchUpdateTeamsResponse.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IBatchUpdateTeamsResponse);

                    /** BatchUpdateTeamsResponse teams. */
                    public teams: google.ads.admanager.v1.ITeam[];

                    /**
                     * Creates a new BatchUpdateTeamsResponse instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns BatchUpdateTeamsResponse instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IBatchUpdateTeamsResponse): google.ads.admanager.v1.BatchUpdateTeamsResponse;

                    /**
                     * Encodes the specified BatchUpdateTeamsResponse message. Does not implicitly {@link google.ads.admanager.v1.BatchUpdateTeamsResponse.verify|verify} messages.
                     * @param message BatchUpdateTeamsResponse message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IBatchUpdateTeamsResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified BatchUpdateTeamsResponse message, length delimited. Does not implicitly {@link google.ads.admanager.v1.BatchUpdateTeamsResponse.verify|verify} messages.
                     * @param message BatchUpdateTeamsResponse message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IBatchUpdateTeamsResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a BatchUpdateTeamsResponse message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns BatchUpdateTeamsResponse
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.BatchUpdateTeamsResponse;

                    /**
                     * Decodes a BatchUpdateTeamsResponse message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns BatchUpdateTeamsResponse
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.BatchUpdateTeamsResponse;

                    /**
                     * Verifies a BatchUpdateTeamsResponse message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a BatchUpdateTeamsResponse message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns BatchUpdateTeamsResponse
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.BatchUpdateTeamsResponse;

                    /**
                     * Creates a plain object from a BatchUpdateTeamsResponse message. Also converts values to other types if specified.
                     * @param message BatchUpdateTeamsResponse
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.BatchUpdateTeamsResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this BatchUpdateTeamsResponse to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for BatchUpdateTeamsResponse
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a BatchActivateTeamsRequest. */
                interface IBatchActivateTeamsRequest {

                    /** BatchActivateTeamsRequest parent */
                    parent?: (string|null);

                    /** BatchActivateTeamsRequest names */
                    names?: (string[]|null);
                }

                /** Represents a BatchActivateTeamsRequest. */
                class BatchActivateTeamsRequest implements IBatchActivateTeamsRequest {

                    /**
                     * Constructs a new BatchActivateTeamsRequest.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IBatchActivateTeamsRequest);

                    /** BatchActivateTeamsRequest parent. */
                    public parent: string;

                    /** BatchActivateTeamsRequest names. */
                    public names: string[];

                    /**
                     * Creates a new BatchActivateTeamsRequest instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns BatchActivateTeamsRequest instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IBatchActivateTeamsRequest): google.ads.admanager.v1.BatchActivateTeamsRequest;

                    /**
                     * Encodes the specified BatchActivateTeamsRequest message. Does not implicitly {@link google.ads.admanager.v1.BatchActivateTeamsRequest.verify|verify} messages.
                     * @param message BatchActivateTeamsRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IBatchActivateTeamsRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified BatchActivateTeamsRequest message, length delimited. Does not implicitly {@link google.ads.admanager.v1.BatchActivateTeamsRequest.verify|verify} messages.
                     * @param message BatchActivateTeamsRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IBatchActivateTeamsRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a BatchActivateTeamsRequest message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns BatchActivateTeamsRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.BatchActivateTeamsRequest;

                    /**
                     * Decodes a BatchActivateTeamsRequest message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns BatchActivateTeamsRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.BatchActivateTeamsRequest;

                    /**
                     * Verifies a BatchActivateTeamsRequest message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a BatchActivateTeamsRequest message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns BatchActivateTeamsRequest
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.BatchActivateTeamsRequest;

                    /**
                     * Creates a plain object from a BatchActivateTeamsRequest message. Also converts values to other types if specified.
                     * @param message BatchActivateTeamsRequest
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.BatchActivateTeamsRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this BatchActivateTeamsRequest to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for BatchActivateTeamsRequest
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a BatchActivateTeamsResponse. */
                interface IBatchActivateTeamsResponse {
                }

                /** Represents a BatchActivateTeamsResponse. */
                class BatchActivateTeamsResponse implements IBatchActivateTeamsResponse {

                    /**
                     * Constructs a new BatchActivateTeamsResponse.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IBatchActivateTeamsResponse);

                    /**
                     * Creates a new BatchActivateTeamsResponse instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns BatchActivateTeamsResponse instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IBatchActivateTeamsResponse): google.ads.admanager.v1.BatchActivateTeamsResponse;

                    /**
                     * Encodes the specified BatchActivateTeamsResponse message. Does not implicitly {@link google.ads.admanager.v1.BatchActivateTeamsResponse.verify|verify} messages.
                     * @param message BatchActivateTeamsResponse message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IBatchActivateTeamsResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified BatchActivateTeamsResponse message, length delimited. Does not implicitly {@link google.ads.admanager.v1.BatchActivateTeamsResponse.verify|verify} messages.
                     * @param message BatchActivateTeamsResponse message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IBatchActivateTeamsResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a BatchActivateTeamsResponse message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns BatchActivateTeamsResponse
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.BatchActivateTeamsResponse;

                    /**
                     * Decodes a BatchActivateTeamsResponse message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns BatchActivateTeamsResponse
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.BatchActivateTeamsResponse;

                    /**
                     * Verifies a BatchActivateTeamsResponse message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a BatchActivateTeamsResponse message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns BatchActivateTeamsResponse
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.BatchActivateTeamsResponse;

                    /**
                     * Creates a plain object from a BatchActivateTeamsResponse message. Also converts values to other types if specified.
                     * @param message BatchActivateTeamsResponse
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.BatchActivateTeamsResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this BatchActivateTeamsResponse to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for BatchActivateTeamsResponse
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a BatchDeactivateTeamsRequest. */
                interface IBatchDeactivateTeamsRequest {

                    /** BatchDeactivateTeamsRequest parent */
                    parent?: (string|null);

                    /** BatchDeactivateTeamsRequest names */
                    names?: (string[]|null);
                }

                /** Represents a BatchDeactivateTeamsRequest. */
                class BatchDeactivateTeamsRequest implements IBatchDeactivateTeamsRequest {

                    /**
                     * Constructs a new BatchDeactivateTeamsRequest.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IBatchDeactivateTeamsRequest);

                    /** BatchDeactivateTeamsRequest parent. */
                    public parent: string;

                    /** BatchDeactivateTeamsRequest names. */
                    public names: string[];

                    /**
                     * Creates a new BatchDeactivateTeamsRequest instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns BatchDeactivateTeamsRequest instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IBatchDeactivateTeamsRequest): google.ads.admanager.v1.BatchDeactivateTeamsRequest;

                    /**
                     * Encodes the specified BatchDeactivateTeamsRequest message. Does not implicitly {@link google.ads.admanager.v1.BatchDeactivateTeamsRequest.verify|verify} messages.
                     * @param message BatchDeactivateTeamsRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IBatchDeactivateTeamsRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified BatchDeactivateTeamsRequest message, length delimited. Does not implicitly {@link google.ads.admanager.v1.BatchDeactivateTeamsRequest.verify|verify} messages.
                     * @param message BatchDeactivateTeamsRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IBatchDeactivateTeamsRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a BatchDeactivateTeamsRequest message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns BatchDeactivateTeamsRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.BatchDeactivateTeamsRequest;

                    /**
                     * Decodes a BatchDeactivateTeamsRequest message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns BatchDeactivateTeamsRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.BatchDeactivateTeamsRequest;

                    /**
                     * Verifies a BatchDeactivateTeamsRequest message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a BatchDeactivateTeamsRequest message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns BatchDeactivateTeamsRequest
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.BatchDeactivateTeamsRequest;

                    /**
                     * Creates a plain object from a BatchDeactivateTeamsRequest message. Also converts values to other types if specified.
                     * @param message BatchDeactivateTeamsRequest
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.BatchDeactivateTeamsRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this BatchDeactivateTeamsRequest to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for BatchDeactivateTeamsRequest
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a BatchDeactivateTeamsResponse. */
                interface IBatchDeactivateTeamsResponse {
                }

                /** Represents a BatchDeactivateTeamsResponse. */
                class BatchDeactivateTeamsResponse implements IBatchDeactivateTeamsResponse {

                    /**
                     * Constructs a new BatchDeactivateTeamsResponse.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IBatchDeactivateTeamsResponse);

                    /**
                     * Creates a new BatchDeactivateTeamsResponse instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns BatchDeactivateTeamsResponse instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IBatchDeactivateTeamsResponse): google.ads.admanager.v1.BatchDeactivateTeamsResponse;

                    /**
                     * Encodes the specified BatchDeactivateTeamsResponse message. Does not implicitly {@link google.ads.admanager.v1.BatchDeactivateTeamsResponse.verify|verify} messages.
                     * @param message BatchDeactivateTeamsResponse message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IBatchDeactivateTeamsResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified BatchDeactivateTeamsResponse message, length delimited. Does not implicitly {@link google.ads.admanager.v1.BatchDeactivateTeamsResponse.verify|verify} messages.
                     * @param message BatchDeactivateTeamsResponse message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IBatchDeactivateTeamsResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a BatchDeactivateTeamsResponse message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns BatchDeactivateTeamsResponse
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.BatchDeactivateTeamsResponse;

                    /**
                     * Decodes a BatchDeactivateTeamsResponse message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns BatchDeactivateTeamsResponse
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.BatchDeactivateTeamsResponse;

                    /**
                     * Verifies a BatchDeactivateTeamsResponse message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a BatchDeactivateTeamsResponse message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns BatchDeactivateTeamsResponse
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.BatchDeactivateTeamsResponse;

                    /**
                     * Creates a plain object from a BatchDeactivateTeamsResponse message. Also converts values to other types if specified.
                     * @param message BatchDeactivateTeamsResponse
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.BatchDeactivateTeamsResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this BatchDeactivateTeamsResponse to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for BatchDeactivateTeamsResponse
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a User. */
                interface IUser {

                    /** User name */
                    name?: (string|null);

                    /** User userId */
                    userId?: (number|Long|string|null);

                    /** User displayName */
                    displayName?: (string|null);

                    /** User email */
                    email?: (string|null);

                    /** User role */
                    role?: (string|null);

                    /** User active */
                    active?: (boolean|null);

                    /** User externalId */
                    externalId?: (string|null);

                    /** User serviceAccount */
                    serviceAccount?: (boolean|null);

                    /** User ordersUiLocalTimeZone */
                    ordersUiLocalTimeZone?: (string|null);
                }

                /** Represents a User. */
                class User implements IUser {

                    /**
                     * Constructs a new User.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IUser);

                    /** User name. */
                    public name: string;

                    /** User userId. */
                    public userId?: (number|Long|string|null);

                    /** User displayName. */
                    public displayName?: (string|null);

                    /** User email. */
                    public email?: (string|null);

                    /** User role. */
                    public role?: (string|null);

                    /** User active. */
                    public active?: (boolean|null);

                    /** User externalId. */
                    public externalId?: (string|null);

                    /** User serviceAccount. */
                    public serviceAccount?: (boolean|null);

                    /** User ordersUiLocalTimeZone. */
                    public ordersUiLocalTimeZone?: (string|null);

                    /**
                     * Creates a new User instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns User instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IUser): google.ads.admanager.v1.User;

                    /**
                     * Encodes the specified User message. Does not implicitly {@link google.ads.admanager.v1.User.verify|verify} messages.
                     * @param message User message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IUser, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified User message, length delimited. Does not implicitly {@link google.ads.admanager.v1.User.verify|verify} messages.
                     * @param message User message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IUser, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a User message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns User
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.User;

                    /**
                     * Decodes a User message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns User
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.User;

                    /**
                     * Verifies a User message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a User message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns User
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.User;

                    /**
                     * Creates a plain object from a User message. Also converts values to other types if specified.
                     * @param message User
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.User, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this User to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for User
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Represents a UserService */
                class UserService extends $protobuf.rpc.Service {

                    /**
                     * Constructs a new UserService service.
                     * @param rpcImpl RPC implementation
                     * @param [requestDelimited=false] Whether requests are length-delimited
                     * @param [responseDelimited=false] Whether responses are length-delimited
                     */
                    constructor(rpcImpl: $protobuf.RPCImpl, requestDelimited?: boolean, responseDelimited?: boolean);

                    /**
                     * Creates new UserService service using the specified rpc implementation.
                     * @param rpcImpl RPC implementation
                     * @param [requestDelimited=false] Whether requests are length-delimited
                     * @param [responseDelimited=false] Whether responses are length-delimited
                     * @returns RPC service. Useful where requests and/or responses are streamed.
                     */
                    public static create(rpcImpl: $protobuf.RPCImpl, requestDelimited?: boolean, responseDelimited?: boolean): UserService;

                    /**
                     * Calls GetUser.
                     * @param request GetUserRequest message or plain object
                     * @param callback Node-style callback called with the error, if any, and User
                     */
                    public getUser(request: google.ads.admanager.v1.IGetUserRequest, callback: google.ads.admanager.v1.UserService.GetUserCallback): void;

                    /**
                     * Calls GetUser.
                     * @param request GetUserRequest message or plain object
                     * @returns Promise
                     */
                    public getUser(request: google.ads.admanager.v1.IGetUserRequest): Promise<google.ads.admanager.v1.User>;
                }

                namespace UserService {

                    /**
                     * Callback as used by {@link google.ads.admanager.v1.UserService|getUser}.
                     * @param error Error, if any
                     * @param [response] User
                     */
                    type GetUserCallback = (error: (Error|null), response?: google.ads.admanager.v1.User) => void;
                }

                /** Properties of a GetUserRequest. */
                interface IGetUserRequest {

                    /** GetUserRequest name */
                    name?: (string|null);
                }

                /** Represents a GetUserRequest. */
                class GetUserRequest implements IGetUserRequest {

                    /**
                     * Constructs a new GetUserRequest.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IGetUserRequest);

                    /** GetUserRequest name. */
                    public name: string;

                    /**
                     * Creates a new GetUserRequest instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns GetUserRequest instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IGetUserRequest): google.ads.admanager.v1.GetUserRequest;

                    /**
                     * Encodes the specified GetUserRequest message. Does not implicitly {@link google.ads.admanager.v1.GetUserRequest.verify|verify} messages.
                     * @param message GetUserRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IGetUserRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified GetUserRequest message, length delimited. Does not implicitly {@link google.ads.admanager.v1.GetUserRequest.verify|verify} messages.
                     * @param message GetUserRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IGetUserRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a GetUserRequest message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns GetUserRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.GetUserRequest;

                    /**
                     * Decodes a GetUserRequest message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns GetUserRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.GetUserRequest;

                    /**
                     * Verifies a GetUserRequest message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a GetUserRequest message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns GetUserRequest
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.GetUserRequest;

                    /**
                     * Creates a plain object from a GetUserRequest message. Also converts values to other types if specified.
                     * @param message GetUserRequest
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.GetUserRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this GetUserRequest to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for GetUserRequest
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a WebProperty. */
                interface IWebProperty {

                    /** WebProperty name */
                    name?: (string|null);

                    /** WebProperty webPropertyCode */
                    webPropertyCode?: (string|null);

                    /** WebProperty productType */
                    productType?: (google.ads.admanager.v1.ExchangeSyndicationProductEnum.ExchangeSyndicationProduct|keyof typeof google.ads.admanager.v1.ExchangeSyndicationProductEnum.ExchangeSyndicationProduct|null);

                    /** WebProperty webPropertyId */
                    webPropertyId?: (number|Long|string|null);
                }

                /** Represents a WebProperty. */
                class WebProperty implements IWebProperty {

                    /**
                     * Constructs a new WebProperty.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.ads.admanager.v1.IWebProperty);

                    /** WebProperty name. */
                    public name: string;

                    /** WebProperty webPropertyCode. */
                    public webPropertyCode: string;

                    /** WebProperty productType. */
                    public productType: (google.ads.admanager.v1.ExchangeSyndicationProductEnum.ExchangeSyndicationProduct|keyof typeof google.ads.admanager.v1.ExchangeSyndicationProductEnum.ExchangeSyndicationProduct);

                    /** WebProperty webPropertyId. */
                    public webPropertyId: (number|Long|string);

                    /**
                     * Creates a new WebProperty instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns WebProperty instance
                     */
                    public static create(properties?: google.ads.admanager.v1.IWebProperty): google.ads.admanager.v1.WebProperty;

                    /**
                     * Encodes the specified WebProperty message. Does not implicitly {@link google.ads.admanager.v1.WebProperty.verify|verify} messages.
                     * @param message WebProperty message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.ads.admanager.v1.IWebProperty, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified WebProperty message, length delimited. Does not implicitly {@link google.ads.admanager.v1.WebProperty.verify|verify} messages.
                     * @param message WebProperty message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.ads.admanager.v1.IWebProperty, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a WebProperty message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns WebProperty
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.admanager.v1.WebProperty;

                    /**
                     * Decodes a WebProperty message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns WebProperty
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.admanager.v1.WebProperty;

                    /**
                     * Verifies a WebProperty message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a WebProperty message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns WebProperty
                     */
                    public static fromObject(object: { [k: string]: any }): google.ads.admanager.v1.WebProperty;

                    /**
                     * Creates a plain object from a WebProperty message. Also converts values to other types if specified.
                     * @param message WebProperty
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.ads.admanager.v1.WebProperty, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this WebProperty to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for WebProperty
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }
            }
        }
    }

    /** Namespace api. */
    namespace api {

        /** FieldBehavior enum. */
        enum FieldBehavior {
            FIELD_BEHAVIOR_UNSPECIFIED = 0,
            OPTIONAL = 1,
            REQUIRED = 2,
            OUTPUT_ONLY = 3,
            INPUT_ONLY = 4,
            IMMUTABLE = 5,
            UNORDERED_LIST = 6,
            NON_EMPTY_DEFAULT = 7,
            IDENTIFIER = 8
        }

        /** Properties of a ResourceDescriptor. */
        interface IResourceDescriptor {

            /** ResourceDescriptor type */
            type?: (string|null);

            /** ResourceDescriptor pattern */
            pattern?: (string[]|null);

            /** ResourceDescriptor nameField */
            nameField?: (string|null);

            /** ResourceDescriptor history */
            history?: (google.api.ResourceDescriptor.History|keyof typeof google.api.ResourceDescriptor.History|null);

            /** ResourceDescriptor plural */
            plural?: (string|null);

            /** ResourceDescriptor singular */
            singular?: (string|null);

            /** ResourceDescriptor style */
            style?: (google.api.ResourceDescriptor.Style[]|null);
        }

        /** Represents a ResourceDescriptor. */
        class ResourceDescriptor implements IResourceDescriptor {

            /**
             * Constructs a new ResourceDescriptor.
             * @param [properties] Properties to set
             */
            constructor(properties?: google.api.IResourceDescriptor);

            /** ResourceDescriptor type. */
            public type: string;

            /** ResourceDescriptor pattern. */
            public pattern: string[];

            /** ResourceDescriptor nameField. */
            public nameField: string;

            /** ResourceDescriptor history. */
            public history: (google.api.ResourceDescriptor.History|keyof typeof google.api.ResourceDescriptor.History);

            /** ResourceDescriptor plural. */
            public plural: string;

            /** ResourceDescriptor singular. */
            public singular: string;

            /** ResourceDescriptor style. */
            public style: google.api.ResourceDescriptor.Style[];

            /**
             * Creates a new ResourceDescriptor instance using the specified properties.
             * @param [properties] Properties to set
             * @returns ResourceDescriptor instance
             */
            public static create(properties?: google.api.IResourceDescriptor): google.api.ResourceDescriptor;

            /**
             * Encodes the specified ResourceDescriptor message. Does not implicitly {@link google.api.ResourceDescriptor.verify|verify} messages.
             * @param message ResourceDescriptor message or plain object to encode
             * @param [writer] Writer to encode to
             * @returns Writer
             */
            public static encode(message: google.api.IResourceDescriptor, writer?: $protobuf.Writer): $protobuf.Writer;

            /**
             * Encodes the specified ResourceDescriptor message, length delimited. Does not implicitly {@link google.api.ResourceDescriptor.verify|verify} messages.
             * @param message ResourceDescriptor message or plain object to encode
             * @param [writer] Writer to encode to
             * @returns Writer
             */
            public static encodeDelimited(message: google.api.IResourceDescriptor, writer?: $protobuf.Writer): $protobuf.Writer;

            /**
             * Decodes a ResourceDescriptor message from the specified reader or buffer.
             * @param reader Reader or buffer to decode from
             * @param [length] Message length if known beforehand
             * @returns ResourceDescriptor
             * @throws {Error} If the payload is not a reader or valid buffer
             * @throws {$protobuf.util.ProtocolError} If required fields are missing
             */
            public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.api.ResourceDescriptor;

            /**
             * Decodes a ResourceDescriptor message from the specified reader or buffer, length delimited.
             * @param reader Reader or buffer to decode from
             * @returns ResourceDescriptor
             * @throws {Error} If the payload is not a reader or valid buffer
             * @throws {$protobuf.util.ProtocolError} If required fields are missing
             */
            public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.api.ResourceDescriptor;

            /**
             * Verifies a ResourceDescriptor message.
             * @param message Plain object to verify
             * @returns `null` if valid, otherwise the reason why it is not
             */
            public static verify(message: { [k: string]: any }): (string|null);

            /**
             * Creates a ResourceDescriptor message from a plain object. Also converts values to their respective internal types.
             * @param object Plain object
             * @returns ResourceDescriptor
             */
            public static fromObject(object: { [k: string]: any }): google.api.ResourceDescriptor;

            /**
             * Creates a plain object from a ResourceDescriptor message. Also converts values to other types if specified.
             * @param message ResourceDescriptor
             * @param [options] Conversion options
             * @returns Plain object
             */
            public static toObject(message: google.api.ResourceDescriptor, options?: $protobuf.IConversionOptions): { [k: string]: any };

            /**
             * Converts this ResourceDescriptor to JSON.
             * @returns JSON object
             */
            public toJSON(): { [k: string]: any };

            /**
             * Gets the default type url for ResourceDescriptor
             * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
             * @returns The default type url
             */
            public static getTypeUrl(typeUrlPrefix?: string): string;
        }

        namespace ResourceDescriptor {

            /** History enum. */
            enum History {
                HISTORY_UNSPECIFIED = 0,
                ORIGINALLY_SINGLE_PATTERN = 1,
                FUTURE_MULTI_PATTERN = 2
            }

            /** Style enum. */
            enum Style {
                STYLE_UNSPECIFIED = 0,
                DECLARATIVE_FRIENDLY = 1
            }
        }

        /** Properties of a ResourceReference. */
        interface IResourceReference {

            /** ResourceReference type */
            type?: (string|null);

            /** ResourceReference childType */
            childType?: (string|null);
        }

        /** Represents a ResourceReference. */
        class ResourceReference implements IResourceReference {

            /**
             * Constructs a new ResourceReference.
             * @param [properties] Properties to set
             */
            constructor(properties?: google.api.IResourceReference);

            /** ResourceReference type. */
            public type: string;

            /** ResourceReference childType. */
            public childType: string;

            /**
             * Creates a new ResourceReference instance using the specified properties.
             * @param [properties] Properties to set
             * @returns ResourceReference instance
             */
            public static create(properties?: google.api.IResourceReference): google.api.ResourceReference;

            /**
             * Encodes the specified ResourceReference message. Does not implicitly {@link google.api.ResourceReference.verify|verify} messages.
             * @param message ResourceReference message or plain object to encode
             * @param [writer] Writer to encode to
             * @returns Writer
             */
            public static encode(message: google.api.IResourceReference, writer?: $protobuf.Writer): $protobuf.Writer;

            /**
             * Encodes the specified ResourceReference message, length delimited. Does not implicitly {@link google.api.ResourceReference.verify|verify} messages.
             * @param message ResourceReference message or plain object to encode
             * @param [writer] Writer to encode to
             * @returns Writer
             */
            public static encodeDelimited(message: google.api.IResourceReference, writer?: $protobuf.Writer): $protobuf.Writer;

            /**
             * Decodes a ResourceReference message from the specified reader or buffer.
             * @param reader Reader or buffer to decode from
             * @param [length] Message length if known beforehand
             * @returns ResourceReference
             * @throws {Error} If the payload is not a reader or valid buffer
             * @throws {$protobuf.util.ProtocolError} If required fields are missing
             */
            public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.api.ResourceReference;

            /**
             * Decodes a ResourceReference message from the specified reader or buffer, length delimited.
             * @param reader Reader or buffer to decode from
             * @returns ResourceReference
             * @throws {Error} If the payload is not a reader or valid buffer
             * @throws {$protobuf.util.ProtocolError} If required fields are missing
             */
            public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.api.ResourceReference;

            /**
             * Verifies a ResourceReference message.
             * @param message Plain object to verify
             * @returns `null` if valid, otherwise the reason why it is not
             */
            public static verify(message: { [k: string]: any }): (string|null);

            /**
             * Creates a ResourceReference message from a plain object. Also converts values to their respective internal types.
             * @param object Plain object
             * @returns ResourceReference
             */
            public static fromObject(object: { [k: string]: any }): google.api.ResourceReference;

            /**
             * Creates a plain object from a ResourceReference message. Also converts values to other types if specified.
             * @param message ResourceReference
             * @param [options] Conversion options
             * @returns Plain object
             */
            public static toObject(message: google.api.ResourceReference, options?: $protobuf.IConversionOptions): { [k: string]: any };

            /**
             * Converts this ResourceReference to JSON.
             * @returns JSON object
             */
            public toJSON(): { [k: string]: any };

            /**
             * Gets the default type url for ResourceReference
             * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
             * @returns The default type url
             */
            public static getTypeUrl(typeUrlPrefix?: string): string;
        }

        /** Properties of a Http. */
        interface IHttp {

            /** Http rules */
            rules?: (google.api.IHttpRule[]|null);

            /** Http fullyDecodeReservedExpansion */
            fullyDecodeReservedExpansion?: (boolean|null);
        }

        /** Represents a Http. */
        class Http implements IHttp {

            /**
             * Constructs a new Http.
             * @param [properties] Properties to set
             */
            constructor(properties?: google.api.IHttp);

            /** Http rules. */
            public rules: google.api.IHttpRule[];

            /** Http fullyDecodeReservedExpansion. */
            public fullyDecodeReservedExpansion: boolean;

            /**
             * Creates a new Http instance using the specified properties.
             * @param [properties] Properties to set
             * @returns Http instance
             */
            public static create(properties?: google.api.IHttp): google.api.Http;

            /**
             * Encodes the specified Http message. Does not implicitly {@link google.api.Http.verify|verify} messages.
             * @param message Http message or plain object to encode
             * @param [writer] Writer to encode to
             * @returns Writer
             */
            public static encode(message: google.api.IHttp, writer?: $protobuf.Writer): $protobuf.Writer;

            /**
             * Encodes the specified Http message, length delimited. Does not implicitly {@link google.api.Http.verify|verify} messages.
             * @param message Http message or plain object to encode
             * @param [writer] Writer to encode to
             * @returns Writer
             */
            public static encodeDelimited(message: google.api.IHttp, writer?: $protobuf.Writer): $protobuf.Writer;

            /**
             * Decodes a Http message from the specified reader or buffer.
             * @param reader Reader or buffer to decode from
             * @param [length] Message length if known beforehand
             * @returns Http
             * @throws {Error} If the payload is not a reader or valid buffer
             * @throws {$protobuf.util.ProtocolError} If required fields are missing
             */
            public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.api.Http;

            /**
             * Decodes a Http message from the specified reader or buffer, length delimited.
             * @param reader Reader or buffer to decode from
             * @returns Http
             * @throws {Error} If the payload is not a reader or valid buffer
             * @throws {$protobuf.util.ProtocolError} If required fields are missing
             */
            public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.api.Http;

            /**
             * Verifies a Http message.
             * @param message Plain object to verify
             * @returns `null` if valid, otherwise the reason why it is not
             */
            public static verify(message: { [k: string]: any }): (string|null);

            /**
             * Creates a Http message from a plain object. Also converts values to their respective internal types.
             * @param object Plain object
             * @returns Http
             */
            public static fromObject(object: { [k: string]: any }): google.api.Http;

            /**
             * Creates a plain object from a Http message. Also converts values to other types if specified.
             * @param message Http
             * @param [options] Conversion options
             * @returns Plain object
             */
            public static toObject(message: google.api.Http, options?: $protobuf.IConversionOptions): { [k: string]: any };

            /**
             * Converts this Http to JSON.
             * @returns JSON object
             */
            public toJSON(): { [k: string]: any };

            /**
             * Gets the default type url for Http
             * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
             * @returns The default type url
             */
            public static getTypeUrl(typeUrlPrefix?: string): string;
        }

        /** Properties of a HttpRule. */
        interface IHttpRule {

            /** HttpRule selector */
            selector?: (string|null);

            /** HttpRule get */
            get?: (string|null);

            /** HttpRule put */
            put?: (string|null);

            /** HttpRule post */
            post?: (string|null);

            /** HttpRule delete */
            "delete"?: (string|null);

            /** HttpRule patch */
            patch?: (string|null);

            /** HttpRule custom */
            custom?: (google.api.ICustomHttpPattern|null);

            /** HttpRule body */
            body?: (string|null);

            /** HttpRule responseBody */
            responseBody?: (string|null);

            /** HttpRule additionalBindings */
            additionalBindings?: (google.api.IHttpRule[]|null);
        }

        /** Represents a HttpRule. */
        class HttpRule implements IHttpRule {

            /**
             * Constructs a new HttpRule.
             * @param [properties] Properties to set
             */
            constructor(properties?: google.api.IHttpRule);

            /** HttpRule selector. */
            public selector: string;

            /** HttpRule get. */
            public get?: (string|null);

            /** HttpRule put. */
            public put?: (string|null);

            /** HttpRule post. */
            public post?: (string|null);

            /** HttpRule delete. */
            public delete?: (string|null);

            /** HttpRule patch. */
            public patch?: (string|null);

            /** HttpRule custom. */
            public custom?: (google.api.ICustomHttpPattern|null);

            /** HttpRule body. */
            public body: string;

            /** HttpRule responseBody. */
            public responseBody: string;

            /** HttpRule additionalBindings. */
            public additionalBindings: google.api.IHttpRule[];

            /** HttpRule pattern. */
            public pattern?: ("get"|"put"|"post"|"delete"|"patch"|"custom");

            /**
             * Creates a new HttpRule instance using the specified properties.
             * @param [properties] Properties to set
             * @returns HttpRule instance
             */
            public static create(properties?: google.api.IHttpRule): google.api.HttpRule;

            /**
             * Encodes the specified HttpRule message. Does not implicitly {@link google.api.HttpRule.verify|verify} messages.
             * @param message HttpRule message or plain object to encode
             * @param [writer] Writer to encode to
             * @returns Writer
             */
            public static encode(message: google.api.IHttpRule, writer?: $protobuf.Writer): $protobuf.Writer;

            /**
             * Encodes the specified HttpRule message, length delimited. Does not implicitly {@link google.api.HttpRule.verify|verify} messages.
             * @param message HttpRule message or plain object to encode
             * @param [writer] Writer to encode to
             * @returns Writer
             */
            public static encodeDelimited(message: google.api.IHttpRule, writer?: $protobuf.Writer): $protobuf.Writer;

            /**
             * Decodes a HttpRule message from the specified reader or buffer.
             * @param reader Reader or buffer to decode from
             * @param [length] Message length if known beforehand
             * @returns HttpRule
             * @throws {Error} If the payload is not a reader or valid buffer
             * @throws {$protobuf.util.ProtocolError} If required fields are missing
             */
            public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.api.HttpRule;

            /**
             * Decodes a HttpRule message from the specified reader or buffer, length delimited.
             * @param reader Reader or buffer to decode from
             * @returns HttpRule
             * @throws {Error} If the payload is not a reader or valid buffer
             * @throws {$protobuf.util.ProtocolError} If required fields are missing
             */
            public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.api.HttpRule;

            /**
             * Verifies a HttpRule message.
             * @param message Plain object to verify
             * @returns `null` if valid, otherwise the reason why it is not
             */
            public static verify(message: { [k: string]: any }): (string|null);

            /**
             * Creates a HttpRule message from a plain object. Also converts values to their respective internal types.
             * @param object Plain object
             * @returns HttpRule
             */
            public static fromObject(object: { [k: string]: any }): google.api.HttpRule;

            /**
             * Creates a plain object from a HttpRule message. Also converts values to other types if specified.
             * @param message HttpRule
             * @param [options] Conversion options
             * @returns Plain object
             */
            public static toObject(message: google.api.HttpRule, options?: $protobuf.IConversionOptions): { [k: string]: any };

            /**
             * Converts this HttpRule to JSON.
             * @returns JSON object
             */
            public toJSON(): { [k: string]: any };

            /**
             * Gets the default type url for HttpRule
             * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
             * @returns The default type url
             */
            public static getTypeUrl(typeUrlPrefix?: string): string;
        }

        /** Properties of a CustomHttpPattern. */
        interface ICustomHttpPattern {

            /** CustomHttpPattern kind */
            kind?: (string|null);

            /** CustomHttpPattern path */
            path?: (string|null);
        }

        /** Represents a CustomHttpPattern. */
        class CustomHttpPattern implements ICustomHttpPattern {

            /**
             * Constructs a new CustomHttpPattern.
             * @param [properties] Properties to set
             */
            constructor(properties?: google.api.ICustomHttpPattern);

            /** CustomHttpPattern kind. */
            public kind: string;

            /** CustomHttpPattern path. */
            public path: string;

            /**
             * Creates a new CustomHttpPattern instance using the specified properties.
             * @param [properties] Properties to set
             * @returns CustomHttpPattern instance
             */
            public static create(properties?: google.api.ICustomHttpPattern): google.api.CustomHttpPattern;

            /**
             * Encodes the specified CustomHttpPattern message. Does not implicitly {@link google.api.CustomHttpPattern.verify|verify} messages.
             * @param message CustomHttpPattern message or plain object to encode
             * @param [writer] Writer to encode to
             * @returns Writer
             */
            public static encode(message: google.api.ICustomHttpPattern, writer?: $protobuf.Writer): $protobuf.Writer;

            /**
             * Encodes the specified CustomHttpPattern message, length delimited. Does not implicitly {@link google.api.CustomHttpPattern.verify|verify} messages.
             * @param message CustomHttpPattern message or plain object to encode
             * @param [writer] Writer to encode to
             * @returns Writer
             */
            public static encodeDelimited(message: google.api.ICustomHttpPattern, writer?: $protobuf.Writer): $protobuf.Writer;

            /**
             * Decodes a CustomHttpPattern message from the specified reader or buffer.
             * @param reader Reader or buffer to decode from
             * @param [length] Message length if known beforehand
             * @returns CustomHttpPattern
             * @throws {Error} If the payload is not a reader or valid buffer
             * @throws {$protobuf.util.ProtocolError} If required fields are missing
             */
            public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.api.CustomHttpPattern;

            /**
             * Decodes a CustomHttpPattern message from the specified reader or buffer, length delimited.
             * @param reader Reader or buffer to decode from
             * @returns CustomHttpPattern
             * @throws {Error} If the payload is not a reader or valid buffer
             * @throws {$protobuf.util.ProtocolError} If required fields are missing
             */
            public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.api.CustomHttpPattern;

            /**
             * Verifies a CustomHttpPattern message.
             * @param message Plain object to verify
             * @returns `null` if valid, otherwise the reason why it is not
             */
            public static verify(message: { [k: string]: any }): (string|null);

            /**
             * Creates a CustomHttpPattern message from a plain object. Also converts values to their respective internal types.
             * @param object Plain object
             * @returns CustomHttpPattern
             */
            public static fromObject(object: { [k: string]: any }): google.api.CustomHttpPattern;

            /**
             * Creates a plain object from a CustomHttpPattern message. Also converts values to other types if specified.
             * @param message CustomHttpPattern
             * @param [options] Conversion options
             * @returns Plain object
             */
            public static toObject(message: google.api.CustomHttpPattern, options?: $protobuf.IConversionOptions): { [k: string]: any };

            /**
             * Converts this CustomHttpPattern to JSON.
             * @returns JSON object
             */
            public toJSON(): { [k: string]: any };

            /**
             * Gets the default type url for CustomHttpPattern
             * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
             * @returns The default type url
             */
            public static getTypeUrl(typeUrlPrefix?: string): string;
        }

        /** Properties of a CommonLanguageSettings. */
        interface ICommonLanguageSettings {

            /** CommonLanguageSettings referenceDocsUri */
            referenceDocsUri?: (string|null);

            /** CommonLanguageSettings destinations */
            destinations?: (google.api.ClientLibraryDestination[]|null);
        }

        /** Represents a CommonLanguageSettings. */
        class CommonLanguageSettings implements ICommonLanguageSettings {

            /**
             * Constructs a new CommonLanguageSettings.
             * @param [properties] Properties to set
             */
            constructor(properties?: google.api.ICommonLanguageSettings);

            /** CommonLanguageSettings referenceDocsUri. */
            public referenceDocsUri: string;

            /** CommonLanguageSettings destinations. */
            public destinations: google.api.ClientLibraryDestination[];

            /**
             * Creates a new CommonLanguageSettings instance using the specified properties.
             * @param [properties] Properties to set
             * @returns CommonLanguageSettings instance
             */
            public static create(properties?: google.api.ICommonLanguageSettings): google.api.CommonLanguageSettings;

            /**
             * Encodes the specified CommonLanguageSettings message. Does not implicitly {@link google.api.CommonLanguageSettings.verify|verify} messages.
             * @param message CommonLanguageSettings message or plain object to encode
             * @param [writer] Writer to encode to
             * @returns Writer
             */
            public static encode(message: google.api.ICommonLanguageSettings, writer?: $protobuf.Writer): $protobuf.Writer;

            /**
             * Encodes the specified CommonLanguageSettings message, length delimited. Does not implicitly {@link google.api.CommonLanguageSettings.verify|verify} messages.
             * @param message CommonLanguageSettings message or plain object to encode
             * @param [writer] Writer to encode to
             * @returns Writer
             */
            public static encodeDelimited(message: google.api.ICommonLanguageSettings, writer?: $protobuf.Writer): $protobuf.Writer;

            /**
             * Decodes a CommonLanguageSettings message from the specified reader or buffer.
             * @param reader Reader or buffer to decode from
             * @param [length] Message length if known beforehand
             * @returns CommonLanguageSettings
             * @throws {Error} If the payload is not a reader or valid buffer
             * @throws {$protobuf.util.ProtocolError} If required fields are missing
             */
            public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.api.CommonLanguageSettings;

            /**
             * Decodes a CommonLanguageSettings message from the specified reader or buffer, length delimited.
             * @param reader Reader or buffer to decode from
             * @returns CommonLanguageSettings
             * @throws {Error} If the payload is not a reader or valid buffer
             * @throws {$protobuf.util.ProtocolError} If required fields are missing
             */
            public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.api.CommonLanguageSettings;

            /**
             * Verifies a CommonLanguageSettings message.
             * @param message Plain object to verify
             * @returns `null` if valid, otherwise the reason why it is not
             */
            public static verify(message: { [k: string]: any }): (string|null);

            /**
             * Creates a CommonLanguageSettings message from a plain object. Also converts values to their respective internal types.
             * @param object Plain object
             * @returns CommonLanguageSettings
             */
            public static fromObject(object: { [k: string]: any }): google.api.CommonLanguageSettings;

            /**
             * Creates a plain object from a CommonLanguageSettings message. Also converts values to other types if specified.
             * @param message CommonLanguageSettings
             * @param [options] Conversion options
             * @returns Plain object
             */
            public static toObject(message: google.api.CommonLanguageSettings, options?: $protobuf.IConversionOptions): { [k: string]: any };

            /**
             * Converts this CommonLanguageSettings to JSON.
             * @returns JSON object
             */
            public toJSON(): { [k: string]: any };

            /**
             * Gets the default type url for CommonLanguageSettings
             * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
             * @returns The default type url
             */
            public static getTypeUrl(typeUrlPrefix?: string): string;
        }

        /** Properties of a ClientLibrarySettings. */
        interface IClientLibrarySettings {

            /** ClientLibrarySettings version */
            version?: (string|null);

            /** ClientLibrarySettings launchStage */
            launchStage?: (google.api.LaunchStage|keyof typeof google.api.LaunchStage|null);

            /** ClientLibrarySettings restNumericEnums */
            restNumericEnums?: (boolean|null);

            /** ClientLibrarySettings javaSettings */
            javaSettings?: (google.api.IJavaSettings|null);

            /** ClientLibrarySettings cppSettings */
            cppSettings?: (google.api.ICppSettings|null);

            /** ClientLibrarySettings phpSettings */
            phpSettings?: (google.api.IPhpSettings|null);

            /** ClientLibrarySettings pythonSettings */
            pythonSettings?: (google.api.IPythonSettings|null);

            /** ClientLibrarySettings nodeSettings */
            nodeSettings?: (google.api.INodeSettings|null);

            /** ClientLibrarySettings dotnetSettings */
            dotnetSettings?: (google.api.IDotnetSettings|null);

            /** ClientLibrarySettings rubySettings */
            rubySettings?: (google.api.IRubySettings|null);

            /** ClientLibrarySettings goSettings */
            goSettings?: (google.api.IGoSettings|null);
        }

        /** Represents a ClientLibrarySettings. */
        class ClientLibrarySettings implements IClientLibrarySettings {

            /**
             * Constructs a new ClientLibrarySettings.
             * @param [properties] Properties to set
             */
            constructor(properties?: google.api.IClientLibrarySettings);

            /** ClientLibrarySettings version. */
            public version: string;

            /** ClientLibrarySettings launchStage. */
            public launchStage: (google.api.LaunchStage|keyof typeof google.api.LaunchStage);

            /** ClientLibrarySettings restNumericEnums. */
            public restNumericEnums: boolean;

            /** ClientLibrarySettings javaSettings. */
            public javaSettings?: (google.api.IJavaSettings|null);

            /** ClientLibrarySettings cppSettings. */
            public cppSettings?: (google.api.ICppSettings|null);

            /** ClientLibrarySettings phpSettings. */
            public phpSettings?: (google.api.IPhpSettings|null);

            /** ClientLibrarySettings pythonSettings. */
            public pythonSettings?: (google.api.IPythonSettings|null);

            /** ClientLibrarySettings nodeSettings. */
            public nodeSettings?: (google.api.INodeSettings|null);

            /** ClientLibrarySettings dotnetSettings. */
            public dotnetSettings?: (google.api.IDotnetSettings|null);

            /** ClientLibrarySettings rubySettings. */
            public rubySettings?: (google.api.IRubySettings|null);

            /** ClientLibrarySettings goSettings. */
            public goSettings?: (google.api.IGoSettings|null);

            /**
             * Creates a new ClientLibrarySettings instance using the specified properties.
             * @param [properties] Properties to set
             * @returns ClientLibrarySettings instance
             */
            public static create(properties?: google.api.IClientLibrarySettings): google.api.ClientLibrarySettings;

            /**
             * Encodes the specified ClientLibrarySettings message. Does not implicitly {@link google.api.ClientLibrarySettings.verify|verify} messages.
             * @param message ClientLibrarySettings message or plain object to encode
             * @param [writer] Writer to encode to
             * @returns Writer
             */
            public static encode(message: google.api.IClientLibrarySettings, writer?: $protobuf.Writer): $protobuf.Writer;

            /**
             * Encodes the specified ClientLibrarySettings message, length delimited. Does not implicitly {@link google.api.ClientLibrarySettings.verify|verify} messages.
             * @param message ClientLibrarySettings message or plain object to encode
             * @param [writer] Writer to encode to
             * @returns Writer
             */
            public static encodeDelimited(message: google.api.IClientLibrarySettings, writer?: $protobuf.Writer): $protobuf.Writer;

            /**
             * Decodes a ClientLibrarySettings message from the specified reader or buffer.
             * @param reader Reader or buffer to decode from
             * @param [length] Message length if known beforehand
             * @returns ClientLibrarySettings
             * @throws {Error} If the payload is not a reader or valid buffer
             * @throws {$protobuf.util.ProtocolError} If required fields are missing
             */
            public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.api.ClientLibrarySettings;

            /**
             * Decodes a ClientLibrarySettings message from the specified reader or buffer, length delimited.
             * @param reader Reader or buffer to decode from
             * @returns ClientLibrarySettings
             * @throws {Error} If the payload is not a reader or valid buffer
             * @throws {$protobuf.util.ProtocolError} If required fields are missing
             */
            public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.api.ClientLibrarySettings;

            /**
             * Verifies a ClientLibrarySettings message.
             * @param message Plain object to verify
             * @returns `null` if valid, otherwise the reason why it is not
             */
            public static verify(message: { [k: string]: any }): (string|null);

            /**
             * Creates a ClientLibrarySettings message from a plain object. Also converts values to their respective internal types.
             * @param object Plain object
             * @returns ClientLibrarySettings
             */
            public static fromObject(object: { [k: string]: any }): google.api.ClientLibrarySettings;

            /**
             * Creates a plain object from a ClientLibrarySettings message. Also converts values to other types if specified.
             * @param message ClientLibrarySettings
             * @param [options] Conversion options
             * @returns Plain object
             */
            public static toObject(message: google.api.ClientLibrarySettings, options?: $protobuf.IConversionOptions): { [k: string]: any };

            /**
             * Converts this ClientLibrarySettings to JSON.
             * @returns JSON object
             */
            public toJSON(): { [k: string]: any };

            /**
             * Gets the default type url for ClientLibrarySettings
             * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
             * @returns The default type url
             */
            public static getTypeUrl(typeUrlPrefix?: string): string;
        }

        /** Properties of a Publishing. */
        interface IPublishing {

            /** Publishing methodSettings */
            methodSettings?: (google.api.IMethodSettings[]|null);

            /** Publishing newIssueUri */
            newIssueUri?: (string|null);

            /** Publishing documentationUri */
            documentationUri?: (string|null);

            /** Publishing apiShortName */
            apiShortName?: (string|null);

            /** Publishing githubLabel */
            githubLabel?: (string|null);

            /** Publishing codeownerGithubTeams */
            codeownerGithubTeams?: (string[]|null);

            /** Publishing docTagPrefix */
            docTagPrefix?: (string|null);

            /** Publishing organization */
            organization?: (google.api.ClientLibraryOrganization|keyof typeof google.api.ClientLibraryOrganization|null);

            /** Publishing librarySettings */
            librarySettings?: (google.api.IClientLibrarySettings[]|null);

            /** Publishing protoReferenceDocumentationUri */
            protoReferenceDocumentationUri?: (string|null);

            /** Publishing restReferenceDocumentationUri */
            restReferenceDocumentationUri?: (string|null);
        }

        /** Represents a Publishing. */
        class Publishing implements IPublishing {

            /**
             * Constructs a new Publishing.
             * @param [properties] Properties to set
             */
            constructor(properties?: google.api.IPublishing);

            /** Publishing methodSettings. */
            public methodSettings: google.api.IMethodSettings[];

            /** Publishing newIssueUri. */
            public newIssueUri: string;

            /** Publishing documentationUri. */
            public documentationUri: string;

            /** Publishing apiShortName. */
            public apiShortName: string;

            /** Publishing githubLabel. */
            public githubLabel: string;

            /** Publishing codeownerGithubTeams. */
            public codeownerGithubTeams: string[];

            /** Publishing docTagPrefix. */
            public docTagPrefix: string;

            /** Publishing organization. */
            public organization: (google.api.ClientLibraryOrganization|keyof typeof google.api.ClientLibraryOrganization);

            /** Publishing librarySettings. */
            public librarySettings: google.api.IClientLibrarySettings[];

            /** Publishing protoReferenceDocumentationUri. */
            public protoReferenceDocumentationUri: string;

            /** Publishing restReferenceDocumentationUri. */
            public restReferenceDocumentationUri: string;

            /**
             * Creates a new Publishing instance using the specified properties.
             * @param [properties] Properties to set
             * @returns Publishing instance
             */
            public static create(properties?: google.api.IPublishing): google.api.Publishing;

            /**
             * Encodes the specified Publishing message. Does not implicitly {@link google.api.Publishing.verify|verify} messages.
             * @param message Publishing message or plain object to encode
             * @param [writer] Writer to encode to
             * @returns Writer
             */
            public static encode(message: google.api.IPublishing, writer?: $protobuf.Writer): $protobuf.Writer;

            /**
             * Encodes the specified Publishing message, length delimited. Does not implicitly {@link google.api.Publishing.verify|verify} messages.
             * @param message Publishing message or plain object to encode
             * @param [writer] Writer to encode to
             * @returns Writer
             */
            public static encodeDelimited(message: google.api.IPublishing, writer?: $protobuf.Writer): $protobuf.Writer;

            /**
             * Decodes a Publishing message from the specified reader or buffer.
             * @param reader Reader or buffer to decode from
             * @param [length] Message length if known beforehand
             * @returns Publishing
             * @throws {Error} If the payload is not a reader or valid buffer
             * @throws {$protobuf.util.ProtocolError} If required fields are missing
             */
            public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.api.Publishing;

            /**
             * Decodes a Publishing message from the specified reader or buffer, length delimited.
             * @param reader Reader or buffer to decode from
             * @returns Publishing
             * @throws {Error} If the payload is not a reader or valid buffer
             * @throws {$protobuf.util.ProtocolError} If required fields are missing
             */
            public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.api.Publishing;

            /**
             * Verifies a Publishing message.
             * @param message Plain object to verify
             * @returns `null` if valid, otherwise the reason why it is not
             */
            public static verify(message: { [k: string]: any }): (string|null);

            /**
             * Creates a Publishing message from a plain object. Also converts values to their respective internal types.
             * @param object Plain object
             * @returns Publishing
             */
            public static fromObject(object: { [k: string]: any }): google.api.Publishing;

            /**
             * Creates a plain object from a Publishing message. Also converts values to other types if specified.
             * @param message Publishing
             * @param [options] Conversion options
             * @returns Plain object
             */
            public static toObject(message: google.api.Publishing, options?: $protobuf.IConversionOptions): { [k: string]: any };

            /**
             * Converts this Publishing to JSON.
             * @returns JSON object
             */
            public toJSON(): { [k: string]: any };

            /**
             * Gets the default type url for Publishing
             * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
             * @returns The default type url
             */
            public static getTypeUrl(typeUrlPrefix?: string): string;
        }

        /** Properties of a JavaSettings. */
        interface IJavaSettings {

            /** JavaSettings libraryPackage */
            libraryPackage?: (string|null);

            /** JavaSettings serviceClassNames */
            serviceClassNames?: ({ [k: string]: string }|null);

            /** JavaSettings common */
            common?: (google.api.ICommonLanguageSettings|null);
        }

        /** Represents a JavaSettings. */
        class JavaSettings implements IJavaSettings {

            /**
             * Constructs a new JavaSettings.
             * @param [properties] Properties to set
             */
            constructor(properties?: google.api.IJavaSettings);

            /** JavaSettings libraryPackage. */
            public libraryPackage: string;

            /** JavaSettings serviceClassNames. */
            public serviceClassNames: { [k: string]: string };

            /** JavaSettings common. */
            public common?: (google.api.ICommonLanguageSettings|null);

            /**
             * Creates a new JavaSettings instance using the specified properties.
             * @param [properties] Properties to set
             * @returns JavaSettings instance
             */
            public static create(properties?: google.api.IJavaSettings): google.api.JavaSettings;

            /**
             * Encodes the specified JavaSettings message. Does not implicitly {@link google.api.JavaSettings.verify|verify} messages.
             * @param message JavaSettings message or plain object to encode
             * @param [writer] Writer to encode to
             * @returns Writer
             */
            public static encode(message: google.api.IJavaSettings, writer?: $protobuf.Writer): $protobuf.Writer;

            /**
             * Encodes the specified JavaSettings message, length delimited. Does not implicitly {@link google.api.JavaSettings.verify|verify} messages.
             * @param message JavaSettings message or plain object to encode
             * @param [writer] Writer to encode to
             * @returns Writer
             */
            public static encodeDelimited(message: google.api.IJavaSettings, writer?: $protobuf.Writer): $protobuf.Writer;

            /**
             * Decodes a JavaSettings message from the specified reader or buffer.
             * @param reader Reader or buffer to decode from
             * @param [length] Message length if known beforehand
             * @returns JavaSettings
             * @throws {Error} If the payload is not a reader or valid buffer
             * @throws {$protobuf.util.ProtocolError} If required fields are missing
             */
            public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.api.JavaSettings;

            /**
             * Decodes a JavaSettings message from the specified reader or buffer, length delimited.
             * @param reader Reader or buffer to decode from
             * @returns JavaSettings
             * @throws {Error} If the payload is not a reader or valid buffer
             * @throws {$protobuf.util.ProtocolError} If required fields are missing
             */
            public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.api.JavaSettings;

            /**
             * Verifies a JavaSettings message.
             * @param message Plain object to verify
             * @returns `null` if valid, otherwise the reason why it is not
             */
            public static verify(message: { [k: string]: any }): (string|null);

            /**
             * Creates a JavaSettings message from a plain object. Also converts values to their respective internal types.
             * @param object Plain object
             * @returns JavaSettings
             */
            public static fromObject(object: { [k: string]: any }): google.api.JavaSettings;

            /**
             * Creates a plain object from a JavaSettings message. Also converts values to other types if specified.
             * @param message JavaSettings
             * @param [options] Conversion options
             * @returns Plain object
             */
            public static toObject(message: google.api.JavaSettings, options?: $protobuf.IConversionOptions): { [k: string]: any };

            /**
             * Converts this JavaSettings to JSON.
             * @returns JSON object
             */
            public toJSON(): { [k: string]: any };

            /**
             * Gets the default type url for JavaSettings
             * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
             * @returns The default type url
             */
            public static getTypeUrl(typeUrlPrefix?: string): string;
        }

        /** Properties of a CppSettings. */
        interface ICppSettings {

            /** CppSettings common */
            common?: (google.api.ICommonLanguageSettings|null);
        }

        /** Represents a CppSettings. */
        class CppSettings implements ICppSettings {

            /**
             * Constructs a new CppSettings.
             * @param [properties] Properties to set
             */
            constructor(properties?: google.api.ICppSettings);

            /** CppSettings common. */
            public common?: (google.api.ICommonLanguageSettings|null);

            /**
             * Creates a new CppSettings instance using the specified properties.
             * @param [properties] Properties to set
             * @returns CppSettings instance
             */
            public static create(properties?: google.api.ICppSettings): google.api.CppSettings;

            /**
             * Encodes the specified CppSettings message. Does not implicitly {@link google.api.CppSettings.verify|verify} messages.
             * @param message CppSettings message or plain object to encode
             * @param [writer] Writer to encode to
             * @returns Writer
             */
            public static encode(message: google.api.ICppSettings, writer?: $protobuf.Writer): $protobuf.Writer;

            /**
             * Encodes the specified CppSettings message, length delimited. Does not implicitly {@link google.api.CppSettings.verify|verify} messages.
             * @param message CppSettings message or plain object to encode
             * @param [writer] Writer to encode to
             * @returns Writer
             */
            public static encodeDelimited(message: google.api.ICppSettings, writer?: $protobuf.Writer): $protobuf.Writer;

            /**
             * Decodes a CppSettings message from the specified reader or buffer.
             * @param reader Reader or buffer to decode from
             * @param [length] Message length if known beforehand
             * @returns CppSettings
             * @throws {Error} If the payload is not a reader or valid buffer
             * @throws {$protobuf.util.ProtocolError} If required fields are missing
             */
            public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.api.CppSettings;

            /**
             * Decodes a CppSettings message from the specified reader or buffer, length delimited.
             * @param reader Reader or buffer to decode from
             * @returns CppSettings
             * @throws {Error} If the payload is not a reader or valid buffer
             * @throws {$protobuf.util.ProtocolError} If required fields are missing
             */
            public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.api.CppSettings;

            /**
             * Verifies a CppSettings message.
             * @param message Plain object to verify
             * @returns `null` if valid, otherwise the reason why it is not
             */
            public static verify(message: { [k: string]: any }): (string|null);

            /**
             * Creates a CppSettings message from a plain object. Also converts values to their respective internal types.
             * @param object Plain object
             * @returns CppSettings
             */
            public static fromObject(object: { [k: string]: any }): google.api.CppSettings;

            /**
             * Creates a plain object from a CppSettings message. Also converts values to other types if specified.
             * @param message CppSettings
             * @param [options] Conversion options
             * @returns Plain object
             */
            public static toObject(message: google.api.CppSettings, options?: $protobuf.IConversionOptions): { [k: string]: any };

            /**
             * Converts this CppSettings to JSON.
             * @returns JSON object
             */
            public toJSON(): { [k: string]: any };

            /**
             * Gets the default type url for CppSettings
             * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
             * @returns The default type url
             */
            public static getTypeUrl(typeUrlPrefix?: string): string;
        }

        /** Properties of a PhpSettings. */
        interface IPhpSettings {

            /** PhpSettings common */
            common?: (google.api.ICommonLanguageSettings|null);
        }

        /** Represents a PhpSettings. */
        class PhpSettings implements IPhpSettings {

            /**
             * Constructs a new PhpSettings.
             * @param [properties] Properties to set
             */
            constructor(properties?: google.api.IPhpSettings);

            /** PhpSettings common. */
            public common?: (google.api.ICommonLanguageSettings|null);

            /**
             * Creates a new PhpSettings instance using the specified properties.
             * @param [properties] Properties to set
             * @returns PhpSettings instance
             */
            public static create(properties?: google.api.IPhpSettings): google.api.PhpSettings;

            /**
             * Encodes the specified PhpSettings message. Does not implicitly {@link google.api.PhpSettings.verify|verify} messages.
             * @param message PhpSettings message or plain object to encode
             * @param [writer] Writer to encode to
             * @returns Writer
             */
            public static encode(message: google.api.IPhpSettings, writer?: $protobuf.Writer): $protobuf.Writer;

            /**
             * Encodes the specified PhpSettings message, length delimited. Does not implicitly {@link google.api.PhpSettings.verify|verify} messages.
             * @param message PhpSettings message or plain object to encode
             * @param [writer] Writer to encode to
             * @returns Writer
             */
            public static encodeDelimited(message: google.api.IPhpSettings, writer?: $protobuf.Writer): $protobuf.Writer;

            /**
             * Decodes a PhpSettings message from the specified reader or buffer.
             * @param reader Reader or buffer to decode from
             * @param [length] Message length if known beforehand
             * @returns PhpSettings
             * @throws {Error} If the payload is not a reader or valid buffer
             * @throws {$protobuf.util.ProtocolError} If required fields are missing
             */
            public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.api.PhpSettings;

            /**
             * Decodes a PhpSettings message from the specified reader or buffer, length delimited.
             * @param reader Reader or buffer to decode from
             * @returns PhpSettings
             * @throws {Error} If the payload is not a reader or valid buffer
             * @throws {$protobuf.util.ProtocolError} If required fields are missing
             */
            public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.api.PhpSettings;

            /**
             * Verifies a PhpSettings message.
             * @param message Plain object to verify
             * @returns `null` if valid, otherwise the reason why it is not
             */
            public static verify(message: { [k: string]: any }): (string|null);

            /**
             * Creates a PhpSettings message from a plain object. Also converts values to their respective internal types.
             * @param object Plain object
             * @returns PhpSettings
             */
            public static fromObject(object: { [k: string]: any }): google.api.PhpSettings;

            /**
             * Creates a plain object from a PhpSettings message. Also converts values to other types if specified.
             * @param message PhpSettings
             * @param [options] Conversion options
             * @returns Plain object
             */
            public static toObject(message: google.api.PhpSettings, options?: $protobuf.IConversionOptions): { [k: string]: any };

            /**
             * Converts this PhpSettings to JSON.
             * @returns JSON object
             */
            public toJSON(): { [k: string]: any };

            /**
             * Gets the default type url for PhpSettings
             * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
             * @returns The default type url
             */
            public static getTypeUrl(typeUrlPrefix?: string): string;
        }

        /** Properties of a PythonSettings. */
        interface IPythonSettings {

            /** PythonSettings common */
            common?: (google.api.ICommonLanguageSettings|null);
        }

        /** Represents a PythonSettings. */
        class PythonSettings implements IPythonSettings {

            /**
             * Constructs a new PythonSettings.
             * @param [properties] Properties to set
             */
            constructor(properties?: google.api.IPythonSettings);

            /** PythonSettings common. */
            public common?: (google.api.ICommonLanguageSettings|null);

            /**
             * Creates a new PythonSettings instance using the specified properties.
             * @param [properties] Properties to set
             * @returns PythonSettings instance
             */
            public static create(properties?: google.api.IPythonSettings): google.api.PythonSettings;

            /**
             * Encodes the specified PythonSettings message. Does not implicitly {@link google.api.PythonSettings.verify|verify} messages.
             * @param message PythonSettings message or plain object to encode
             * @param [writer] Writer to encode to
             * @returns Writer
             */
            public static encode(message: google.api.IPythonSettings, writer?: $protobuf.Writer): $protobuf.Writer;

            /**
             * Encodes the specified PythonSettings message, length delimited. Does not implicitly {@link google.api.PythonSettings.verify|verify} messages.
             * @param message PythonSettings message or plain object to encode
             * @param [writer] Writer to encode to
             * @returns Writer
             */
            public static encodeDelimited(message: google.api.IPythonSettings, writer?: $protobuf.Writer): $protobuf.Writer;

            /**
             * Decodes a PythonSettings message from the specified reader or buffer.
             * @param reader Reader or buffer to decode from
             * @param [length] Message length if known beforehand
             * @returns PythonSettings
             * @throws {Error} If the payload is not a reader or valid buffer
             * @throws {$protobuf.util.ProtocolError} If required fields are missing
             */
            public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.api.PythonSettings;

            /**
             * Decodes a PythonSettings message from the specified reader or buffer, length delimited.
             * @param reader Reader or buffer to decode from
             * @returns PythonSettings
             * @throws {Error} If the payload is not a reader or valid buffer
             * @throws {$protobuf.util.ProtocolError} If required fields are missing
             */
            public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.api.PythonSettings;

            /**
             * Verifies a PythonSettings message.
             * @param message Plain object to verify
             * @returns `null` if valid, otherwise the reason why it is not
             */
            public static verify(message: { [k: string]: any }): (string|null);

            /**
             * Creates a PythonSettings message from a plain object. Also converts values to their respective internal types.
             * @param object Plain object
             * @returns PythonSettings
             */
            public static fromObject(object: { [k: string]: any }): google.api.PythonSettings;

            /**
             * Creates a plain object from a PythonSettings message. Also converts values to other types if specified.
             * @param message PythonSettings
             * @param [options] Conversion options
             * @returns Plain object
             */
            public static toObject(message: google.api.PythonSettings, options?: $protobuf.IConversionOptions): { [k: string]: any };

            /**
             * Converts this PythonSettings to JSON.
             * @returns JSON object
             */
            public toJSON(): { [k: string]: any };

            /**
             * Gets the default type url for PythonSettings
             * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
             * @returns The default type url
             */
            public static getTypeUrl(typeUrlPrefix?: string): string;
        }

        /** Properties of a NodeSettings. */
        interface INodeSettings {

            /** NodeSettings common */
            common?: (google.api.ICommonLanguageSettings|null);
        }

        /** Represents a NodeSettings. */
        class NodeSettings implements INodeSettings {

            /**
             * Constructs a new NodeSettings.
             * @param [properties] Properties to set
             */
            constructor(properties?: google.api.INodeSettings);

            /** NodeSettings common. */
            public common?: (google.api.ICommonLanguageSettings|null);

            /**
             * Creates a new NodeSettings instance using the specified properties.
             * @param [properties] Properties to set
             * @returns NodeSettings instance
             */
            public static create(properties?: google.api.INodeSettings): google.api.NodeSettings;

            /**
             * Encodes the specified NodeSettings message. Does not implicitly {@link google.api.NodeSettings.verify|verify} messages.
             * @param message NodeSettings message or plain object to encode
             * @param [writer] Writer to encode to
             * @returns Writer
             */
            public static encode(message: google.api.INodeSettings, writer?: $protobuf.Writer): $protobuf.Writer;

            /**
             * Encodes the specified NodeSettings message, length delimited. Does not implicitly {@link google.api.NodeSettings.verify|verify} messages.
             * @param message NodeSettings message or plain object to encode
             * @param [writer] Writer to encode to
             * @returns Writer
             */
            public static encodeDelimited(message: google.api.INodeSettings, writer?: $protobuf.Writer): $protobuf.Writer;

            /**
             * Decodes a NodeSettings message from the specified reader or buffer.
             * @param reader Reader or buffer to decode from
             * @param [length] Message length if known beforehand
             * @returns NodeSettings
             * @throws {Error} If the payload is not a reader or valid buffer
             * @throws {$protobuf.util.ProtocolError} If required fields are missing
             */
            public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.api.NodeSettings;

            /**
             * Decodes a NodeSettings message from the specified reader or buffer, length delimited.
             * @param reader Reader or buffer to decode from
             * @returns NodeSettings
             * @throws {Error} If the payload is not a reader or valid buffer
             * @throws {$protobuf.util.ProtocolError} If required fields are missing
             */
            public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.api.NodeSettings;

            /**
             * Verifies a NodeSettings message.
             * @param message Plain object to verify
             * @returns `null` if valid, otherwise the reason why it is not
             */
            public static verify(message: { [k: string]: any }): (string|null);

            /**
             * Creates a NodeSettings message from a plain object. Also converts values to their respective internal types.
             * @param object Plain object
             * @returns NodeSettings
             */
            public static fromObject(object: { [k: string]: any }): google.api.NodeSettings;

            /**
             * Creates a plain object from a NodeSettings message. Also converts values to other types if specified.
             * @param message NodeSettings
             * @param [options] Conversion options
             * @returns Plain object
             */
            public static toObject(message: google.api.NodeSettings, options?: $protobuf.IConversionOptions): { [k: string]: any };

            /**
             * Converts this NodeSettings to JSON.
             * @returns JSON object
             */
            public toJSON(): { [k: string]: any };

            /**
             * Gets the default type url for NodeSettings
             * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
             * @returns The default type url
             */
            public static getTypeUrl(typeUrlPrefix?: string): string;
        }

        /** Properties of a DotnetSettings. */
        interface IDotnetSettings {

            /** DotnetSettings common */
            common?: (google.api.ICommonLanguageSettings|null);

            /** DotnetSettings renamedServices */
            renamedServices?: ({ [k: string]: string }|null);

            /** DotnetSettings renamedResources */
            renamedResources?: ({ [k: string]: string }|null);

            /** DotnetSettings ignoredResources */
            ignoredResources?: (string[]|null);

            /** DotnetSettings forcedNamespaceAliases */
            forcedNamespaceAliases?: (string[]|null);

            /** DotnetSettings handwrittenSignatures */
            handwrittenSignatures?: (string[]|null);
        }

        /** Represents a DotnetSettings. */
        class DotnetSettings implements IDotnetSettings {

            /**
             * Constructs a new DotnetSettings.
             * @param [properties] Properties to set
             */
            constructor(properties?: google.api.IDotnetSettings);

            /** DotnetSettings common. */
            public common?: (google.api.ICommonLanguageSettings|null);

            /** DotnetSettings renamedServices. */
            public renamedServices: { [k: string]: string };

            /** DotnetSettings renamedResources. */
            public renamedResources: { [k: string]: string };

            /** DotnetSettings ignoredResources. */
            public ignoredResources: string[];

            /** DotnetSettings forcedNamespaceAliases. */
            public forcedNamespaceAliases: string[];

            /** DotnetSettings handwrittenSignatures. */
            public handwrittenSignatures: string[];

            /**
             * Creates a new DotnetSettings instance using the specified properties.
             * @param [properties] Properties to set
             * @returns DotnetSettings instance
             */
            public static create(properties?: google.api.IDotnetSettings): google.api.DotnetSettings;

            /**
             * Encodes the specified DotnetSettings message. Does not implicitly {@link google.api.DotnetSettings.verify|verify} messages.
             * @param message DotnetSettings message or plain object to encode
             * @param [writer] Writer to encode to
             * @returns Writer
             */
            public static encode(message: google.api.IDotnetSettings, writer?: $protobuf.Writer): $protobuf.Writer;

            /**
             * Encodes the specified DotnetSettings message, length delimited. Does not implicitly {@link google.api.DotnetSettings.verify|verify} messages.
             * @param message DotnetSettings message or plain object to encode
             * @param [writer] Writer to encode to
             * @returns Writer
             */
            public static encodeDelimited(message: google.api.IDotnetSettings, writer?: $protobuf.Writer): $protobuf.Writer;

            /**
             * Decodes a DotnetSettings message from the specified reader or buffer.
             * @param reader Reader or buffer to decode from
             * @param [length] Message length if known beforehand
             * @returns DotnetSettings
             * @throws {Error} If the payload is not a reader or valid buffer
             * @throws {$protobuf.util.ProtocolError} If required fields are missing
             */
            public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.api.DotnetSettings;

            /**
             * Decodes a DotnetSettings message from the specified reader or buffer, length delimited.
             * @param reader Reader or buffer to decode from
             * @returns DotnetSettings
             * @throws {Error} If the payload is not a reader or valid buffer
             * @throws {$protobuf.util.ProtocolError} If required fields are missing
             */
            public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.api.DotnetSettings;

            /**
             * Verifies a DotnetSettings message.
             * @param message Plain object to verify
             * @returns `null` if valid, otherwise the reason why it is not
             */
            public static verify(message: { [k: string]: any }): (string|null);

            /**
             * Creates a DotnetSettings message from a plain object. Also converts values to their respective internal types.
             * @param object Plain object
             * @returns DotnetSettings
             */
            public static fromObject(object: { [k: string]: any }): google.api.DotnetSettings;

            /**
             * Creates a plain object from a DotnetSettings message. Also converts values to other types if specified.
             * @param message DotnetSettings
             * @param [options] Conversion options
             * @returns Plain object
             */
            public static toObject(message: google.api.DotnetSettings, options?: $protobuf.IConversionOptions): { [k: string]: any };

            /**
             * Converts this DotnetSettings to JSON.
             * @returns JSON object
             */
            public toJSON(): { [k: string]: any };

            /**
             * Gets the default type url for DotnetSettings
             * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
             * @returns The default type url
             */
            public static getTypeUrl(typeUrlPrefix?: string): string;
        }

        /** Properties of a RubySettings. */
        interface IRubySettings {

            /** RubySettings common */
            common?: (google.api.ICommonLanguageSettings|null);
        }

        /** Represents a RubySettings. */
        class RubySettings implements IRubySettings {

            /**
             * Constructs a new RubySettings.
             * @param [properties] Properties to set
             */
            constructor(properties?: google.api.IRubySettings);

            /** RubySettings common. */
            public common?: (google.api.ICommonLanguageSettings|null);

            /**
             * Creates a new RubySettings instance using the specified properties.
             * @param [properties] Properties to set
             * @returns RubySettings instance
             */
            public static create(properties?: google.api.IRubySettings): google.api.RubySettings;

            /**
             * Encodes the specified RubySettings message. Does not implicitly {@link google.api.RubySettings.verify|verify} messages.
             * @param message RubySettings message or plain object to encode
             * @param [writer] Writer to encode to
             * @returns Writer
             */
            public static encode(message: google.api.IRubySettings, writer?: $protobuf.Writer): $protobuf.Writer;

            /**
             * Encodes the specified RubySettings message, length delimited. Does not implicitly {@link google.api.RubySettings.verify|verify} messages.
             * @param message RubySettings message or plain object to encode
             * @param [writer] Writer to encode to
             * @returns Writer
             */
            public static encodeDelimited(message: google.api.IRubySettings, writer?: $protobuf.Writer): $protobuf.Writer;

            /**
             * Decodes a RubySettings message from the specified reader or buffer.
             * @param reader Reader or buffer to decode from
             * @param [length] Message length if known beforehand
             * @returns RubySettings
             * @throws {Error} If the payload is not a reader or valid buffer
             * @throws {$protobuf.util.ProtocolError} If required fields are missing
             */
            public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.api.RubySettings;

            /**
             * Decodes a RubySettings message from the specified reader or buffer, length delimited.
             * @param reader Reader or buffer to decode from
             * @returns RubySettings
             * @throws {Error} If the payload is not a reader or valid buffer
             * @throws {$protobuf.util.ProtocolError} If required fields are missing
             */
            public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.api.RubySettings;

            /**
             * Verifies a RubySettings message.
             * @param message Plain object to verify
             * @returns `null` if valid, otherwise the reason why it is not
             */
            public static verify(message: { [k: string]: any }): (string|null);

            /**
             * Creates a RubySettings message from a plain object. Also converts values to their respective internal types.
             * @param object Plain object
             * @returns RubySettings
             */
            public static fromObject(object: { [k: string]: any }): google.api.RubySettings;

            /**
             * Creates a plain object from a RubySettings message. Also converts values to other types if specified.
             * @param message RubySettings
             * @param [options] Conversion options
             * @returns Plain object
             */
            public static toObject(message: google.api.RubySettings, options?: $protobuf.IConversionOptions): { [k: string]: any };

            /**
             * Converts this RubySettings to JSON.
             * @returns JSON object
             */
            public toJSON(): { [k: string]: any };

            /**
             * Gets the default type url for RubySettings
             * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
             * @returns The default type url
             */
            public static getTypeUrl(typeUrlPrefix?: string): string;
        }

        /** Properties of a GoSettings. */
        interface IGoSettings {

            /** GoSettings common */
            common?: (google.api.ICommonLanguageSettings|null);
        }

        /** Represents a GoSettings. */
        class GoSettings implements IGoSettings {

            /**
             * Constructs a new GoSettings.
             * @param [properties] Properties to set
             */
            constructor(properties?: google.api.IGoSettings);

            /** GoSettings common. */
            public common?: (google.api.ICommonLanguageSettings|null);

            /**
             * Creates a new GoSettings instance using the specified properties.
             * @param [properties] Properties to set
             * @returns GoSettings instance
             */
            public static create(properties?: google.api.IGoSettings): google.api.GoSettings;

            /**
             * Encodes the specified GoSettings message. Does not implicitly {@link google.api.GoSettings.verify|verify} messages.
             * @param message GoSettings message or plain object to encode
             * @param [writer] Writer to encode to
             * @returns Writer
             */
            public static encode(message: google.api.IGoSettings, writer?: $protobuf.Writer): $protobuf.Writer;

            /**
             * Encodes the specified GoSettings message, length delimited. Does not implicitly {@link google.api.GoSettings.verify|verify} messages.
             * @param message GoSettings message or plain object to encode
             * @param [writer] Writer to encode to
             * @returns Writer
             */
            public static encodeDelimited(message: google.api.IGoSettings, writer?: $protobuf.Writer): $protobuf.Writer;

            /**
             * Decodes a GoSettings message from the specified reader or buffer.
             * @param reader Reader or buffer to decode from
             * @param [length] Message length if known beforehand
             * @returns GoSettings
             * @throws {Error} If the payload is not a reader or valid buffer
             * @throws {$protobuf.util.ProtocolError} If required fields are missing
             */
            public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.api.GoSettings;

            /**
             * Decodes a GoSettings message from the specified reader or buffer, length delimited.
             * @param reader Reader or buffer to decode from
             * @returns GoSettings
             * @throws {Error} If the payload is not a reader or valid buffer
             * @throws {$protobuf.util.ProtocolError} If required fields are missing
             */
            public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.api.GoSettings;

            /**
             * Verifies a GoSettings message.
             * @param message Plain object to verify
             * @returns `null` if valid, otherwise the reason why it is not
             */
            public static verify(message: { [k: string]: any }): (string|null);

            /**
             * Creates a GoSettings message from a plain object. Also converts values to their respective internal types.
             * @param object Plain object
             * @returns GoSettings
             */
            public static fromObject(object: { [k: string]: any }): google.api.GoSettings;

            /**
             * Creates a plain object from a GoSettings message. Also converts values to other types if specified.
             * @param message GoSettings
             * @param [options] Conversion options
             * @returns Plain object
             */
            public static toObject(message: google.api.GoSettings, options?: $protobuf.IConversionOptions): { [k: string]: any };

            /**
             * Converts this GoSettings to JSON.
             * @returns JSON object
             */
            public toJSON(): { [k: string]: any };

            /**
             * Gets the default type url for GoSettings
             * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
             * @returns The default type url
             */
            public static getTypeUrl(typeUrlPrefix?: string): string;
        }

        /** Properties of a MethodSettings. */
        interface IMethodSettings {

            /** MethodSettings selector */
            selector?: (string|null);

            /** MethodSettings longRunning */
            longRunning?: (google.api.MethodSettings.ILongRunning|null);

            /** MethodSettings autoPopulatedFields */
            autoPopulatedFields?: (string[]|null);
        }

        /** Represents a MethodSettings. */
        class MethodSettings implements IMethodSettings {

            /**
             * Constructs a new MethodSettings.
             * @param [properties] Properties to set
             */
            constructor(properties?: google.api.IMethodSettings);

            /** MethodSettings selector. */
            public selector: string;

            /** MethodSettings longRunning. */
            public longRunning?: (google.api.MethodSettings.ILongRunning|null);

            /** MethodSettings autoPopulatedFields. */
            public autoPopulatedFields: string[];

            /**
             * Creates a new MethodSettings instance using the specified properties.
             * @param [properties] Properties to set
             * @returns MethodSettings instance
             */
            public static create(properties?: google.api.IMethodSettings): google.api.MethodSettings;

            /**
             * Encodes the specified MethodSettings message. Does not implicitly {@link google.api.MethodSettings.verify|verify} messages.
             * @param message MethodSettings message or plain object to encode
             * @param [writer] Writer to encode to
             * @returns Writer
             */
            public static encode(message: google.api.IMethodSettings, writer?: $protobuf.Writer): $protobuf.Writer;

            /**
             * Encodes the specified MethodSettings message, length delimited. Does not implicitly {@link google.api.MethodSettings.verify|verify} messages.
             * @param message MethodSettings message or plain object to encode
             * @param [writer] Writer to encode to
             * @returns Writer
             */
            public static encodeDelimited(message: google.api.IMethodSettings, writer?: $protobuf.Writer): $protobuf.Writer;

            /**
             * Decodes a MethodSettings message from the specified reader or buffer.
             * @param reader Reader or buffer to decode from
             * @param [length] Message length if known beforehand
             * @returns MethodSettings
             * @throws {Error} If the payload is not a reader or valid buffer
             * @throws {$protobuf.util.ProtocolError} If required fields are missing
             */
            public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.api.MethodSettings;

            /**
             * Decodes a MethodSettings message from the specified reader or buffer, length delimited.
             * @param reader Reader or buffer to decode from
             * @returns MethodSettings
             * @throws {Error} If the payload is not a reader or valid buffer
             * @throws {$protobuf.util.ProtocolError} If required fields are missing
             */
            public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.api.MethodSettings;

            /**
             * Verifies a MethodSettings message.
             * @param message Plain object to verify
             * @returns `null` if valid, otherwise the reason why it is not
             */
            public static verify(message: { [k: string]: any }): (string|null);

            /**
             * Creates a MethodSettings message from a plain object. Also converts values to their respective internal types.
             * @param object Plain object
             * @returns MethodSettings
             */
            public static fromObject(object: { [k: string]: any }): google.api.MethodSettings;

            /**
             * Creates a plain object from a MethodSettings message. Also converts values to other types if specified.
             * @param message MethodSettings
             * @param [options] Conversion options
             * @returns Plain object
             */
            public static toObject(message: google.api.MethodSettings, options?: $protobuf.IConversionOptions): { [k: string]: any };

            /**
             * Converts this MethodSettings to JSON.
             * @returns JSON object
             */
            public toJSON(): { [k: string]: any };

            /**
             * Gets the default type url for MethodSettings
             * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
             * @returns The default type url
             */
            public static getTypeUrl(typeUrlPrefix?: string): string;
        }

        namespace MethodSettings {

            /** Properties of a LongRunning. */
            interface ILongRunning {

                /** LongRunning initialPollDelay */
                initialPollDelay?: (google.protobuf.IDuration|null);

                /** LongRunning pollDelayMultiplier */
                pollDelayMultiplier?: (number|null);

                /** LongRunning maxPollDelay */
                maxPollDelay?: (google.protobuf.IDuration|null);

                /** LongRunning totalPollTimeout */
                totalPollTimeout?: (google.protobuf.IDuration|null);
            }

            /** Represents a LongRunning. */
            class LongRunning implements ILongRunning {

                /**
                 * Constructs a new LongRunning.
                 * @param [properties] Properties to set
                 */
                constructor(properties?: google.api.MethodSettings.ILongRunning);

                /** LongRunning initialPollDelay. */
                public initialPollDelay?: (google.protobuf.IDuration|null);

                /** LongRunning pollDelayMultiplier. */
                public pollDelayMultiplier: number;

                /** LongRunning maxPollDelay. */
                public maxPollDelay?: (google.protobuf.IDuration|null);

                /** LongRunning totalPollTimeout. */
                public totalPollTimeout?: (google.protobuf.IDuration|null);

                /**
                 * Creates a new LongRunning instance using the specified properties.
                 * @param [properties] Properties to set
                 * @returns LongRunning instance
                 */
                public static create(properties?: google.api.MethodSettings.ILongRunning): google.api.MethodSettings.LongRunning;

                /**
                 * Encodes the specified LongRunning message. Does not implicitly {@link google.api.MethodSettings.LongRunning.verify|verify} messages.
                 * @param message LongRunning message or plain object to encode
                 * @param [writer] Writer to encode to
                 * @returns Writer
                 */
                public static encode(message: google.api.MethodSettings.ILongRunning, writer?: $protobuf.Writer): $protobuf.Writer;

                /**
                 * Encodes the specified LongRunning message, length delimited. Does not implicitly {@link google.api.MethodSettings.LongRunning.verify|verify} messages.
                 * @param message LongRunning message or plain object to encode
                 * @param [writer] Writer to encode to
                 * @returns Writer
                 */
                public static encodeDelimited(message: google.api.MethodSettings.ILongRunning, writer?: $protobuf.Writer): $protobuf.Writer;

                /**
                 * Decodes a LongRunning message from the specified reader or buffer.
                 * @param reader Reader or buffer to decode from
                 * @param [length] Message length if known beforehand
                 * @returns LongRunning
                 * @throws {Error} If the payload is not a reader or valid buffer
                 * @throws {$protobuf.util.ProtocolError} If required fields are missing
                 */
                public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.api.MethodSettings.LongRunning;

                /**
                 * Decodes a LongRunning message from the specified reader or buffer, length delimited.
                 * @param reader Reader or buffer to decode from
                 * @returns LongRunning
                 * @throws {Error} If the payload is not a reader or valid buffer
                 * @throws {$protobuf.util.ProtocolError} If required fields are missing
                 */
                public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.api.MethodSettings.LongRunning;

                /**
                 * Verifies a LongRunning message.
                 * @param message Plain object to verify
                 * @returns `null` if valid, otherwise the reason why it is not
                 */
                public static verify(message: { [k: string]: any }): (string|null);

                /**
                 * Creates a LongRunning message from a plain object. Also converts values to their respective internal types.
                 * @param object Plain object
                 * @returns LongRunning
                 */
                public static fromObject(object: { [k: string]: any }): google.api.MethodSettings.LongRunning;

                /**
                 * Creates a plain object from a LongRunning message. Also converts values to other types if specified.
                 * @param message LongRunning
                 * @param [options] Conversion options
                 * @returns Plain object
                 */
                public static toObject(message: google.api.MethodSettings.LongRunning, options?: $protobuf.IConversionOptions): { [k: string]: any };

                /**
                 * Converts this LongRunning to JSON.
                 * @returns JSON object
                 */
                public toJSON(): { [k: string]: any };

                /**
                 * Gets the default type url for LongRunning
                 * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                 * @returns The default type url
                 */
                public static getTypeUrl(typeUrlPrefix?: string): string;
            }
        }

        /** ClientLibraryOrganization enum. */
        enum ClientLibraryOrganization {
            CLIENT_LIBRARY_ORGANIZATION_UNSPECIFIED = 0,
            CLOUD = 1,
            ADS = 2,
            PHOTOS = 3,
            STREET_VIEW = 4,
            SHOPPING = 5,
            GEO = 6,
            GENERATIVE_AI = 7
        }

        /** ClientLibraryDestination enum. */
        enum ClientLibraryDestination {
            CLIENT_LIBRARY_DESTINATION_UNSPECIFIED = 0,
            GITHUB = 10,
            PACKAGE_MANAGER = 20
        }

        /** LaunchStage enum. */
        enum LaunchStage {
            LAUNCH_STAGE_UNSPECIFIED = 0,
            UNIMPLEMENTED = 6,
            PRELAUNCH = 7,
            EARLY_ACCESS = 1,
            ALPHA = 2,
            BETA = 3,
            GA = 4,
            DEPRECATED = 5
        }
    }

    /** Namespace protobuf. */
    namespace protobuf {

        /** Properties of a FileDescriptorSet. */
        interface IFileDescriptorSet {

            /** FileDescriptorSet file */
            file?: (google.protobuf.IFileDescriptorProto[]|null);
        }

        /** Represents a FileDescriptorSet. */
        class FileDescriptorSet implements IFileDescriptorSet {

            /**
             * Constructs a new FileDescriptorSet.
             * @param [properties] Properties to set
             */
            constructor(properties?: google.protobuf.IFileDescriptorSet);

            /** FileDescriptorSet file. */
            public file: google.protobuf.IFileDescriptorProto[];

            /**
             * Creates a new FileDescriptorSet instance using the specified properties.
             * @param [properties] Properties to set
             * @returns FileDescriptorSet instance
             */
            public static create(properties?: google.protobuf.IFileDescriptorSet): google.protobuf.FileDescriptorSet;

            /**
             * Encodes the specified FileDescriptorSet message. Does not implicitly {@link google.protobuf.FileDescriptorSet.verify|verify} messages.
             * @param message FileDescriptorSet message or plain object to encode
             * @param [writer] Writer to encode to
             * @returns Writer
             */
            public static encode(message: google.protobuf.IFileDescriptorSet, writer?: $protobuf.Writer): $protobuf.Writer;

            /**
             * Encodes the specified FileDescriptorSet message, length delimited. Does not implicitly {@link google.protobuf.FileDescriptorSet.verify|verify} messages.
             * @param message FileDescriptorSet message or plain object to encode
             * @param [writer] Writer to encode to
             * @returns Writer
             */
            public static encodeDelimited(message: google.protobuf.IFileDescriptorSet, writer?: $protobuf.Writer): $protobuf.Writer;

            /**
             * Decodes a FileDescriptorSet message from the specified reader or buffer.
             * @param reader Reader or buffer to decode from
             * @param [length] Message length if known beforehand
             * @returns FileDescriptorSet
             * @throws {Error} If the payload is not a reader or valid buffer
             * @throws {$protobuf.util.ProtocolError} If required fields are missing
             */
            public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.FileDescriptorSet;

            /**
             * Decodes a FileDescriptorSet message from the specified reader or buffer, length delimited.
             * @param reader Reader or buffer to decode from
             * @returns FileDescriptorSet
             * @throws {Error} If the payload is not a reader or valid buffer
             * @throws {$protobuf.util.ProtocolError} If required fields are missing
             */
            public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.FileDescriptorSet;

            /**
             * Verifies a FileDescriptorSet message.
             * @param message Plain object to verify
             * @returns `null` if valid, otherwise the reason why it is not
             */
            public static verify(message: { [k: string]: any }): (string|null);

            /**
             * Creates a FileDescriptorSet message from a plain object. Also converts values to their respective internal types.
             * @param object Plain object
             * @returns FileDescriptorSet
             */
            public static fromObject(object: { [k: string]: any }): google.protobuf.FileDescriptorSet;

            /**
             * Creates a plain object from a FileDescriptorSet message. Also converts values to other types if specified.
             * @param message FileDescriptorSet
             * @param [options] Conversion options
             * @returns Plain object
             */
            public static toObject(message: google.protobuf.FileDescriptorSet, options?: $protobuf.IConversionOptions): { [k: string]: any };

            /**
             * Converts this FileDescriptorSet to JSON.
             * @returns JSON object
             */
            public toJSON(): { [k: string]: any };

            /**
             * Gets the default type url for FileDescriptorSet
             * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
             * @returns The default type url
             */
            public static getTypeUrl(typeUrlPrefix?: string): string;
        }

        /** Edition enum. */
        enum Edition {
            EDITION_UNKNOWN = 0,
            EDITION_PROTO2 = 998,
            EDITION_PROTO3 = 999,
            EDITION_2023 = 1000,
            EDITION_2024 = 1001,
            EDITION_1_TEST_ONLY = 1,
            EDITION_2_TEST_ONLY = 2,
            EDITION_99997_TEST_ONLY = 99997,
            EDITION_99998_TEST_ONLY = 99998,
            EDITION_99999_TEST_ONLY = 99999,
            EDITION_MAX = 2147483647
        }

        /** Properties of a FileDescriptorProto. */
        interface IFileDescriptorProto {

            /** FileDescriptorProto name */
            name?: (string|null);

            /** FileDescriptorProto package */
            "package"?: (string|null);

            /** FileDescriptorProto dependency */
            dependency?: (string[]|null);

            /** FileDescriptorProto publicDependency */
            publicDependency?: (number[]|null);

            /** FileDescriptorProto weakDependency */
            weakDependency?: (number[]|null);

            /** FileDescriptorProto messageType */
            messageType?: (google.protobuf.IDescriptorProto[]|null);

            /** FileDescriptorProto enumType */
            enumType?: (google.protobuf.IEnumDescriptorProto[]|null);

            /** FileDescriptorProto service */
            service?: (google.protobuf.IServiceDescriptorProto[]|null);

            /** FileDescriptorProto extension */
            extension?: (google.protobuf.IFieldDescriptorProto[]|null);

            /** FileDescriptorProto options */
            options?: (google.protobuf.IFileOptions|null);

            /** FileDescriptorProto sourceCodeInfo */
            sourceCodeInfo?: (google.protobuf.ISourceCodeInfo|null);

            /** FileDescriptorProto syntax */
            syntax?: (string|null);

            /** FileDescriptorProto edition */
            edition?: (google.protobuf.Edition|keyof typeof google.protobuf.Edition|null);
        }

        /** Represents a FileDescriptorProto. */
        class FileDescriptorProto implements IFileDescriptorProto {

            /**
             * Constructs a new FileDescriptorProto.
             * @param [properties] Properties to set
             */
            constructor(properties?: google.protobuf.IFileDescriptorProto);

            /** FileDescriptorProto name. */
            public name: string;

            /** FileDescriptorProto package. */
            public package: string;

            /** FileDescriptorProto dependency. */
            public dependency: string[];

            /** FileDescriptorProto publicDependency. */
            public publicDependency: number[];

            /** FileDescriptorProto weakDependency. */
            public weakDependency: number[];

            /** FileDescriptorProto messageType. */
            public messageType: google.protobuf.IDescriptorProto[];

            /** FileDescriptorProto enumType. */
            public enumType: google.protobuf.IEnumDescriptorProto[];

            /** FileDescriptorProto service. */
            public service: google.protobuf.IServiceDescriptorProto[];

            /** FileDescriptorProto extension. */
            public extension: google.protobuf.IFieldDescriptorProto[];

            /** FileDescriptorProto options. */
            public options?: (google.protobuf.IFileOptions|null);

            /** FileDescriptorProto sourceCodeInfo. */
            public sourceCodeInfo?: (google.protobuf.ISourceCodeInfo|null);

            /** FileDescriptorProto syntax. */
            public syntax: string;

            /** FileDescriptorProto edition. */
            public edition: (google.protobuf.Edition|keyof typeof google.protobuf.Edition);

            /**
             * Creates a new FileDescriptorProto instance using the specified properties.
             * @param [properties] Properties to set
             * @returns FileDescriptorProto instance
             */
            public static create(properties?: google.protobuf.IFileDescriptorProto): google.protobuf.FileDescriptorProto;

            /**
             * Encodes the specified FileDescriptorProto message. Does not implicitly {@link google.protobuf.FileDescriptorProto.verify|verify} messages.
             * @param message FileDescriptorProto message or plain object to encode
             * @param [writer] Writer to encode to
             * @returns Writer
             */
            public static encode(message: google.protobuf.IFileDescriptorProto, writer?: $protobuf.Writer): $protobuf.Writer;

            /**
             * Encodes the specified FileDescriptorProto message, length delimited. Does not implicitly {@link google.protobuf.FileDescriptorProto.verify|verify} messages.
             * @param message FileDescriptorProto message or plain object to encode
             * @param [writer] Writer to encode to
             * @returns Writer
             */
            public static encodeDelimited(message: google.protobuf.IFileDescriptorProto, writer?: $protobuf.Writer): $protobuf.Writer;

            /**
             * Decodes a FileDescriptorProto message from the specified reader or buffer.
             * @param reader Reader or buffer to decode from
             * @param [length] Message length if known beforehand
             * @returns FileDescriptorProto
             * @throws {Error} If the payload is not a reader or valid buffer
             * @throws {$protobuf.util.ProtocolError} If required fields are missing
             */
            public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.FileDescriptorProto;

            /**
             * Decodes a FileDescriptorProto message from the specified reader or buffer, length delimited.
             * @param reader Reader or buffer to decode from
             * @returns FileDescriptorProto
             * @throws {Error} If the payload is not a reader or valid buffer
             * @throws {$protobuf.util.ProtocolError} If required fields are missing
             */
            public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.FileDescriptorProto;

            /**
             * Verifies a FileDescriptorProto message.
             * @param message Plain object to verify
             * @returns `null` if valid, otherwise the reason why it is not
             */
            public static verify(message: { [k: string]: any }): (string|null);

            /**
             * Creates a FileDescriptorProto message from a plain object. Also converts values to their respective internal types.
             * @param object Plain object
             * @returns FileDescriptorProto
             */
            public static fromObject(object: { [k: string]: any }): google.protobuf.FileDescriptorProto;

            /**
             * Creates a plain object from a FileDescriptorProto message. Also converts values to other types if specified.
             * @param message FileDescriptorProto
             * @param [options] Conversion options
             * @returns Plain object
             */
            public static toObject(message: google.protobuf.FileDescriptorProto, options?: $protobuf.IConversionOptions): { [k: string]: any };

            /**
             * Converts this FileDescriptorProto to JSON.
             * @returns JSON object
             */
            public toJSON(): { [k: string]: any };

            /**
             * Gets the default type url for FileDescriptorProto
             * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
             * @returns The default type url
             */
            public static getTypeUrl(typeUrlPrefix?: string): string;
        }

        /** Properties of a DescriptorProto. */
        interface IDescriptorProto {

            /** DescriptorProto name */
            name?: (string|null);

            /** DescriptorProto field */
            field?: (google.protobuf.IFieldDescriptorProto[]|null);

            /** DescriptorProto extension */
            extension?: (google.protobuf.IFieldDescriptorProto[]|null);

            /** DescriptorProto nestedType */
            nestedType?: (google.protobuf.IDescriptorProto[]|null);

            /** DescriptorProto enumType */
            enumType?: (google.protobuf.IEnumDescriptorProto[]|null);

            /** DescriptorProto extensionRange */
            extensionRange?: (google.protobuf.DescriptorProto.IExtensionRange[]|null);

            /** DescriptorProto oneofDecl */
            oneofDecl?: (google.protobuf.IOneofDescriptorProto[]|null);

            /** DescriptorProto options */
            options?: (google.protobuf.IMessageOptions|null);

            /** DescriptorProto reservedRange */
            reservedRange?: (google.protobuf.DescriptorProto.IReservedRange[]|null);

            /** DescriptorProto reservedName */
            reservedName?: (string[]|null);
        }

        /** Represents a DescriptorProto. */
        class DescriptorProto implements IDescriptorProto {

            /**
             * Constructs a new DescriptorProto.
             * @param [properties] Properties to set
             */
            constructor(properties?: google.protobuf.IDescriptorProto);

            /** DescriptorProto name. */
            public name: string;

            /** DescriptorProto field. */
            public field: google.protobuf.IFieldDescriptorProto[];

            /** DescriptorProto extension. */
            public extension: google.protobuf.IFieldDescriptorProto[];

            /** DescriptorProto nestedType. */
            public nestedType: google.protobuf.IDescriptorProto[];

            /** DescriptorProto enumType. */
            public enumType: google.protobuf.IEnumDescriptorProto[];

            /** DescriptorProto extensionRange. */
            public extensionRange: google.protobuf.DescriptorProto.IExtensionRange[];

            /** DescriptorProto oneofDecl. */
            public oneofDecl: google.protobuf.IOneofDescriptorProto[];

            /** DescriptorProto options. */
            public options?: (google.protobuf.IMessageOptions|null);

            /** DescriptorProto reservedRange. */
            public reservedRange: google.protobuf.DescriptorProto.IReservedRange[];

            /** DescriptorProto reservedName. */
            public reservedName: string[];

            /**
             * Creates a new DescriptorProto instance using the specified properties.
             * @param [properties] Properties to set
             * @returns DescriptorProto instance
             */
            public static create(properties?: google.protobuf.IDescriptorProto): google.protobuf.DescriptorProto;

            /**
             * Encodes the specified DescriptorProto message. Does not implicitly {@link google.protobuf.DescriptorProto.verify|verify} messages.
             * @param message DescriptorProto message or plain object to encode
             * @param [writer] Writer to encode to
             * @returns Writer
             */
            public static encode(message: google.protobuf.IDescriptorProto, writer?: $protobuf.Writer): $protobuf.Writer;

            /**
             * Encodes the specified DescriptorProto message, length delimited. Does not implicitly {@link google.protobuf.DescriptorProto.verify|verify} messages.
             * @param message DescriptorProto message or plain object to encode
             * @param [writer] Writer to encode to
             * @returns Writer
             */
            public static encodeDelimited(message: google.protobuf.IDescriptorProto, writer?: $protobuf.Writer): $protobuf.Writer;

            /**
             * Decodes a DescriptorProto message from the specified reader or buffer.
             * @param reader Reader or buffer to decode from
             * @param [length] Message length if known beforehand
             * @returns DescriptorProto
             * @throws {Error} If the payload is not a reader or valid buffer
             * @throws {$protobuf.util.ProtocolError} If required fields are missing
             */
            public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.DescriptorProto;

            /**
             * Decodes a DescriptorProto message from the specified reader or buffer, length delimited.
             * @param reader Reader or buffer to decode from
             * @returns DescriptorProto
             * @throws {Error} If the payload is not a reader or valid buffer
             * @throws {$protobuf.util.ProtocolError} If required fields are missing
             */
            public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.DescriptorProto;

            /**
             * Verifies a DescriptorProto message.
             * @param message Plain object to verify
             * @returns `null` if valid, otherwise the reason why it is not
             */
            public static verify(message: { [k: string]: any }): (string|null);

            /**
             * Creates a DescriptorProto message from a plain object. Also converts values to their respective internal types.
             * @param object Plain object
             * @returns DescriptorProto
             */
            public static fromObject(object: { [k: string]: any }): google.protobuf.DescriptorProto;

            /**
             * Creates a plain object from a DescriptorProto message. Also converts values to other types if specified.
             * @param message DescriptorProto
             * @param [options] Conversion options
             * @returns Plain object
             */
            public static toObject(message: google.protobuf.DescriptorProto, options?: $protobuf.IConversionOptions): { [k: string]: any };

            /**
             * Converts this DescriptorProto to JSON.
             * @returns JSON object
             */
            public toJSON(): { [k: string]: any };

            /**
             * Gets the default type url for DescriptorProto
             * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
             * @returns The default type url
             */
            public static getTypeUrl(typeUrlPrefix?: string): string;
        }

        namespace DescriptorProto {

            /** Properties of an ExtensionRange. */
            interface IExtensionRange {

                /** ExtensionRange start */
                start?: (number|null);

                /** ExtensionRange end */
                end?: (number|null);

                /** ExtensionRange options */
                options?: (google.protobuf.IExtensionRangeOptions|null);
            }

            /** Represents an ExtensionRange. */
            class ExtensionRange implements IExtensionRange {

                /**
                 * Constructs a new ExtensionRange.
                 * @param [properties] Properties to set
                 */
                constructor(properties?: google.protobuf.DescriptorProto.IExtensionRange);

                /** ExtensionRange start. */
                public start: number;

                /** ExtensionRange end. */
                public end: number;

                /** ExtensionRange options. */
                public options?: (google.protobuf.IExtensionRangeOptions|null);

                /**
                 * Creates a new ExtensionRange instance using the specified properties.
                 * @param [properties] Properties to set
                 * @returns ExtensionRange instance
                 */
                public static create(properties?: google.protobuf.DescriptorProto.IExtensionRange): google.protobuf.DescriptorProto.ExtensionRange;

                /**
                 * Encodes the specified ExtensionRange message. Does not implicitly {@link google.protobuf.DescriptorProto.ExtensionRange.verify|verify} messages.
                 * @param message ExtensionRange message or plain object to encode
                 * @param [writer] Writer to encode to
                 * @returns Writer
                 */
                public static encode(message: google.protobuf.DescriptorProto.IExtensionRange, writer?: $protobuf.Writer): $protobuf.Writer;

                /**
                 * Encodes the specified ExtensionRange message, length delimited. Does not implicitly {@link google.protobuf.DescriptorProto.ExtensionRange.verify|verify} messages.
                 * @param message ExtensionRange message or plain object to encode
                 * @param [writer] Writer to encode to
                 * @returns Writer
                 */
                public static encodeDelimited(message: google.protobuf.DescriptorProto.IExtensionRange, writer?: $protobuf.Writer): $protobuf.Writer;

                /**
                 * Decodes an ExtensionRange message from the specified reader or buffer.
                 * @param reader Reader or buffer to decode from
                 * @param [length] Message length if known beforehand
                 * @returns ExtensionRange
                 * @throws {Error} If the payload is not a reader or valid buffer
                 * @throws {$protobuf.util.ProtocolError} If required fields are missing
                 */
                public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.DescriptorProto.ExtensionRange;

                /**
                 * Decodes an ExtensionRange message from the specified reader or buffer, length delimited.
                 * @param reader Reader or buffer to decode from
                 * @returns ExtensionRange
                 * @throws {Error} If the payload is not a reader or valid buffer
                 * @throws {$protobuf.util.ProtocolError} If required fields are missing
                 */
                public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.DescriptorProto.ExtensionRange;

                /**
                 * Verifies an ExtensionRange message.
                 * @param message Plain object to verify
                 * @returns `null` if valid, otherwise the reason why it is not
                 */
                public static verify(message: { [k: string]: any }): (string|null);

                /**
                 * Creates an ExtensionRange message from a plain object. Also converts values to their respective internal types.
                 * @param object Plain object
                 * @returns ExtensionRange
                 */
                public static fromObject(object: { [k: string]: any }): google.protobuf.DescriptorProto.ExtensionRange;

                /**
                 * Creates a plain object from an ExtensionRange message. Also converts values to other types if specified.
                 * @param message ExtensionRange
                 * @param [options] Conversion options
                 * @returns Plain object
                 */
                public static toObject(message: google.protobuf.DescriptorProto.ExtensionRange, options?: $protobuf.IConversionOptions): { [k: string]: any };

                /**
                 * Converts this ExtensionRange to JSON.
                 * @returns JSON object
                 */
                public toJSON(): { [k: string]: any };

                /**
                 * Gets the default type url for ExtensionRange
                 * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                 * @returns The default type url
                 */
                public static getTypeUrl(typeUrlPrefix?: string): string;
            }

            /** Properties of a ReservedRange. */
            interface IReservedRange {

                /** ReservedRange start */
                start?: (number|null);

                /** ReservedRange end */
                end?: (number|null);
            }

            /** Represents a ReservedRange. */
            class ReservedRange implements IReservedRange {

                /**
                 * Constructs a new ReservedRange.
                 * @param [properties] Properties to set
                 */
                constructor(properties?: google.protobuf.DescriptorProto.IReservedRange);

                /** ReservedRange start. */
                public start: number;

                /** ReservedRange end. */
                public end: number;

                /**
                 * Creates a new ReservedRange instance using the specified properties.
                 * @param [properties] Properties to set
                 * @returns ReservedRange instance
                 */
                public static create(properties?: google.protobuf.DescriptorProto.IReservedRange): google.protobuf.DescriptorProto.ReservedRange;

                /**
                 * Encodes the specified ReservedRange message. Does not implicitly {@link google.protobuf.DescriptorProto.ReservedRange.verify|verify} messages.
                 * @param message ReservedRange message or plain object to encode
                 * @param [writer] Writer to encode to
                 * @returns Writer
                 */
                public static encode(message: google.protobuf.DescriptorProto.IReservedRange, writer?: $protobuf.Writer): $protobuf.Writer;

                /**
                 * Encodes the specified ReservedRange message, length delimited. Does not implicitly {@link google.protobuf.DescriptorProto.ReservedRange.verify|verify} messages.
                 * @param message ReservedRange message or plain object to encode
                 * @param [writer] Writer to encode to
                 * @returns Writer
                 */
                public static encodeDelimited(message: google.protobuf.DescriptorProto.IReservedRange, writer?: $protobuf.Writer): $protobuf.Writer;

                /**
                 * Decodes a ReservedRange message from the specified reader or buffer.
                 * @param reader Reader or buffer to decode from
                 * @param [length] Message length if known beforehand
                 * @returns ReservedRange
                 * @throws {Error} If the payload is not a reader or valid buffer
                 * @throws {$protobuf.util.ProtocolError} If required fields are missing
                 */
                public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.DescriptorProto.ReservedRange;

                /**
                 * Decodes a ReservedRange message from the specified reader or buffer, length delimited.
                 * @param reader Reader or buffer to decode from
                 * @returns ReservedRange
                 * @throws {Error} If the payload is not a reader or valid buffer
                 * @throws {$protobuf.util.ProtocolError} If required fields are missing
                 */
                public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.DescriptorProto.ReservedRange;

                /**
                 * Verifies a ReservedRange message.
                 * @param message Plain object to verify
                 * @returns `null` if valid, otherwise the reason why it is not
                 */
                public static verify(message: { [k: string]: any }): (string|null);

                /**
                 * Creates a ReservedRange message from a plain object. Also converts values to their respective internal types.
                 * @param object Plain object
                 * @returns ReservedRange
                 */
                public static fromObject(object: { [k: string]: any }): google.protobuf.DescriptorProto.ReservedRange;

                /**
                 * Creates a plain object from a ReservedRange message. Also converts values to other types if specified.
                 * @param message ReservedRange
                 * @param [options] Conversion options
                 * @returns Plain object
                 */
                public static toObject(message: google.protobuf.DescriptorProto.ReservedRange, options?: $protobuf.IConversionOptions): { [k: string]: any };

                /**
                 * Converts this ReservedRange to JSON.
                 * @returns JSON object
                 */
                public toJSON(): { [k: string]: any };

                /**
                 * Gets the default type url for ReservedRange
                 * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                 * @returns The default type url
                 */
                public static getTypeUrl(typeUrlPrefix?: string): string;
            }
        }

        /** Properties of an ExtensionRangeOptions. */
        interface IExtensionRangeOptions {

            /** ExtensionRangeOptions uninterpretedOption */
            uninterpretedOption?: (google.protobuf.IUninterpretedOption[]|null);

            /** ExtensionRangeOptions declaration */
            declaration?: (google.protobuf.ExtensionRangeOptions.IDeclaration[]|null);

            /** ExtensionRangeOptions features */
            features?: (google.protobuf.IFeatureSet|null);

            /** ExtensionRangeOptions verification */
            verification?: (google.protobuf.ExtensionRangeOptions.VerificationState|keyof typeof google.protobuf.ExtensionRangeOptions.VerificationState|null);
        }

        /** Represents an ExtensionRangeOptions. */
        class ExtensionRangeOptions implements IExtensionRangeOptions {

            /**
             * Constructs a new ExtensionRangeOptions.
             * @param [properties] Properties to set
             */
            constructor(properties?: google.protobuf.IExtensionRangeOptions);

            /** ExtensionRangeOptions uninterpretedOption. */
            public uninterpretedOption: google.protobuf.IUninterpretedOption[];

            /** ExtensionRangeOptions declaration. */
            public declaration: google.protobuf.ExtensionRangeOptions.IDeclaration[];

            /** ExtensionRangeOptions features. */
            public features?: (google.protobuf.IFeatureSet|null);

            /** ExtensionRangeOptions verification. */
            public verification: (google.protobuf.ExtensionRangeOptions.VerificationState|keyof typeof google.protobuf.ExtensionRangeOptions.VerificationState);

            /**
             * Creates a new ExtensionRangeOptions instance using the specified properties.
             * @param [properties] Properties to set
             * @returns ExtensionRangeOptions instance
             */
            public static create(properties?: google.protobuf.IExtensionRangeOptions): google.protobuf.ExtensionRangeOptions;

            /**
             * Encodes the specified ExtensionRangeOptions message. Does not implicitly {@link google.protobuf.ExtensionRangeOptions.verify|verify} messages.
             * @param message ExtensionRangeOptions message or plain object to encode
             * @param [writer] Writer to encode to
             * @returns Writer
             */
            public static encode(message: google.protobuf.IExtensionRangeOptions, writer?: $protobuf.Writer): $protobuf.Writer;

            /**
             * Encodes the specified ExtensionRangeOptions message, length delimited. Does not implicitly {@link google.protobuf.ExtensionRangeOptions.verify|verify} messages.
             * @param message ExtensionRangeOptions message or plain object to encode
             * @param [writer] Writer to encode to
             * @returns Writer
             */
            public static encodeDelimited(message: google.protobuf.IExtensionRangeOptions, writer?: $protobuf.Writer): $protobuf.Writer;

            /**
             * Decodes an ExtensionRangeOptions message from the specified reader or buffer.
             * @param reader Reader or buffer to decode from
             * @param [length] Message length if known beforehand
             * @returns ExtensionRangeOptions
             * @throws {Error} If the payload is not a reader or valid buffer
             * @throws {$protobuf.util.ProtocolError} If required fields are missing
             */
            public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.ExtensionRangeOptions;

            /**
             * Decodes an ExtensionRangeOptions message from the specified reader or buffer, length delimited.
             * @param reader Reader or buffer to decode from
             * @returns ExtensionRangeOptions
             * @throws {Error} If the payload is not a reader or valid buffer
             * @throws {$protobuf.util.ProtocolError} If required fields are missing
             */
            public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.ExtensionRangeOptions;

            /**
             * Verifies an ExtensionRangeOptions message.
             * @param message Plain object to verify
             * @returns `null` if valid, otherwise the reason why it is not
             */
            public static verify(message: { [k: string]: any }): (string|null);

            /**
             * Creates an ExtensionRangeOptions message from a plain object. Also converts values to their respective internal types.
             * @param object Plain object
             * @returns ExtensionRangeOptions
             */
            public static fromObject(object: { [k: string]: any }): google.protobuf.ExtensionRangeOptions;

            /**
             * Creates a plain object from an ExtensionRangeOptions message. Also converts values to other types if specified.
             * @param message ExtensionRangeOptions
             * @param [options] Conversion options
             * @returns Plain object
             */
            public static toObject(message: google.protobuf.ExtensionRangeOptions, options?: $protobuf.IConversionOptions): { [k: string]: any };

            /**
             * Converts this ExtensionRangeOptions to JSON.
             * @returns JSON object
             */
            public toJSON(): { [k: string]: any };

            /**
             * Gets the default type url for ExtensionRangeOptions
             * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
             * @returns The default type url
             */
            public static getTypeUrl(typeUrlPrefix?: string): string;
        }

        namespace ExtensionRangeOptions {

            /** Properties of a Declaration. */
            interface IDeclaration {

                /** Declaration number */
                number?: (number|null);

                /** Declaration fullName */
                fullName?: (string|null);

                /** Declaration type */
                type?: (string|null);

                /** Declaration reserved */
                reserved?: (boolean|null);

                /** Declaration repeated */
                repeated?: (boolean|null);
            }

            /** Represents a Declaration. */
            class Declaration implements IDeclaration {

                /**
                 * Constructs a new Declaration.
                 * @param [properties] Properties to set
                 */
                constructor(properties?: google.protobuf.ExtensionRangeOptions.IDeclaration);

                /** Declaration number. */
                public number: number;

                /** Declaration fullName. */
                public fullName: string;

                /** Declaration type. */
                public type: string;

                /** Declaration reserved. */
                public reserved: boolean;

                /** Declaration repeated. */
                public repeated: boolean;

                /**
                 * Creates a new Declaration instance using the specified properties.
                 * @param [properties] Properties to set
                 * @returns Declaration instance
                 */
                public static create(properties?: google.protobuf.ExtensionRangeOptions.IDeclaration): google.protobuf.ExtensionRangeOptions.Declaration;

                /**
                 * Encodes the specified Declaration message. Does not implicitly {@link google.protobuf.ExtensionRangeOptions.Declaration.verify|verify} messages.
                 * @param message Declaration message or plain object to encode
                 * @param [writer] Writer to encode to
                 * @returns Writer
                 */
                public static encode(message: google.protobuf.ExtensionRangeOptions.IDeclaration, writer?: $protobuf.Writer): $protobuf.Writer;

                /**
                 * Encodes the specified Declaration message, length delimited. Does not implicitly {@link google.protobuf.ExtensionRangeOptions.Declaration.verify|verify} messages.
                 * @param message Declaration message or plain object to encode
                 * @param [writer] Writer to encode to
                 * @returns Writer
                 */
                public static encodeDelimited(message: google.protobuf.ExtensionRangeOptions.IDeclaration, writer?: $protobuf.Writer): $protobuf.Writer;

                /**
                 * Decodes a Declaration message from the specified reader or buffer.
                 * @param reader Reader or buffer to decode from
                 * @param [length] Message length if known beforehand
                 * @returns Declaration
                 * @throws {Error} If the payload is not a reader or valid buffer
                 * @throws {$protobuf.util.ProtocolError} If required fields are missing
                 */
                public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.ExtensionRangeOptions.Declaration;

                /**
                 * Decodes a Declaration message from the specified reader or buffer, length delimited.
                 * @param reader Reader or buffer to decode from
                 * @returns Declaration
                 * @throws {Error} If the payload is not a reader or valid buffer
                 * @throws {$protobuf.util.ProtocolError} If required fields are missing
                 */
                public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.ExtensionRangeOptions.Declaration;

                /**
                 * Verifies a Declaration message.
                 * @param message Plain object to verify
                 * @returns `null` if valid, otherwise the reason why it is not
                 */
                public static verify(message: { [k: string]: any }): (string|null);

                /**
                 * Creates a Declaration message from a plain object. Also converts values to their respective internal types.
                 * @param object Plain object
                 * @returns Declaration
                 */
                public static fromObject(object: { [k: string]: any }): google.protobuf.ExtensionRangeOptions.Declaration;

                /**
                 * Creates a plain object from a Declaration message. Also converts values to other types if specified.
                 * @param message Declaration
                 * @param [options] Conversion options
                 * @returns Plain object
                 */
                public static toObject(message: google.protobuf.ExtensionRangeOptions.Declaration, options?: $protobuf.IConversionOptions): { [k: string]: any };

                /**
                 * Converts this Declaration to JSON.
                 * @returns JSON object
                 */
                public toJSON(): { [k: string]: any };

                /**
                 * Gets the default type url for Declaration
                 * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                 * @returns The default type url
                 */
                public static getTypeUrl(typeUrlPrefix?: string): string;
            }

            /** VerificationState enum. */
            enum VerificationState {
                DECLARATION = 0,
                UNVERIFIED = 1
            }
        }

        /** Properties of a FieldDescriptorProto. */
        interface IFieldDescriptorProto {

            /** FieldDescriptorProto name */
            name?: (string|null);

            /** FieldDescriptorProto number */
            number?: (number|null);

            /** FieldDescriptorProto label */
            label?: (google.protobuf.FieldDescriptorProto.Label|keyof typeof google.protobuf.FieldDescriptorProto.Label|null);

            /** FieldDescriptorProto type */
            type?: (google.protobuf.FieldDescriptorProto.Type|keyof typeof google.protobuf.FieldDescriptorProto.Type|null);

            /** FieldDescriptorProto typeName */
            typeName?: (string|null);

            /** FieldDescriptorProto extendee */
            extendee?: (string|null);

            /** FieldDescriptorProto defaultValue */
            defaultValue?: (string|null);

            /** FieldDescriptorProto oneofIndex */
            oneofIndex?: (number|null);

            /** FieldDescriptorProto jsonName */
            jsonName?: (string|null);

            /** FieldDescriptorProto options */
            options?: (google.protobuf.IFieldOptions|null);

            /** FieldDescriptorProto proto3Optional */
            proto3Optional?: (boolean|null);
        }

        /** Represents a FieldDescriptorProto. */
        class FieldDescriptorProto implements IFieldDescriptorProto {

            /**
             * Constructs a new FieldDescriptorProto.
             * @param [properties] Properties to set
             */
            constructor(properties?: google.protobuf.IFieldDescriptorProto);

            /** FieldDescriptorProto name. */
            public name: string;

            /** FieldDescriptorProto number. */
            public number: number;

            /** FieldDescriptorProto label. */
            public label: (google.protobuf.FieldDescriptorProto.Label|keyof typeof google.protobuf.FieldDescriptorProto.Label);

            /** FieldDescriptorProto type. */
            public type: (google.protobuf.FieldDescriptorProto.Type|keyof typeof google.protobuf.FieldDescriptorProto.Type);

            /** FieldDescriptorProto typeName. */
            public typeName: string;

            /** FieldDescriptorProto extendee. */
            public extendee: string;

            /** FieldDescriptorProto defaultValue. */
            public defaultValue: string;

            /** FieldDescriptorProto oneofIndex. */
            public oneofIndex: number;

            /** FieldDescriptorProto jsonName. */
            public jsonName: string;

            /** FieldDescriptorProto options. */
            public options?: (google.protobuf.IFieldOptions|null);

            /** FieldDescriptorProto proto3Optional. */
            public proto3Optional: boolean;

            /**
             * Creates a new FieldDescriptorProto instance using the specified properties.
             * @param [properties] Properties to set
             * @returns FieldDescriptorProto instance
             */
            public static create(properties?: google.protobuf.IFieldDescriptorProto): google.protobuf.FieldDescriptorProto;

            /**
             * Encodes the specified FieldDescriptorProto message. Does not implicitly {@link google.protobuf.FieldDescriptorProto.verify|verify} messages.
             * @param message FieldDescriptorProto message or plain object to encode
             * @param [writer] Writer to encode to
             * @returns Writer
             */
            public static encode(message: google.protobuf.IFieldDescriptorProto, writer?: $protobuf.Writer): $protobuf.Writer;

            /**
             * Encodes the specified FieldDescriptorProto message, length delimited. Does not implicitly {@link google.protobuf.FieldDescriptorProto.verify|verify} messages.
             * @param message FieldDescriptorProto message or plain object to encode
             * @param [writer] Writer to encode to
             * @returns Writer
             */
            public static encodeDelimited(message: google.protobuf.IFieldDescriptorProto, writer?: $protobuf.Writer): $protobuf.Writer;

            /**
             * Decodes a FieldDescriptorProto message from the specified reader or buffer.
             * @param reader Reader or buffer to decode from
             * @param [length] Message length if known beforehand
             * @returns FieldDescriptorProto
             * @throws {Error} If the payload is not a reader or valid buffer
             * @throws {$protobuf.util.ProtocolError} If required fields are missing
             */
            public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.FieldDescriptorProto;

            /**
             * Decodes a FieldDescriptorProto message from the specified reader or buffer, length delimited.
             * @param reader Reader or buffer to decode from
             * @returns FieldDescriptorProto
             * @throws {Error} If the payload is not a reader or valid buffer
             * @throws {$protobuf.util.ProtocolError} If required fields are missing
             */
            public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.FieldDescriptorProto;

            /**
             * Verifies a FieldDescriptorProto message.
             * @param message Plain object to verify
             * @returns `null` if valid, otherwise the reason why it is not
             */
            public static verify(message: { [k: string]: any }): (string|null);

            /**
             * Creates a FieldDescriptorProto message from a plain object. Also converts values to their respective internal types.
             * @param object Plain object
             * @returns FieldDescriptorProto
             */
            public static fromObject(object: { [k: string]: any }): google.protobuf.FieldDescriptorProto;

            /**
             * Creates a plain object from a FieldDescriptorProto message. Also converts values to other types if specified.
             * @param message FieldDescriptorProto
             * @param [options] Conversion options
             * @returns Plain object
             */
            public static toObject(message: google.protobuf.FieldDescriptorProto, options?: $protobuf.IConversionOptions): { [k: string]: any };

            /**
             * Converts this FieldDescriptorProto to JSON.
             * @returns JSON object
             */
            public toJSON(): { [k: string]: any };

            /**
             * Gets the default type url for FieldDescriptorProto
             * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
             * @returns The default type url
             */
            public static getTypeUrl(typeUrlPrefix?: string): string;
        }

        namespace FieldDescriptorProto {

            /** Type enum. */
            enum Type {
                TYPE_DOUBLE = 1,
                TYPE_FLOAT = 2,
                TYPE_INT64 = 3,
                TYPE_UINT64 = 4,
                TYPE_INT32 = 5,
                TYPE_FIXED64 = 6,
                TYPE_FIXED32 = 7,
                TYPE_BOOL = 8,
                TYPE_STRING = 9,
                TYPE_GROUP = 10,
                TYPE_MESSAGE = 11,
                TYPE_BYTES = 12,
                TYPE_UINT32 = 13,
                TYPE_ENUM = 14,
                TYPE_SFIXED32 = 15,
                TYPE_SFIXED64 = 16,
                TYPE_SINT32 = 17,
                TYPE_SINT64 = 18
            }

            /** Label enum. */
            enum Label {
                LABEL_OPTIONAL = 1,
                LABEL_REPEATED = 3,
                LABEL_REQUIRED = 2
            }
        }

        /** Properties of an OneofDescriptorProto. */
        interface IOneofDescriptorProto {

            /** OneofDescriptorProto name */
            name?: (string|null);

            /** OneofDescriptorProto options */
            options?: (google.protobuf.IOneofOptions|null);
        }

        /** Represents an OneofDescriptorProto. */
        class OneofDescriptorProto implements IOneofDescriptorProto {

            /**
             * Constructs a new OneofDescriptorProto.
             * @param [properties] Properties to set
             */
            constructor(properties?: google.protobuf.IOneofDescriptorProto);

            /** OneofDescriptorProto name. */
            public name: string;

            /** OneofDescriptorProto options. */
            public options?: (google.protobuf.IOneofOptions|null);

            /**
             * Creates a new OneofDescriptorProto instance using the specified properties.
             * @param [properties] Properties to set
             * @returns OneofDescriptorProto instance
             */
            public static create(properties?: google.protobuf.IOneofDescriptorProto): google.protobuf.OneofDescriptorProto;

            /**
             * Encodes the specified OneofDescriptorProto message. Does not implicitly {@link google.protobuf.OneofDescriptorProto.verify|verify} messages.
             * @param message OneofDescriptorProto message or plain object to encode
             * @param [writer] Writer to encode to
             * @returns Writer
             */
            public static encode(message: google.protobuf.IOneofDescriptorProto, writer?: $protobuf.Writer): $protobuf.Writer;

            /**
             * Encodes the specified OneofDescriptorProto message, length delimited. Does not implicitly {@link google.protobuf.OneofDescriptorProto.verify|verify} messages.
             * @param message OneofDescriptorProto message or plain object to encode
             * @param [writer] Writer to encode to
             * @returns Writer
             */
            public static encodeDelimited(message: google.protobuf.IOneofDescriptorProto, writer?: $protobuf.Writer): $protobuf.Writer;

            /**
             * Decodes an OneofDescriptorProto message from the specified reader or buffer.
             * @param reader Reader or buffer to decode from
             * @param [length] Message length if known beforehand
             * @returns OneofDescriptorProto
             * @throws {Error} If the payload is not a reader or valid buffer
             * @throws {$protobuf.util.ProtocolError} If required fields are missing
             */
            public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.OneofDescriptorProto;

            /**
             * Decodes an OneofDescriptorProto message from the specified reader or buffer, length delimited.
             * @param reader Reader or buffer to decode from
             * @returns OneofDescriptorProto
             * @throws {Error} If the payload is not a reader or valid buffer
             * @throws {$protobuf.util.ProtocolError} If required fields are missing
             */
            public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.OneofDescriptorProto;

            /**
             * Verifies an OneofDescriptorProto message.
             * @param message Plain object to verify
             * @returns `null` if valid, otherwise the reason why it is not
             */
            public static verify(message: { [k: string]: any }): (string|null);

            /**
             * Creates an OneofDescriptorProto message from a plain object. Also converts values to their respective internal types.
             * @param object Plain object
             * @returns OneofDescriptorProto
             */
            public static fromObject(object: { [k: string]: any }): google.protobuf.OneofDescriptorProto;

            /**
             * Creates a plain object from an OneofDescriptorProto message. Also converts values to other types if specified.
             * @param message OneofDescriptorProto
             * @param [options] Conversion options
             * @returns Plain object
             */
            public static toObject(message: google.protobuf.OneofDescriptorProto, options?: $protobuf.IConversionOptions): { [k: string]: any };

            /**
             * Converts this OneofDescriptorProto to JSON.
             * @returns JSON object
             */
            public toJSON(): { [k: string]: any };

            /**
             * Gets the default type url for OneofDescriptorProto
             * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
             * @returns The default type url
             */
            public static getTypeUrl(typeUrlPrefix?: string): string;
        }

        /** Properties of an EnumDescriptorProto. */
        interface IEnumDescriptorProto {

            /** EnumDescriptorProto name */
            name?: (string|null);

            /** EnumDescriptorProto value */
            value?: (google.protobuf.IEnumValueDescriptorProto[]|null);

            /** EnumDescriptorProto options */
            options?: (google.protobuf.IEnumOptions|null);

            /** EnumDescriptorProto reservedRange */
            reservedRange?: (google.protobuf.EnumDescriptorProto.IEnumReservedRange[]|null);

            /** EnumDescriptorProto reservedName */
            reservedName?: (string[]|null);
        }

        /** Represents an EnumDescriptorProto. */
        class EnumDescriptorProto implements IEnumDescriptorProto {

            /**
             * Constructs a new EnumDescriptorProto.
             * @param [properties] Properties to set
             */
            constructor(properties?: google.protobuf.IEnumDescriptorProto);

            /** EnumDescriptorProto name. */
            public name: string;

            /** EnumDescriptorProto value. */
            public value: google.protobuf.IEnumValueDescriptorProto[];

            /** EnumDescriptorProto options. */
            public options?: (google.protobuf.IEnumOptions|null);

            /** EnumDescriptorProto reservedRange. */
            public reservedRange: google.protobuf.EnumDescriptorProto.IEnumReservedRange[];

            /** EnumDescriptorProto reservedName. */
            public reservedName: string[];

            /**
             * Creates a new EnumDescriptorProto instance using the specified properties.
             * @param [properties] Properties to set
             * @returns EnumDescriptorProto instance
             */
            public static create(properties?: google.protobuf.IEnumDescriptorProto): google.protobuf.EnumDescriptorProto;

            /**
             * Encodes the specified EnumDescriptorProto message. Does not implicitly {@link google.protobuf.EnumDescriptorProto.verify|verify} messages.
             * @param message EnumDescriptorProto message or plain object to encode
             * @param [writer] Writer to encode to
             * @returns Writer
             */
            public static encode(message: google.protobuf.IEnumDescriptorProto, writer?: $protobuf.Writer): $protobuf.Writer;

            /**
             * Encodes the specified EnumDescriptorProto message, length delimited. Does not implicitly {@link google.protobuf.EnumDescriptorProto.verify|verify} messages.
             * @param message EnumDescriptorProto message or plain object to encode
             * @param [writer] Writer to encode to
             * @returns Writer
             */
            public static encodeDelimited(message: google.protobuf.IEnumDescriptorProto, writer?: $protobuf.Writer): $protobuf.Writer;

            /**
             * Decodes an EnumDescriptorProto message from the specified reader or buffer.
             * @param reader Reader or buffer to decode from
             * @param [length] Message length if known beforehand
             * @returns EnumDescriptorProto
             * @throws {Error} If the payload is not a reader or valid buffer
             * @throws {$protobuf.util.ProtocolError} If required fields are missing
             */
            public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.EnumDescriptorProto;

            /**
             * Decodes an EnumDescriptorProto message from the specified reader or buffer, length delimited.
             * @param reader Reader or buffer to decode from
             * @returns EnumDescriptorProto
             * @throws {Error} If the payload is not a reader or valid buffer
             * @throws {$protobuf.util.ProtocolError} If required fields are missing
             */
            public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.EnumDescriptorProto;

            /**
             * Verifies an EnumDescriptorProto message.
             * @param message Plain object to verify
             * @returns `null` if valid, otherwise the reason why it is not
             */
            public static verify(message: { [k: string]: any }): (string|null);

            /**
             * Creates an EnumDescriptorProto message from a plain object. Also converts values to their respective internal types.
             * @param object Plain object
             * @returns EnumDescriptorProto
             */
            public static fromObject(object: { [k: string]: any }): google.protobuf.EnumDescriptorProto;

            /**
             * Creates a plain object from an EnumDescriptorProto message. Also converts values to other types if specified.
             * @param message EnumDescriptorProto
             * @param [options] Conversion options
             * @returns Plain object
             */
            public static toObject(message: google.protobuf.EnumDescriptorProto, options?: $protobuf.IConversionOptions): { [k: string]: any };

            /**
             * Converts this EnumDescriptorProto to JSON.
             * @returns JSON object
             */
            public toJSON(): { [k: string]: any };

            /**
             * Gets the default type url for EnumDescriptorProto
             * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
             * @returns The default type url
             */
            public static getTypeUrl(typeUrlPrefix?: string): string;
        }

        namespace EnumDescriptorProto {

            /** Properties of an EnumReservedRange. */
            interface IEnumReservedRange {

                /** EnumReservedRange start */
                start?: (number|null);

                /** EnumReservedRange end */
                end?: (number|null);
            }

            /** Represents an EnumReservedRange. */
            class EnumReservedRange implements IEnumReservedRange {

                /**
                 * Constructs a new EnumReservedRange.
                 * @param [properties] Properties to set
                 */
                constructor(properties?: google.protobuf.EnumDescriptorProto.IEnumReservedRange);

                /** EnumReservedRange start. */
                public start: number;

                /** EnumReservedRange end. */
                public end: number;

                /**
                 * Creates a new EnumReservedRange instance using the specified properties.
                 * @param [properties] Properties to set
                 * @returns EnumReservedRange instance
                 */
                public static create(properties?: google.protobuf.EnumDescriptorProto.IEnumReservedRange): google.protobuf.EnumDescriptorProto.EnumReservedRange;

                /**
                 * Encodes the specified EnumReservedRange message. Does not implicitly {@link google.protobuf.EnumDescriptorProto.EnumReservedRange.verify|verify} messages.
                 * @param message EnumReservedRange message or plain object to encode
                 * @param [writer] Writer to encode to
                 * @returns Writer
                 */
                public static encode(message: google.protobuf.EnumDescriptorProto.IEnumReservedRange, writer?: $protobuf.Writer): $protobuf.Writer;

                /**
                 * Encodes the specified EnumReservedRange message, length delimited. Does not implicitly {@link google.protobuf.EnumDescriptorProto.EnumReservedRange.verify|verify} messages.
                 * @param message EnumReservedRange message or plain object to encode
                 * @param [writer] Writer to encode to
                 * @returns Writer
                 */
                public static encodeDelimited(message: google.protobuf.EnumDescriptorProto.IEnumReservedRange, writer?: $protobuf.Writer): $protobuf.Writer;

                /**
                 * Decodes an EnumReservedRange message from the specified reader or buffer.
                 * @param reader Reader or buffer to decode from
                 * @param [length] Message length if known beforehand
                 * @returns EnumReservedRange
                 * @throws {Error} If the payload is not a reader or valid buffer
                 * @throws {$protobuf.util.ProtocolError} If required fields are missing
                 */
                public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.EnumDescriptorProto.EnumReservedRange;

                /**
                 * Decodes an EnumReservedRange message from the specified reader or buffer, length delimited.
                 * @param reader Reader or buffer to decode from
                 * @returns EnumReservedRange
                 * @throws {Error} If the payload is not a reader or valid buffer
                 * @throws {$protobuf.util.ProtocolError} If required fields are missing
                 */
                public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.EnumDescriptorProto.EnumReservedRange;

                /**
                 * Verifies an EnumReservedRange message.
                 * @param message Plain object to verify
                 * @returns `null` if valid, otherwise the reason why it is not
                 */
                public static verify(message: { [k: string]: any }): (string|null);

                /**
                 * Creates an EnumReservedRange message from a plain object. Also converts values to their respective internal types.
                 * @param object Plain object
                 * @returns EnumReservedRange
                 */
                public static fromObject(object: { [k: string]: any }): google.protobuf.EnumDescriptorProto.EnumReservedRange;

                /**
                 * Creates a plain object from an EnumReservedRange message. Also converts values to other types if specified.
                 * @param message EnumReservedRange
                 * @param [options] Conversion options
                 * @returns Plain object
                 */
                public static toObject(message: google.protobuf.EnumDescriptorProto.EnumReservedRange, options?: $protobuf.IConversionOptions): { [k: string]: any };

                /**
                 * Converts this EnumReservedRange to JSON.
                 * @returns JSON object
                 */
                public toJSON(): { [k: string]: any };

                /**
                 * Gets the default type url for EnumReservedRange
                 * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                 * @returns The default type url
                 */
                public static getTypeUrl(typeUrlPrefix?: string): string;
            }
        }

        /** Properties of an EnumValueDescriptorProto. */
        interface IEnumValueDescriptorProto {

            /** EnumValueDescriptorProto name */
            name?: (string|null);

            /** EnumValueDescriptorProto number */
            number?: (number|null);

            /** EnumValueDescriptorProto options */
            options?: (google.protobuf.IEnumValueOptions|null);
        }

        /** Represents an EnumValueDescriptorProto. */
        class EnumValueDescriptorProto implements IEnumValueDescriptorProto {

            /**
             * Constructs a new EnumValueDescriptorProto.
             * @param [properties] Properties to set
             */
            constructor(properties?: google.protobuf.IEnumValueDescriptorProto);

            /** EnumValueDescriptorProto name. */
            public name: string;

            /** EnumValueDescriptorProto number. */
            public number: number;

            /** EnumValueDescriptorProto options. */
            public options?: (google.protobuf.IEnumValueOptions|null);

            /**
             * Creates a new EnumValueDescriptorProto instance using the specified properties.
             * @param [properties] Properties to set
             * @returns EnumValueDescriptorProto instance
             */
            public static create(properties?: google.protobuf.IEnumValueDescriptorProto): google.protobuf.EnumValueDescriptorProto;

            /**
             * Encodes the specified EnumValueDescriptorProto message. Does not implicitly {@link google.protobuf.EnumValueDescriptorProto.verify|verify} messages.
             * @param message EnumValueDescriptorProto message or plain object to encode
             * @param [writer] Writer to encode to
             * @returns Writer
             */
            public static encode(message: google.protobuf.IEnumValueDescriptorProto, writer?: $protobuf.Writer): $protobuf.Writer;

            /**
             * Encodes the specified EnumValueDescriptorProto message, length delimited. Does not implicitly {@link google.protobuf.EnumValueDescriptorProto.verify|verify} messages.
             * @param message EnumValueDescriptorProto message or plain object to encode
             * @param [writer] Writer to encode to
             * @returns Writer
             */
            public static encodeDelimited(message: google.protobuf.IEnumValueDescriptorProto, writer?: $protobuf.Writer): $protobuf.Writer;

            /**
             * Decodes an EnumValueDescriptorProto message from the specified reader or buffer.
             * @param reader Reader or buffer to decode from
             * @param [length] Message length if known beforehand
             * @returns EnumValueDescriptorProto
             * @throws {Error} If the payload is not a reader or valid buffer
             * @throws {$protobuf.util.ProtocolError} If required fields are missing
             */
            public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.EnumValueDescriptorProto;

            /**
             * Decodes an EnumValueDescriptorProto message from the specified reader or buffer, length delimited.
             * @param reader Reader or buffer to decode from
             * @returns EnumValueDescriptorProto
             * @throws {Error} If the payload is not a reader or valid buffer
             * @throws {$protobuf.util.ProtocolError} If required fields are missing
             */
            public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.EnumValueDescriptorProto;

            /**
             * Verifies an EnumValueDescriptorProto message.
             * @param message Plain object to verify
             * @returns `null` if valid, otherwise the reason why it is not
             */
            public static verify(message: { [k: string]: any }): (string|null);

            /**
             * Creates an EnumValueDescriptorProto message from a plain object. Also converts values to their respective internal types.
             * @param object Plain object
             * @returns EnumValueDescriptorProto
             */
            public static fromObject(object: { [k: string]: any }): google.protobuf.EnumValueDescriptorProto;

            /**
             * Creates a plain object from an EnumValueDescriptorProto message. Also converts values to other types if specified.
             * @param message EnumValueDescriptorProto
             * @param [options] Conversion options
             * @returns Plain object
             */
            public static toObject(message: google.protobuf.EnumValueDescriptorProto, options?: $protobuf.IConversionOptions): { [k: string]: any };

            /**
             * Converts this EnumValueDescriptorProto to JSON.
             * @returns JSON object
             */
            public toJSON(): { [k: string]: any };

            /**
             * Gets the default type url for EnumValueDescriptorProto
             * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
             * @returns The default type url
             */
            public static getTypeUrl(typeUrlPrefix?: string): string;
        }

        /** Properties of a ServiceDescriptorProto. */
        interface IServiceDescriptorProto {

            /** ServiceDescriptorProto name */
            name?: (string|null);

            /** ServiceDescriptorProto method */
            method?: (google.protobuf.IMethodDescriptorProto[]|null);

            /** ServiceDescriptorProto options */
            options?: (google.protobuf.IServiceOptions|null);
        }

        /** Represents a ServiceDescriptorProto. */
        class ServiceDescriptorProto implements IServiceDescriptorProto {

            /**
             * Constructs a new ServiceDescriptorProto.
             * @param [properties] Properties to set
             */
            constructor(properties?: google.protobuf.IServiceDescriptorProto);

            /** ServiceDescriptorProto name. */
            public name: string;

            /** ServiceDescriptorProto method. */
            public method: google.protobuf.IMethodDescriptorProto[];

            /** ServiceDescriptorProto options. */
            public options?: (google.protobuf.IServiceOptions|null);

            /**
             * Creates a new ServiceDescriptorProto instance using the specified properties.
             * @param [properties] Properties to set
             * @returns ServiceDescriptorProto instance
             */
            public static create(properties?: google.protobuf.IServiceDescriptorProto): google.protobuf.ServiceDescriptorProto;

            /**
             * Encodes the specified ServiceDescriptorProto message. Does not implicitly {@link google.protobuf.ServiceDescriptorProto.verify|verify} messages.
             * @param message ServiceDescriptorProto message or plain object to encode
             * @param [writer] Writer to encode to
             * @returns Writer
             */
            public static encode(message: google.protobuf.IServiceDescriptorProto, writer?: $protobuf.Writer): $protobuf.Writer;

            /**
             * Encodes the specified ServiceDescriptorProto message, length delimited. Does not implicitly {@link google.protobuf.ServiceDescriptorProto.verify|verify} messages.
             * @param message ServiceDescriptorProto message or plain object to encode
             * @param [writer] Writer to encode to
             * @returns Writer
             */
            public static encodeDelimited(message: google.protobuf.IServiceDescriptorProto, writer?: $protobuf.Writer): $protobuf.Writer;

            /**
             * Decodes a ServiceDescriptorProto message from the specified reader or buffer.
             * @param reader Reader or buffer to decode from
             * @param [length] Message length if known beforehand
             * @returns ServiceDescriptorProto
             * @throws {Error} If the payload is not a reader or valid buffer
             * @throws {$protobuf.util.ProtocolError} If required fields are missing
             */
            public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.ServiceDescriptorProto;

            /**
             * Decodes a ServiceDescriptorProto message from the specified reader or buffer, length delimited.
             * @param reader Reader or buffer to decode from
             * @returns ServiceDescriptorProto
             * @throws {Error} If the payload is not a reader or valid buffer
             * @throws {$protobuf.util.ProtocolError} If required fields are missing
             */
            public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.ServiceDescriptorProto;

            /**
             * Verifies a ServiceDescriptorProto message.
             * @param message Plain object to verify
             * @returns `null` if valid, otherwise the reason why it is not
             */
            public static verify(message: { [k: string]: any }): (string|null);

            /**
             * Creates a ServiceDescriptorProto message from a plain object. Also converts values to their respective internal types.
             * @param object Plain object
             * @returns ServiceDescriptorProto
             */
            public static fromObject(object: { [k: string]: any }): google.protobuf.ServiceDescriptorProto;

            /**
             * Creates a plain object from a ServiceDescriptorProto message. Also converts values to other types if specified.
             * @param message ServiceDescriptorProto
             * @param [options] Conversion options
             * @returns Plain object
             */
            public static toObject(message: google.protobuf.ServiceDescriptorProto, options?: $protobuf.IConversionOptions): { [k: string]: any };

            /**
             * Converts this ServiceDescriptorProto to JSON.
             * @returns JSON object
             */
            public toJSON(): { [k: string]: any };

            /**
             * Gets the default type url for ServiceDescriptorProto
             * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
             * @returns The default type url
             */
            public static getTypeUrl(typeUrlPrefix?: string): string;
        }

        /** Properties of a MethodDescriptorProto. */
        interface IMethodDescriptorProto {

            /** MethodDescriptorProto name */
            name?: (string|null);

            /** MethodDescriptorProto inputType */
            inputType?: (string|null);

            /** MethodDescriptorProto outputType */
            outputType?: (string|null);

            /** MethodDescriptorProto options */
            options?: (google.protobuf.IMethodOptions|null);

            /** MethodDescriptorProto clientStreaming */
            clientStreaming?: (boolean|null);

            /** MethodDescriptorProto serverStreaming */
            serverStreaming?: (boolean|null);
        }

        /** Represents a MethodDescriptorProto. */
        class MethodDescriptorProto implements IMethodDescriptorProto {

            /**
             * Constructs a new MethodDescriptorProto.
             * @param [properties] Properties to set
             */
            constructor(properties?: google.protobuf.IMethodDescriptorProto);

            /** MethodDescriptorProto name. */
            public name: string;

            /** MethodDescriptorProto inputType. */
            public inputType: string;

            /** MethodDescriptorProto outputType. */
            public outputType: string;

            /** MethodDescriptorProto options. */
            public options?: (google.protobuf.IMethodOptions|null);

            /** MethodDescriptorProto clientStreaming. */
            public clientStreaming: boolean;

            /** MethodDescriptorProto serverStreaming. */
            public serverStreaming: boolean;

            /**
             * Creates a new MethodDescriptorProto instance using the specified properties.
             * @param [properties] Properties to set
             * @returns MethodDescriptorProto instance
             */
            public static create(properties?: google.protobuf.IMethodDescriptorProto): google.protobuf.MethodDescriptorProto;

            /**
             * Encodes the specified MethodDescriptorProto message. Does not implicitly {@link google.protobuf.MethodDescriptorProto.verify|verify} messages.
             * @param message MethodDescriptorProto message or plain object to encode
             * @param [writer] Writer to encode to
             * @returns Writer
             */
            public static encode(message: google.protobuf.IMethodDescriptorProto, writer?: $protobuf.Writer): $protobuf.Writer;

            /**
             * Encodes the specified MethodDescriptorProto message, length delimited. Does not implicitly {@link google.protobuf.MethodDescriptorProto.verify|verify} messages.
             * @param message MethodDescriptorProto message or plain object to encode
             * @param [writer] Writer to encode to
             * @returns Writer
             */
            public static encodeDelimited(message: google.protobuf.IMethodDescriptorProto, writer?: $protobuf.Writer): $protobuf.Writer;

            /**
             * Decodes a MethodDescriptorProto message from the specified reader or buffer.
             * @param reader Reader or buffer to decode from
             * @param [length] Message length if known beforehand
             * @returns MethodDescriptorProto
             * @throws {Error} If the payload is not a reader or valid buffer
             * @throws {$protobuf.util.ProtocolError} If required fields are missing
             */
            public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.MethodDescriptorProto;

            /**
             * Decodes a MethodDescriptorProto message from the specified reader or buffer, length delimited.
             * @param reader Reader or buffer to decode from
             * @returns MethodDescriptorProto
             * @throws {Error} If the payload is not a reader or valid buffer
             * @throws {$protobuf.util.ProtocolError} If required fields are missing
             */
            public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.MethodDescriptorProto;

            /**
             * Verifies a MethodDescriptorProto message.
             * @param message Plain object to verify
             * @returns `null` if valid, otherwise the reason why it is not
             */
            public static verify(message: { [k: string]: any }): (string|null);

            /**
             * Creates a MethodDescriptorProto message from a plain object. Also converts values to their respective internal types.
             * @param object Plain object
             * @returns MethodDescriptorProto
             */
            public static fromObject(object: { [k: string]: any }): google.protobuf.MethodDescriptorProto;

            /**
             * Creates a plain object from a MethodDescriptorProto message. Also converts values to other types if specified.
             * @param message MethodDescriptorProto
             * @param [options] Conversion options
             * @returns Plain object
             */
            public static toObject(message: google.protobuf.MethodDescriptorProto, options?: $protobuf.IConversionOptions): { [k: string]: any };

            /**
             * Converts this MethodDescriptorProto to JSON.
             * @returns JSON object
             */
            public toJSON(): { [k: string]: any };

            /**
             * Gets the default type url for MethodDescriptorProto
             * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
             * @returns The default type url
             */
            public static getTypeUrl(typeUrlPrefix?: string): string;
        }

        /** Properties of a FileOptions. */
        interface IFileOptions {

            /** FileOptions javaPackage */
            javaPackage?: (string|null);

            /** FileOptions javaOuterClassname */
            javaOuterClassname?: (string|null);

            /** FileOptions javaMultipleFiles */
            javaMultipleFiles?: (boolean|null);

            /** FileOptions javaGenerateEqualsAndHash */
            javaGenerateEqualsAndHash?: (boolean|null);

            /** FileOptions javaStringCheckUtf8 */
            javaStringCheckUtf8?: (boolean|null);

            /** FileOptions optimizeFor */
            optimizeFor?: (google.protobuf.FileOptions.OptimizeMode|keyof typeof google.protobuf.FileOptions.OptimizeMode|null);

            /** FileOptions goPackage */
            goPackage?: (string|null);

            /** FileOptions ccGenericServices */
            ccGenericServices?: (boolean|null);

            /** FileOptions javaGenericServices */
            javaGenericServices?: (boolean|null);

            /** FileOptions pyGenericServices */
            pyGenericServices?: (boolean|null);

            /** FileOptions deprecated */
            deprecated?: (boolean|null);

            /** FileOptions ccEnableArenas */
            ccEnableArenas?: (boolean|null);

            /** FileOptions objcClassPrefix */
            objcClassPrefix?: (string|null);

            /** FileOptions csharpNamespace */
            csharpNamespace?: (string|null);

            /** FileOptions swiftPrefix */
            swiftPrefix?: (string|null);

            /** FileOptions phpClassPrefix */
            phpClassPrefix?: (string|null);

            /** FileOptions phpNamespace */
            phpNamespace?: (string|null);

            /** FileOptions phpMetadataNamespace */
            phpMetadataNamespace?: (string|null);

            /** FileOptions rubyPackage */
            rubyPackage?: (string|null);

            /** FileOptions features */
            features?: (google.protobuf.IFeatureSet|null);

            /** FileOptions uninterpretedOption */
            uninterpretedOption?: (google.protobuf.IUninterpretedOption[]|null);

            /** FileOptions .google.api.resourceDefinition */
            ".google.api.resourceDefinition"?: (google.api.IResourceDescriptor[]|null);
        }

        /** Represents a FileOptions. */
        class FileOptions implements IFileOptions {

            /**
             * Constructs a new FileOptions.
             * @param [properties] Properties to set
             */
            constructor(properties?: google.protobuf.IFileOptions);

            /** FileOptions javaPackage. */
            public javaPackage: string;

            /** FileOptions javaOuterClassname. */
            public javaOuterClassname: string;

            /** FileOptions javaMultipleFiles. */
            public javaMultipleFiles: boolean;

            /** FileOptions javaGenerateEqualsAndHash. */
            public javaGenerateEqualsAndHash: boolean;

            /** FileOptions javaStringCheckUtf8. */
            public javaStringCheckUtf8: boolean;

            /** FileOptions optimizeFor. */
            public optimizeFor: (google.protobuf.FileOptions.OptimizeMode|keyof typeof google.protobuf.FileOptions.OptimizeMode);

            /** FileOptions goPackage. */
            public goPackage: string;

            /** FileOptions ccGenericServices. */
            public ccGenericServices: boolean;

            /** FileOptions javaGenericServices. */
            public javaGenericServices: boolean;

            /** FileOptions pyGenericServices. */
            public pyGenericServices: boolean;

            /** FileOptions deprecated. */
            public deprecated: boolean;

            /** FileOptions ccEnableArenas. */
            public ccEnableArenas: boolean;

            /** FileOptions objcClassPrefix. */
            public objcClassPrefix: string;

            /** FileOptions csharpNamespace. */
            public csharpNamespace: string;

            /** FileOptions swiftPrefix. */
            public swiftPrefix: string;

            /** FileOptions phpClassPrefix. */
            public phpClassPrefix: string;

            /** FileOptions phpNamespace. */
            public phpNamespace: string;

            /** FileOptions phpMetadataNamespace. */
            public phpMetadataNamespace: string;

            /** FileOptions rubyPackage. */
            public rubyPackage: string;

            /** FileOptions features. */
            public features?: (google.protobuf.IFeatureSet|null);

            /** FileOptions uninterpretedOption. */
            public uninterpretedOption: google.protobuf.IUninterpretedOption[];

            /**
             * Creates a new FileOptions instance using the specified properties.
             * @param [properties] Properties to set
             * @returns FileOptions instance
             */
            public static create(properties?: google.protobuf.IFileOptions): google.protobuf.FileOptions;

            /**
             * Encodes the specified FileOptions message. Does not implicitly {@link google.protobuf.FileOptions.verify|verify} messages.
             * @param message FileOptions message or plain object to encode
             * @param [writer] Writer to encode to
             * @returns Writer
             */
            public static encode(message: google.protobuf.IFileOptions, writer?: $protobuf.Writer): $protobuf.Writer;

            /**
             * Encodes the specified FileOptions message, length delimited. Does not implicitly {@link google.protobuf.FileOptions.verify|verify} messages.
             * @param message FileOptions message or plain object to encode
             * @param [writer] Writer to encode to
             * @returns Writer
             */
            public static encodeDelimited(message: google.protobuf.IFileOptions, writer?: $protobuf.Writer): $protobuf.Writer;

            /**
             * Decodes a FileOptions message from the specified reader or buffer.
             * @param reader Reader or buffer to decode from
             * @param [length] Message length if known beforehand
             * @returns FileOptions
             * @throws {Error} If the payload is not a reader or valid buffer
             * @throws {$protobuf.util.ProtocolError} If required fields are missing
             */
            public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.FileOptions;

            /**
             * Decodes a FileOptions message from the specified reader or buffer, length delimited.
             * @param reader Reader or buffer to decode from
             * @returns FileOptions
             * @throws {Error} If the payload is not a reader or valid buffer
             * @throws {$protobuf.util.ProtocolError} If required fields are missing
             */
            public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.FileOptions;

            /**
             * Verifies a FileOptions message.
             * @param message Plain object to verify
             * @returns `null` if valid, otherwise the reason why it is not
             */
            public static verify(message: { [k: string]: any }): (string|null);

            /**
             * Creates a FileOptions message from a plain object. Also converts values to their respective internal types.
             * @param object Plain object
             * @returns FileOptions
             */
            public static fromObject(object: { [k: string]: any }): google.protobuf.FileOptions;

            /**
             * Creates a plain object from a FileOptions message. Also converts values to other types if specified.
             * @param message FileOptions
             * @param [options] Conversion options
             * @returns Plain object
             */
            public static toObject(message: google.protobuf.FileOptions, options?: $protobuf.IConversionOptions): { [k: string]: any };

            /**
             * Converts this FileOptions to JSON.
             * @returns JSON object
             */
            public toJSON(): { [k: string]: any };

            /**
             * Gets the default type url for FileOptions
             * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
             * @returns The default type url
             */
            public static getTypeUrl(typeUrlPrefix?: string): string;
        }

        namespace FileOptions {

            /** OptimizeMode enum. */
            enum OptimizeMode {
                SPEED = 1,
                CODE_SIZE = 2,
                LITE_RUNTIME = 3
            }
        }

        /** Properties of a MessageOptions. */
        interface IMessageOptions {

            /** MessageOptions messageSetWireFormat */
            messageSetWireFormat?: (boolean|null);

            /** MessageOptions noStandardDescriptorAccessor */
            noStandardDescriptorAccessor?: (boolean|null);

            /** MessageOptions deprecated */
            deprecated?: (boolean|null);

            /** MessageOptions mapEntry */
            mapEntry?: (boolean|null);

            /** MessageOptions deprecatedLegacyJsonFieldConflicts */
            deprecatedLegacyJsonFieldConflicts?: (boolean|null);

            /** MessageOptions features */
            features?: (google.protobuf.IFeatureSet|null);

            /** MessageOptions uninterpretedOption */
            uninterpretedOption?: (google.protobuf.IUninterpretedOption[]|null);

            /** MessageOptions .google.api.resource */
            ".google.api.resource"?: (google.api.IResourceDescriptor|null);
        }

        /** Represents a MessageOptions. */
        class MessageOptions implements IMessageOptions {

            /**
             * Constructs a new MessageOptions.
             * @param [properties] Properties to set
             */
            constructor(properties?: google.protobuf.IMessageOptions);

            /** MessageOptions messageSetWireFormat. */
            public messageSetWireFormat: boolean;

            /** MessageOptions noStandardDescriptorAccessor. */
            public noStandardDescriptorAccessor: boolean;

            /** MessageOptions deprecated. */
            public deprecated: boolean;

            /** MessageOptions mapEntry. */
            public mapEntry: boolean;

            /** MessageOptions deprecatedLegacyJsonFieldConflicts. */
            public deprecatedLegacyJsonFieldConflicts: boolean;

            /** MessageOptions features. */
            public features?: (google.protobuf.IFeatureSet|null);

            /** MessageOptions uninterpretedOption. */
            public uninterpretedOption: google.protobuf.IUninterpretedOption[];

            /**
             * Creates a new MessageOptions instance using the specified properties.
             * @param [properties] Properties to set
             * @returns MessageOptions instance
             */
            public static create(properties?: google.protobuf.IMessageOptions): google.protobuf.MessageOptions;

            /**
             * Encodes the specified MessageOptions message. Does not implicitly {@link google.protobuf.MessageOptions.verify|verify} messages.
             * @param message MessageOptions message or plain object to encode
             * @param [writer] Writer to encode to
             * @returns Writer
             */
            public static encode(message: google.protobuf.IMessageOptions, writer?: $protobuf.Writer): $protobuf.Writer;

            /**
             * Encodes the specified MessageOptions message, length delimited. Does not implicitly {@link google.protobuf.MessageOptions.verify|verify} messages.
             * @param message MessageOptions message or plain object to encode
             * @param [writer] Writer to encode to
             * @returns Writer
             */
            public static encodeDelimited(message: google.protobuf.IMessageOptions, writer?: $protobuf.Writer): $protobuf.Writer;

            /**
             * Decodes a MessageOptions message from the specified reader or buffer.
             * @param reader Reader or buffer to decode from
             * @param [length] Message length if known beforehand
             * @returns MessageOptions
             * @throws {Error} If the payload is not a reader or valid buffer
             * @throws {$protobuf.util.ProtocolError} If required fields are missing
             */
            public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.MessageOptions;

            /**
             * Decodes a MessageOptions message from the specified reader or buffer, length delimited.
             * @param reader Reader or buffer to decode from
             * @returns MessageOptions
             * @throws {Error} If the payload is not a reader or valid buffer
             * @throws {$protobuf.util.ProtocolError} If required fields are missing
             */
            public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.MessageOptions;

            /**
             * Verifies a MessageOptions message.
             * @param message Plain object to verify
             * @returns `null` if valid, otherwise the reason why it is not
             */
            public static verify(message: { [k: string]: any }): (string|null);

            /**
             * Creates a MessageOptions message from a plain object. Also converts values to their respective internal types.
             * @param object Plain object
             * @returns MessageOptions
             */
            public static fromObject(object: { [k: string]: any }): google.protobuf.MessageOptions;

            /**
             * Creates a plain object from a MessageOptions message. Also converts values to other types if specified.
             * @param message MessageOptions
             * @param [options] Conversion options
             * @returns Plain object
             */
            public static toObject(message: google.protobuf.MessageOptions, options?: $protobuf.IConversionOptions): { [k: string]: any };

            /**
             * Converts this MessageOptions to JSON.
             * @returns JSON object
             */
            public toJSON(): { [k: string]: any };

            /**
             * Gets the default type url for MessageOptions
             * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
             * @returns The default type url
             */
            public static getTypeUrl(typeUrlPrefix?: string): string;
        }

        /** Properties of a FieldOptions. */
        interface IFieldOptions {

            /** FieldOptions ctype */
            ctype?: (google.protobuf.FieldOptions.CType|keyof typeof google.protobuf.FieldOptions.CType|null);

            /** FieldOptions packed */
            packed?: (boolean|null);

            /** FieldOptions jstype */
            jstype?: (google.protobuf.FieldOptions.JSType|keyof typeof google.protobuf.FieldOptions.JSType|null);

            /** FieldOptions lazy */
            lazy?: (boolean|null);

            /** FieldOptions unverifiedLazy */
            unverifiedLazy?: (boolean|null);

            /** FieldOptions deprecated */
            deprecated?: (boolean|null);

            /** FieldOptions weak */
            weak?: (boolean|null);

            /** FieldOptions debugRedact */
            debugRedact?: (boolean|null);

            /** FieldOptions retention */
            retention?: (google.protobuf.FieldOptions.OptionRetention|keyof typeof google.protobuf.FieldOptions.OptionRetention|null);

            /** FieldOptions targets */
            targets?: (google.protobuf.FieldOptions.OptionTargetType[]|null);

            /** FieldOptions editionDefaults */
            editionDefaults?: (google.protobuf.FieldOptions.IEditionDefault[]|null);

            /** FieldOptions features */
            features?: (google.protobuf.IFeatureSet|null);

            /** FieldOptions uninterpretedOption */
            uninterpretedOption?: (google.protobuf.IUninterpretedOption[]|null);

            /** FieldOptions .google.api.fieldBehavior */
            ".google.api.fieldBehavior"?: (google.api.FieldBehavior[]|null);

            /** FieldOptions .google.api.resourceReference */
            ".google.api.resourceReference"?: (google.api.IResourceReference|null);
        }

        /** Represents a FieldOptions. */
        class FieldOptions implements IFieldOptions {

            /**
             * Constructs a new FieldOptions.
             * @param [properties] Properties to set
             */
            constructor(properties?: google.protobuf.IFieldOptions);

            /** FieldOptions ctype. */
            public ctype: (google.protobuf.FieldOptions.CType|keyof typeof google.protobuf.FieldOptions.CType);

            /** FieldOptions packed. */
            public packed: boolean;

            /** FieldOptions jstype. */
            public jstype: (google.protobuf.FieldOptions.JSType|keyof typeof google.protobuf.FieldOptions.JSType);

            /** FieldOptions lazy. */
            public lazy: boolean;

            /** FieldOptions unverifiedLazy. */
            public unverifiedLazy: boolean;

            /** FieldOptions deprecated. */
            public deprecated: boolean;

            /** FieldOptions weak. */
            public weak: boolean;

            /** FieldOptions debugRedact. */
            public debugRedact: boolean;

            /** FieldOptions retention. */
            public retention: (google.protobuf.FieldOptions.OptionRetention|keyof typeof google.protobuf.FieldOptions.OptionRetention);

            /** FieldOptions targets. */
            public targets: google.protobuf.FieldOptions.OptionTargetType[];

            /** FieldOptions editionDefaults. */
            public editionDefaults: google.protobuf.FieldOptions.IEditionDefault[];

            /** FieldOptions features. */
            public features?: (google.protobuf.IFeatureSet|null);

            /** FieldOptions uninterpretedOption. */
            public uninterpretedOption: google.protobuf.IUninterpretedOption[];

            /**
             * Creates a new FieldOptions instance using the specified properties.
             * @param [properties] Properties to set
             * @returns FieldOptions instance
             */
            public static create(properties?: google.protobuf.IFieldOptions): google.protobuf.FieldOptions;

            /**
             * Encodes the specified FieldOptions message. Does not implicitly {@link google.protobuf.FieldOptions.verify|verify} messages.
             * @param message FieldOptions message or plain object to encode
             * @param [writer] Writer to encode to
             * @returns Writer
             */
            public static encode(message: google.protobuf.IFieldOptions, writer?: $protobuf.Writer): $protobuf.Writer;

            /**
             * Encodes the specified FieldOptions message, length delimited. Does not implicitly {@link google.protobuf.FieldOptions.verify|verify} messages.
             * @param message FieldOptions message or plain object to encode
             * @param [writer] Writer to encode to
             * @returns Writer
             */
            public static encodeDelimited(message: google.protobuf.IFieldOptions, writer?: $protobuf.Writer): $protobuf.Writer;

            /**
             * Decodes a FieldOptions message from the specified reader or buffer.
             * @param reader Reader or buffer to decode from
             * @param [length] Message length if known beforehand
             * @returns FieldOptions
             * @throws {Error} If the payload is not a reader or valid buffer
             * @throws {$protobuf.util.ProtocolError} If required fields are missing
             */
            public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.FieldOptions;

            /**
             * Decodes a FieldOptions message from the specified reader or buffer, length delimited.
             * @param reader Reader or buffer to decode from
             * @returns FieldOptions
             * @throws {Error} If the payload is not a reader or valid buffer
             * @throws {$protobuf.util.ProtocolError} If required fields are missing
             */
            public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.FieldOptions;

            /**
             * Verifies a FieldOptions message.
             * @param message Plain object to verify
             * @returns `null` if valid, otherwise the reason why it is not
             */
            public static verify(message: { [k: string]: any }): (string|null);

            /**
             * Creates a FieldOptions message from a plain object. Also converts values to their respective internal types.
             * @param object Plain object
             * @returns FieldOptions
             */
            public static fromObject(object: { [k: string]: any }): google.protobuf.FieldOptions;

            /**
             * Creates a plain object from a FieldOptions message. Also converts values to other types if specified.
             * @param message FieldOptions
             * @param [options] Conversion options
             * @returns Plain object
             */
            public static toObject(message: google.protobuf.FieldOptions, options?: $protobuf.IConversionOptions): { [k: string]: any };

            /**
             * Converts this FieldOptions to JSON.
             * @returns JSON object
             */
            public toJSON(): { [k: string]: any };

            /**
             * Gets the default type url for FieldOptions
             * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
             * @returns The default type url
             */
            public static getTypeUrl(typeUrlPrefix?: string): string;
        }

        namespace FieldOptions {

            /** CType enum. */
            enum CType {
                STRING = 0,
                CORD = 1,
                STRING_PIECE = 2
            }

            /** JSType enum. */
            enum JSType {
                JS_NORMAL = 0,
                JS_STRING = 1,
                JS_NUMBER = 2
            }

            /** OptionRetention enum. */
            enum OptionRetention {
                RETENTION_UNKNOWN = 0,
                RETENTION_RUNTIME = 1,
                RETENTION_SOURCE = 2
            }

            /** OptionTargetType enum. */
            enum OptionTargetType {
                TARGET_TYPE_UNKNOWN = 0,
                TARGET_TYPE_FILE = 1,
                TARGET_TYPE_EXTENSION_RANGE = 2,
                TARGET_TYPE_MESSAGE = 3,
                TARGET_TYPE_FIELD = 4,
                TARGET_TYPE_ONEOF = 5,
                TARGET_TYPE_ENUM = 6,
                TARGET_TYPE_ENUM_ENTRY = 7,
                TARGET_TYPE_SERVICE = 8,
                TARGET_TYPE_METHOD = 9
            }

            /** Properties of an EditionDefault. */
            interface IEditionDefault {

                /** EditionDefault edition */
                edition?: (google.protobuf.Edition|keyof typeof google.protobuf.Edition|null);

                /** EditionDefault value */
                value?: (string|null);
            }

            /** Represents an EditionDefault. */
            class EditionDefault implements IEditionDefault {

                /**
                 * Constructs a new EditionDefault.
                 * @param [properties] Properties to set
                 */
                constructor(properties?: google.protobuf.FieldOptions.IEditionDefault);

                /** EditionDefault edition. */
                public edition: (google.protobuf.Edition|keyof typeof google.protobuf.Edition);

                /** EditionDefault value. */
                public value: string;

                /**
                 * Creates a new EditionDefault instance using the specified properties.
                 * @param [properties] Properties to set
                 * @returns EditionDefault instance
                 */
                public static create(properties?: google.protobuf.FieldOptions.IEditionDefault): google.protobuf.FieldOptions.EditionDefault;

                /**
                 * Encodes the specified EditionDefault message. Does not implicitly {@link google.protobuf.FieldOptions.EditionDefault.verify|verify} messages.
                 * @param message EditionDefault message or plain object to encode
                 * @param [writer] Writer to encode to
                 * @returns Writer
                 */
                public static encode(message: google.protobuf.FieldOptions.IEditionDefault, writer?: $protobuf.Writer): $protobuf.Writer;

                /**
                 * Encodes the specified EditionDefault message, length delimited. Does not implicitly {@link google.protobuf.FieldOptions.EditionDefault.verify|verify} messages.
                 * @param message EditionDefault message or plain object to encode
                 * @param [writer] Writer to encode to
                 * @returns Writer
                 */
                public static encodeDelimited(message: google.protobuf.FieldOptions.IEditionDefault, writer?: $protobuf.Writer): $protobuf.Writer;

                /**
                 * Decodes an EditionDefault message from the specified reader or buffer.
                 * @param reader Reader or buffer to decode from
                 * @param [length] Message length if known beforehand
                 * @returns EditionDefault
                 * @throws {Error} If the payload is not a reader or valid buffer
                 * @throws {$protobuf.util.ProtocolError} If required fields are missing
                 */
                public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.FieldOptions.EditionDefault;

                /**
                 * Decodes an EditionDefault message from the specified reader or buffer, length delimited.
                 * @param reader Reader or buffer to decode from
                 * @returns EditionDefault
                 * @throws {Error} If the payload is not a reader or valid buffer
                 * @throws {$protobuf.util.ProtocolError} If required fields are missing
                 */
                public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.FieldOptions.EditionDefault;

                /**
                 * Verifies an EditionDefault message.
                 * @param message Plain object to verify
                 * @returns `null` if valid, otherwise the reason why it is not
                 */
                public static verify(message: { [k: string]: any }): (string|null);

                /**
                 * Creates an EditionDefault message from a plain object. Also converts values to their respective internal types.
                 * @param object Plain object
                 * @returns EditionDefault
                 */
                public static fromObject(object: { [k: string]: any }): google.protobuf.FieldOptions.EditionDefault;

                /**
                 * Creates a plain object from an EditionDefault message. Also converts values to other types if specified.
                 * @param message EditionDefault
                 * @param [options] Conversion options
                 * @returns Plain object
                 */
                public static toObject(message: google.protobuf.FieldOptions.EditionDefault, options?: $protobuf.IConversionOptions): { [k: string]: any };

                /**
                 * Converts this EditionDefault to JSON.
                 * @returns JSON object
                 */
                public toJSON(): { [k: string]: any };

                /**
                 * Gets the default type url for EditionDefault
                 * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                 * @returns The default type url
                 */
                public static getTypeUrl(typeUrlPrefix?: string): string;
            }
        }

        /** Properties of an OneofOptions. */
        interface IOneofOptions {

            /** OneofOptions features */
            features?: (google.protobuf.IFeatureSet|null);

            /** OneofOptions uninterpretedOption */
            uninterpretedOption?: (google.protobuf.IUninterpretedOption[]|null);
        }

        /** Represents an OneofOptions. */
        class OneofOptions implements IOneofOptions {

            /**
             * Constructs a new OneofOptions.
             * @param [properties] Properties to set
             */
            constructor(properties?: google.protobuf.IOneofOptions);

            /** OneofOptions features. */
            public features?: (google.protobuf.IFeatureSet|null);

            /** OneofOptions uninterpretedOption. */
            public uninterpretedOption: google.protobuf.IUninterpretedOption[];

            /**
             * Creates a new OneofOptions instance using the specified properties.
             * @param [properties] Properties to set
             * @returns OneofOptions instance
             */
            public static create(properties?: google.protobuf.IOneofOptions): google.protobuf.OneofOptions;

            /**
             * Encodes the specified OneofOptions message. Does not implicitly {@link google.protobuf.OneofOptions.verify|verify} messages.
             * @param message OneofOptions message or plain object to encode
             * @param [writer] Writer to encode to
             * @returns Writer
             */
            public static encode(message: google.protobuf.IOneofOptions, writer?: $protobuf.Writer): $protobuf.Writer;

            /**
             * Encodes the specified OneofOptions message, length delimited. Does not implicitly {@link google.protobuf.OneofOptions.verify|verify} messages.
             * @param message OneofOptions message or plain object to encode
             * @param [writer] Writer to encode to
             * @returns Writer
             */
            public static encodeDelimited(message: google.protobuf.IOneofOptions, writer?: $protobuf.Writer): $protobuf.Writer;

            /**
             * Decodes an OneofOptions message from the specified reader or buffer.
             * @param reader Reader or buffer to decode from
             * @param [length] Message length if known beforehand
             * @returns OneofOptions
             * @throws {Error} If the payload is not a reader or valid buffer
             * @throws {$protobuf.util.ProtocolError} If required fields are missing
             */
            public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.OneofOptions;

            /**
             * Decodes an OneofOptions message from the specified reader or buffer, length delimited.
             * @param reader Reader or buffer to decode from
             * @returns OneofOptions
             * @throws {Error} If the payload is not a reader or valid buffer
             * @throws {$protobuf.util.ProtocolError} If required fields are missing
             */
            public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.OneofOptions;

            /**
             * Verifies an OneofOptions message.
             * @param message Plain object to verify
             * @returns `null` if valid, otherwise the reason why it is not
             */
            public static verify(message: { [k: string]: any }): (string|null);

            /**
             * Creates an OneofOptions message from a plain object. Also converts values to their respective internal types.
             * @param object Plain object
             * @returns OneofOptions
             */
            public static fromObject(object: { [k: string]: any }): google.protobuf.OneofOptions;

            /**
             * Creates a plain object from an OneofOptions message. Also converts values to other types if specified.
             * @param message OneofOptions
             * @param [options] Conversion options
             * @returns Plain object
             */
            public static toObject(message: google.protobuf.OneofOptions, options?: $protobuf.IConversionOptions): { [k: string]: any };

            /**
             * Converts this OneofOptions to JSON.
             * @returns JSON object
             */
            public toJSON(): { [k: string]: any };

            /**
             * Gets the default type url for OneofOptions
             * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
             * @returns The default type url
             */
            public static getTypeUrl(typeUrlPrefix?: string): string;
        }

        /** Properties of an EnumOptions. */
        interface IEnumOptions {

            /** EnumOptions allowAlias */
            allowAlias?: (boolean|null);

            /** EnumOptions deprecated */
            deprecated?: (boolean|null);

            /** EnumOptions deprecatedLegacyJsonFieldConflicts */
            deprecatedLegacyJsonFieldConflicts?: (boolean|null);

            /** EnumOptions features */
            features?: (google.protobuf.IFeatureSet|null);

            /** EnumOptions uninterpretedOption */
            uninterpretedOption?: (google.protobuf.IUninterpretedOption[]|null);
        }

        /** Represents an EnumOptions. */
        class EnumOptions implements IEnumOptions {

            /**
             * Constructs a new EnumOptions.
             * @param [properties] Properties to set
             */
            constructor(properties?: google.protobuf.IEnumOptions);

            /** EnumOptions allowAlias. */
            public allowAlias: boolean;

            /** EnumOptions deprecated. */
            public deprecated: boolean;

            /** EnumOptions deprecatedLegacyJsonFieldConflicts. */
            public deprecatedLegacyJsonFieldConflicts: boolean;

            /** EnumOptions features. */
            public features?: (google.protobuf.IFeatureSet|null);

            /** EnumOptions uninterpretedOption. */
            public uninterpretedOption: google.protobuf.IUninterpretedOption[];

            /**
             * Creates a new EnumOptions instance using the specified properties.
             * @param [properties] Properties to set
             * @returns EnumOptions instance
             */
            public static create(properties?: google.protobuf.IEnumOptions): google.protobuf.EnumOptions;

            /**
             * Encodes the specified EnumOptions message. Does not implicitly {@link google.protobuf.EnumOptions.verify|verify} messages.
             * @param message EnumOptions message or plain object to encode
             * @param [writer] Writer to encode to
             * @returns Writer
             */
            public static encode(message: google.protobuf.IEnumOptions, writer?: $protobuf.Writer): $protobuf.Writer;

            /**
             * Encodes the specified EnumOptions message, length delimited. Does not implicitly {@link google.protobuf.EnumOptions.verify|verify} messages.
             * @param message EnumOptions message or plain object to encode
             * @param [writer] Writer to encode to
             * @returns Writer
             */
            public static encodeDelimited(message: google.protobuf.IEnumOptions, writer?: $protobuf.Writer): $protobuf.Writer;

            /**
             * Decodes an EnumOptions message from the specified reader or buffer.
             * @param reader Reader or buffer to decode from
             * @param [length] Message length if known beforehand
             * @returns EnumOptions
             * @throws {Error} If the payload is not a reader or valid buffer
             * @throws {$protobuf.util.ProtocolError} If required fields are missing
             */
            public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.EnumOptions;

            /**
             * Decodes an EnumOptions message from the specified reader or buffer, length delimited.
             * @param reader Reader or buffer to decode from
             * @returns EnumOptions
             * @throws {Error} If the payload is not a reader or valid buffer
             * @throws {$protobuf.util.ProtocolError} If required fields are missing
             */
            public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.EnumOptions;

            /**
             * Verifies an EnumOptions message.
             * @param message Plain object to verify
             * @returns `null` if valid, otherwise the reason why it is not
             */
            public static verify(message: { [k: string]: any }): (string|null);

            /**
             * Creates an EnumOptions message from a plain object. Also converts values to their respective internal types.
             * @param object Plain object
             * @returns EnumOptions
             */
            public static fromObject(object: { [k: string]: any }): google.protobuf.EnumOptions;

            /**
             * Creates a plain object from an EnumOptions message. Also converts values to other types if specified.
             * @param message EnumOptions
             * @param [options] Conversion options
             * @returns Plain object
             */
            public static toObject(message: google.protobuf.EnumOptions, options?: $protobuf.IConversionOptions): { [k: string]: any };

            /**
             * Converts this EnumOptions to JSON.
             * @returns JSON object
             */
            public toJSON(): { [k: string]: any };

            /**
             * Gets the default type url for EnumOptions
             * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
             * @returns The default type url
             */
            public static getTypeUrl(typeUrlPrefix?: string): string;
        }

        /** Properties of an EnumValueOptions. */
        interface IEnumValueOptions {

            /** EnumValueOptions deprecated */
            deprecated?: (boolean|null);

            /** EnumValueOptions features */
            features?: (google.protobuf.IFeatureSet|null);

            /** EnumValueOptions debugRedact */
            debugRedact?: (boolean|null);

            /** EnumValueOptions uninterpretedOption */
            uninterpretedOption?: (google.protobuf.IUninterpretedOption[]|null);
        }

        /** Represents an EnumValueOptions. */
        class EnumValueOptions implements IEnumValueOptions {

            /**
             * Constructs a new EnumValueOptions.
             * @param [properties] Properties to set
             */
            constructor(properties?: google.protobuf.IEnumValueOptions);

            /** EnumValueOptions deprecated. */
            public deprecated: boolean;

            /** EnumValueOptions features. */
            public features?: (google.protobuf.IFeatureSet|null);

            /** EnumValueOptions debugRedact. */
            public debugRedact: boolean;

            /** EnumValueOptions uninterpretedOption. */
            public uninterpretedOption: google.protobuf.IUninterpretedOption[];

            /**
             * Creates a new EnumValueOptions instance using the specified properties.
             * @param [properties] Properties to set
             * @returns EnumValueOptions instance
             */
            public static create(properties?: google.protobuf.IEnumValueOptions): google.protobuf.EnumValueOptions;

            /**
             * Encodes the specified EnumValueOptions message. Does not implicitly {@link google.protobuf.EnumValueOptions.verify|verify} messages.
             * @param message EnumValueOptions message or plain object to encode
             * @param [writer] Writer to encode to
             * @returns Writer
             */
            public static encode(message: google.protobuf.IEnumValueOptions, writer?: $protobuf.Writer): $protobuf.Writer;

            /**
             * Encodes the specified EnumValueOptions message, length delimited. Does not implicitly {@link google.protobuf.EnumValueOptions.verify|verify} messages.
             * @param message EnumValueOptions message or plain object to encode
             * @param [writer] Writer to encode to
             * @returns Writer
             */
            public static encodeDelimited(message: google.protobuf.IEnumValueOptions, writer?: $protobuf.Writer): $protobuf.Writer;

            /**
             * Decodes an EnumValueOptions message from the specified reader or buffer.
             * @param reader Reader or buffer to decode from
             * @param [length] Message length if known beforehand
             * @returns EnumValueOptions
             * @throws {Error} If the payload is not a reader or valid buffer
             * @throws {$protobuf.util.ProtocolError} If required fields are missing
             */
            public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.EnumValueOptions;

            /**
             * Decodes an EnumValueOptions message from the specified reader or buffer, length delimited.
             * @param reader Reader or buffer to decode from
             * @returns EnumValueOptions
             * @throws {Error} If the payload is not a reader or valid buffer
             * @throws {$protobuf.util.ProtocolError} If required fields are missing
             */
            public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.EnumValueOptions;

            /**
             * Verifies an EnumValueOptions message.
             * @param message Plain object to verify
             * @returns `null` if valid, otherwise the reason why it is not
             */
            public static verify(message: { [k: string]: any }): (string|null);

            /**
             * Creates an EnumValueOptions message from a plain object. Also converts values to their respective internal types.
             * @param object Plain object
             * @returns EnumValueOptions
             */
            public static fromObject(object: { [k: string]: any }): google.protobuf.EnumValueOptions;

            /**
             * Creates a plain object from an EnumValueOptions message. Also converts values to other types if specified.
             * @param message EnumValueOptions
             * @param [options] Conversion options
             * @returns Plain object
             */
            public static toObject(message: google.protobuf.EnumValueOptions, options?: $protobuf.IConversionOptions): { [k: string]: any };

            /**
             * Converts this EnumValueOptions to JSON.
             * @returns JSON object
             */
            public toJSON(): { [k: string]: any };

            /**
             * Gets the default type url for EnumValueOptions
             * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
             * @returns The default type url
             */
            public static getTypeUrl(typeUrlPrefix?: string): string;
        }

        /** Properties of a ServiceOptions. */
        interface IServiceOptions {

            /** ServiceOptions features */
            features?: (google.protobuf.IFeatureSet|null);

            /** ServiceOptions deprecated */
            deprecated?: (boolean|null);

            /** ServiceOptions uninterpretedOption */
            uninterpretedOption?: (google.protobuf.IUninterpretedOption[]|null);

            /** ServiceOptions .google.api.defaultHost */
            ".google.api.defaultHost"?: (string|null);

            /** ServiceOptions .google.api.oauthScopes */
            ".google.api.oauthScopes"?: (string|null);

            /** ServiceOptions .google.api.apiVersion */
            ".google.api.apiVersion"?: (string|null);
        }

        /** Represents a ServiceOptions. */
        class ServiceOptions implements IServiceOptions {

            /**
             * Constructs a new ServiceOptions.
             * @param [properties] Properties to set
             */
            constructor(properties?: google.protobuf.IServiceOptions);

            /** ServiceOptions features. */
            public features?: (google.protobuf.IFeatureSet|null);

            /** ServiceOptions deprecated. */
            public deprecated: boolean;

            /** ServiceOptions uninterpretedOption. */
            public uninterpretedOption: google.protobuf.IUninterpretedOption[];

            /**
             * Creates a new ServiceOptions instance using the specified properties.
             * @param [properties] Properties to set
             * @returns ServiceOptions instance
             */
            public static create(properties?: google.protobuf.IServiceOptions): google.protobuf.ServiceOptions;

            /**
             * Encodes the specified ServiceOptions message. Does not implicitly {@link google.protobuf.ServiceOptions.verify|verify} messages.
             * @param message ServiceOptions message or plain object to encode
             * @param [writer] Writer to encode to
             * @returns Writer
             */
            public static encode(message: google.protobuf.IServiceOptions, writer?: $protobuf.Writer): $protobuf.Writer;

            /**
             * Encodes the specified ServiceOptions message, length delimited. Does not implicitly {@link google.protobuf.ServiceOptions.verify|verify} messages.
             * @param message ServiceOptions message or plain object to encode
             * @param [writer] Writer to encode to
             * @returns Writer
             */
            public static encodeDelimited(message: google.protobuf.IServiceOptions, writer?: $protobuf.Writer): $protobuf.Writer;

            /**
             * Decodes a ServiceOptions message from the specified reader or buffer.
             * @param reader Reader or buffer to decode from
             * @param [length] Message length if known beforehand
             * @returns ServiceOptions
             * @throws {Error} If the payload is not a reader or valid buffer
             * @throws {$protobuf.util.ProtocolError} If required fields are missing
             */
            public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.ServiceOptions;

            /**
             * Decodes a ServiceOptions message from the specified reader or buffer, length delimited.
             * @param reader Reader or buffer to decode from
             * @returns ServiceOptions
             * @throws {Error} If the payload is not a reader or valid buffer
             * @throws {$protobuf.util.ProtocolError} If required fields are missing
             */
            public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.ServiceOptions;

            /**
             * Verifies a ServiceOptions message.
             * @param message Plain object to verify
             * @returns `null` if valid, otherwise the reason why it is not
             */
            public static verify(message: { [k: string]: any }): (string|null);

            /**
             * Creates a ServiceOptions message from a plain object. Also converts values to their respective internal types.
             * @param object Plain object
             * @returns ServiceOptions
             */
            public static fromObject(object: { [k: string]: any }): google.protobuf.ServiceOptions;

            /**
             * Creates a plain object from a ServiceOptions message. Also converts values to other types if specified.
             * @param message ServiceOptions
             * @param [options] Conversion options
             * @returns Plain object
             */
            public static toObject(message: google.protobuf.ServiceOptions, options?: $protobuf.IConversionOptions): { [k: string]: any };

            /**
             * Converts this ServiceOptions to JSON.
             * @returns JSON object
             */
            public toJSON(): { [k: string]: any };

            /**
             * Gets the default type url for ServiceOptions
             * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
             * @returns The default type url
             */
            public static getTypeUrl(typeUrlPrefix?: string): string;
        }

        /** Properties of a MethodOptions. */
        interface IMethodOptions {

            /** MethodOptions deprecated */
            deprecated?: (boolean|null);

            /** MethodOptions idempotencyLevel */
            idempotencyLevel?: (google.protobuf.MethodOptions.IdempotencyLevel|keyof typeof google.protobuf.MethodOptions.IdempotencyLevel|null);

            /** MethodOptions features */
            features?: (google.protobuf.IFeatureSet|null);

            /** MethodOptions uninterpretedOption */
            uninterpretedOption?: (google.protobuf.IUninterpretedOption[]|null);

            /** MethodOptions .google.api.http */
            ".google.api.http"?: (google.api.IHttpRule|null);

            /** MethodOptions .google.api.methodSignature */
            ".google.api.methodSignature"?: (string[]|null);

            /** MethodOptions .google.longrunning.operationInfo */
            ".google.longrunning.operationInfo"?: (google.longrunning.IOperationInfo|null);
        }

        /** Represents a MethodOptions. */
        class MethodOptions implements IMethodOptions {

            /**
             * Constructs a new MethodOptions.
             * @param [properties] Properties to set
             */
            constructor(properties?: google.protobuf.IMethodOptions);

            /** MethodOptions deprecated. */
            public deprecated: boolean;

            /** MethodOptions idempotencyLevel. */
            public idempotencyLevel: (google.protobuf.MethodOptions.IdempotencyLevel|keyof typeof google.protobuf.MethodOptions.IdempotencyLevel);

            /** MethodOptions features. */
            public features?: (google.protobuf.IFeatureSet|null);

            /** MethodOptions uninterpretedOption. */
            public uninterpretedOption: google.protobuf.IUninterpretedOption[];

            /**
             * Creates a new MethodOptions instance using the specified properties.
             * @param [properties] Properties to set
             * @returns MethodOptions instance
             */
            public static create(properties?: google.protobuf.IMethodOptions): google.protobuf.MethodOptions;

            /**
             * Encodes the specified MethodOptions message. Does not implicitly {@link google.protobuf.MethodOptions.verify|verify} messages.
             * @param message MethodOptions message or plain object to encode
             * @param [writer] Writer to encode to
             * @returns Writer
             */
            public static encode(message: google.protobuf.IMethodOptions, writer?: $protobuf.Writer): $protobuf.Writer;

            /**
             * Encodes the specified MethodOptions message, length delimited. Does not implicitly {@link google.protobuf.MethodOptions.verify|verify} messages.
             * @param message MethodOptions message or plain object to encode
             * @param [writer] Writer to encode to
             * @returns Writer
             */
            public static encodeDelimited(message: google.protobuf.IMethodOptions, writer?: $protobuf.Writer): $protobuf.Writer;

            /**
             * Decodes a MethodOptions message from the specified reader or buffer.
             * @param reader Reader or buffer to decode from
             * @param [length] Message length if known beforehand
             * @returns MethodOptions
             * @throws {Error} If the payload is not a reader or valid buffer
             * @throws {$protobuf.util.ProtocolError} If required fields are missing
             */
            public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.MethodOptions;

            /**
             * Decodes a MethodOptions message from the specified reader or buffer, length delimited.
             * @param reader Reader or buffer to decode from
             * @returns MethodOptions
             * @throws {Error} If the payload is not a reader or valid buffer
             * @throws {$protobuf.util.ProtocolError} If required fields are missing
             */
            public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.MethodOptions;

            /**
             * Verifies a MethodOptions message.
             * @param message Plain object to verify
             * @returns `null` if valid, otherwise the reason why it is not
             */
            public static verify(message: { [k: string]: any }): (string|null);

            /**
             * Creates a MethodOptions message from a plain object. Also converts values to their respective internal types.
             * @param object Plain object
             * @returns MethodOptions
             */
            public static fromObject(object: { [k: string]: any }): google.protobuf.MethodOptions;

            /**
             * Creates a plain object from a MethodOptions message. Also converts values to other types if specified.
             * @param message MethodOptions
             * @param [options] Conversion options
             * @returns Plain object
             */
            public static toObject(message: google.protobuf.MethodOptions, options?: $protobuf.IConversionOptions): { [k: string]: any };

            /**
             * Converts this MethodOptions to JSON.
             * @returns JSON object
             */
            public toJSON(): { [k: string]: any };

            /**
             * Gets the default type url for MethodOptions
             * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
             * @returns The default type url
             */
            public static getTypeUrl(typeUrlPrefix?: string): string;
        }

        namespace MethodOptions {

            /** IdempotencyLevel enum. */
            enum IdempotencyLevel {
                IDEMPOTENCY_UNKNOWN = 0,
                NO_SIDE_EFFECTS = 1,
                IDEMPOTENT = 2
            }
        }

        /** Properties of an UninterpretedOption. */
        interface IUninterpretedOption {

            /** UninterpretedOption name */
            name?: (google.protobuf.UninterpretedOption.INamePart[]|null);

            /** UninterpretedOption identifierValue */
            identifierValue?: (string|null);

            /** UninterpretedOption positiveIntValue */
            positiveIntValue?: (number|Long|string|null);

            /** UninterpretedOption negativeIntValue */
            negativeIntValue?: (number|Long|string|null);

            /** UninterpretedOption doubleValue */
            doubleValue?: (number|null);

            /** UninterpretedOption stringValue */
            stringValue?: (Uint8Array|Buffer|string|null);

            /** UninterpretedOption aggregateValue */
            aggregateValue?: (string|null);
        }

        /** Represents an UninterpretedOption. */
        class UninterpretedOption implements IUninterpretedOption {

            /**
             * Constructs a new UninterpretedOption.
             * @param [properties] Properties to set
             */
            constructor(properties?: google.protobuf.IUninterpretedOption);

            /** UninterpretedOption name. */
            public name: google.protobuf.UninterpretedOption.INamePart[];

            /** UninterpretedOption identifierValue. */
            public identifierValue: string;

            /** UninterpretedOption positiveIntValue. */
            public positiveIntValue: (number|Long|string);

            /** UninterpretedOption negativeIntValue. */
            public negativeIntValue: (number|Long|string);

            /** UninterpretedOption doubleValue. */
            public doubleValue: number;

            /** UninterpretedOption stringValue. */
            public stringValue: (Uint8Array|Buffer|string);

            /** UninterpretedOption aggregateValue. */
            public aggregateValue: string;

            /**
             * Creates a new UninterpretedOption instance using the specified properties.
             * @param [properties] Properties to set
             * @returns UninterpretedOption instance
             */
            public static create(properties?: google.protobuf.IUninterpretedOption): google.protobuf.UninterpretedOption;

            /**
             * Encodes the specified UninterpretedOption message. Does not implicitly {@link google.protobuf.UninterpretedOption.verify|verify} messages.
             * @param message UninterpretedOption message or plain object to encode
             * @param [writer] Writer to encode to
             * @returns Writer
             */
            public static encode(message: google.protobuf.IUninterpretedOption, writer?: $protobuf.Writer): $protobuf.Writer;

            /**
             * Encodes the specified UninterpretedOption message, length delimited. Does not implicitly {@link google.protobuf.UninterpretedOption.verify|verify} messages.
             * @param message UninterpretedOption message or plain object to encode
             * @param [writer] Writer to encode to
             * @returns Writer
             */
            public static encodeDelimited(message: google.protobuf.IUninterpretedOption, writer?: $protobuf.Writer): $protobuf.Writer;

            /**
             * Decodes an UninterpretedOption message from the specified reader or buffer.
             * @param reader Reader or buffer to decode from
             * @param [length] Message length if known beforehand
             * @returns UninterpretedOption
             * @throws {Error} If the payload is not a reader or valid buffer
             * @throws {$protobuf.util.ProtocolError} If required fields are missing
             */
            public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.UninterpretedOption;

            /**
             * Decodes an UninterpretedOption message from the specified reader or buffer, length delimited.
             * @param reader Reader or buffer to decode from
             * @returns UninterpretedOption
             * @throws {Error} If the payload is not a reader or valid buffer
             * @throws {$protobuf.util.ProtocolError} If required fields are missing
             */
            public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.UninterpretedOption;

            /**
             * Verifies an UninterpretedOption message.
             * @param message Plain object to verify
             * @returns `null` if valid, otherwise the reason why it is not
             */
            public static verify(message: { [k: string]: any }): (string|null);

            /**
             * Creates an UninterpretedOption message from a plain object. Also converts values to their respective internal types.
             * @param object Plain object
             * @returns UninterpretedOption
             */
            public static fromObject(object: { [k: string]: any }): google.protobuf.UninterpretedOption;

            /**
             * Creates a plain object from an UninterpretedOption message. Also converts values to other types if specified.
             * @param message UninterpretedOption
             * @param [options] Conversion options
             * @returns Plain object
             */
            public static toObject(message: google.protobuf.UninterpretedOption, options?: $protobuf.IConversionOptions): { [k: string]: any };

            /**
             * Converts this UninterpretedOption to JSON.
             * @returns JSON object
             */
            public toJSON(): { [k: string]: any };

            /**
             * Gets the default type url for UninterpretedOption
             * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
             * @returns The default type url
             */
            public static getTypeUrl(typeUrlPrefix?: string): string;
        }

        namespace UninterpretedOption {

            /** Properties of a NamePart. */
            interface INamePart {

                /** NamePart namePart */
                namePart: string;

                /** NamePart isExtension */
                isExtension: boolean;
            }

            /** Represents a NamePart. */
            class NamePart implements INamePart {

                /**
                 * Constructs a new NamePart.
                 * @param [properties] Properties to set
                 */
                constructor(properties?: google.protobuf.UninterpretedOption.INamePart);

                /** NamePart namePart. */
                public namePart: string;

                /** NamePart isExtension. */
                public isExtension: boolean;

                /**
                 * Creates a new NamePart instance using the specified properties.
                 * @param [properties] Properties to set
                 * @returns NamePart instance
                 */
                public static create(properties?: google.protobuf.UninterpretedOption.INamePart): google.protobuf.UninterpretedOption.NamePart;

                /**
                 * Encodes the specified NamePart message. Does not implicitly {@link google.protobuf.UninterpretedOption.NamePart.verify|verify} messages.
                 * @param message NamePart message or plain object to encode
                 * @param [writer] Writer to encode to
                 * @returns Writer
                 */
                public static encode(message: google.protobuf.UninterpretedOption.INamePart, writer?: $protobuf.Writer): $protobuf.Writer;

                /**
                 * Encodes the specified NamePart message, length delimited. Does not implicitly {@link google.protobuf.UninterpretedOption.NamePart.verify|verify} messages.
                 * @param message NamePart message or plain object to encode
                 * @param [writer] Writer to encode to
                 * @returns Writer
                 */
                public static encodeDelimited(message: google.protobuf.UninterpretedOption.INamePart, writer?: $protobuf.Writer): $protobuf.Writer;

                /**
                 * Decodes a NamePart message from the specified reader or buffer.
                 * @param reader Reader or buffer to decode from
                 * @param [length] Message length if known beforehand
                 * @returns NamePart
                 * @throws {Error} If the payload is not a reader or valid buffer
                 * @throws {$protobuf.util.ProtocolError} If required fields are missing
                 */
                public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.UninterpretedOption.NamePart;

                /**
                 * Decodes a NamePart message from the specified reader or buffer, length delimited.
                 * @param reader Reader or buffer to decode from
                 * @returns NamePart
                 * @throws {Error} If the payload is not a reader or valid buffer
                 * @throws {$protobuf.util.ProtocolError} If required fields are missing
                 */
                public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.UninterpretedOption.NamePart;

                /**
                 * Verifies a NamePart message.
                 * @param message Plain object to verify
                 * @returns `null` if valid, otherwise the reason why it is not
                 */
                public static verify(message: { [k: string]: any }): (string|null);

                /**
                 * Creates a NamePart message from a plain object. Also converts values to their respective internal types.
                 * @param object Plain object
                 * @returns NamePart
                 */
                public static fromObject(object: { [k: string]: any }): google.protobuf.UninterpretedOption.NamePart;

                /**
                 * Creates a plain object from a NamePart message. Also converts values to other types if specified.
                 * @param message NamePart
                 * @param [options] Conversion options
                 * @returns Plain object
                 */
                public static toObject(message: google.protobuf.UninterpretedOption.NamePart, options?: $protobuf.IConversionOptions): { [k: string]: any };

                /**
                 * Converts this NamePart to JSON.
                 * @returns JSON object
                 */
                public toJSON(): { [k: string]: any };

                /**
                 * Gets the default type url for NamePart
                 * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                 * @returns The default type url
                 */
                public static getTypeUrl(typeUrlPrefix?: string): string;
            }
        }

        /** Properties of a FeatureSet. */
        interface IFeatureSet {

            /** FeatureSet fieldPresence */
            fieldPresence?: (google.protobuf.FeatureSet.FieldPresence|keyof typeof google.protobuf.FeatureSet.FieldPresence|null);

            /** FeatureSet enumType */
            enumType?: (google.protobuf.FeatureSet.EnumType|keyof typeof google.protobuf.FeatureSet.EnumType|null);

            /** FeatureSet repeatedFieldEncoding */
            repeatedFieldEncoding?: (google.protobuf.FeatureSet.RepeatedFieldEncoding|keyof typeof google.protobuf.FeatureSet.RepeatedFieldEncoding|null);

            /** FeatureSet utf8Validation */
            utf8Validation?: (google.protobuf.FeatureSet.Utf8Validation|keyof typeof google.protobuf.FeatureSet.Utf8Validation|null);

            /** FeatureSet messageEncoding */
            messageEncoding?: (google.protobuf.FeatureSet.MessageEncoding|keyof typeof google.protobuf.FeatureSet.MessageEncoding|null);

            /** FeatureSet jsonFormat */
            jsonFormat?: (google.protobuf.FeatureSet.JsonFormat|keyof typeof google.protobuf.FeatureSet.JsonFormat|null);
        }

        /** Represents a FeatureSet. */
        class FeatureSet implements IFeatureSet {

            /**
             * Constructs a new FeatureSet.
             * @param [properties] Properties to set
             */
            constructor(properties?: google.protobuf.IFeatureSet);

            /** FeatureSet fieldPresence. */
            public fieldPresence: (google.protobuf.FeatureSet.FieldPresence|keyof typeof google.protobuf.FeatureSet.FieldPresence);

            /** FeatureSet enumType. */
            public enumType: (google.protobuf.FeatureSet.EnumType|keyof typeof google.protobuf.FeatureSet.EnumType);

            /** FeatureSet repeatedFieldEncoding. */
            public repeatedFieldEncoding: (google.protobuf.FeatureSet.RepeatedFieldEncoding|keyof typeof google.protobuf.FeatureSet.RepeatedFieldEncoding);

            /** FeatureSet utf8Validation. */
            public utf8Validation: (google.protobuf.FeatureSet.Utf8Validation|keyof typeof google.protobuf.FeatureSet.Utf8Validation);

            /** FeatureSet messageEncoding. */
            public messageEncoding: (google.protobuf.FeatureSet.MessageEncoding|keyof typeof google.protobuf.FeatureSet.MessageEncoding);

            /** FeatureSet jsonFormat. */
            public jsonFormat: (google.protobuf.FeatureSet.JsonFormat|keyof typeof google.protobuf.FeatureSet.JsonFormat);

            /**
             * Creates a new FeatureSet instance using the specified properties.
             * @param [properties] Properties to set
             * @returns FeatureSet instance
             */
            public static create(properties?: google.protobuf.IFeatureSet): google.protobuf.FeatureSet;

            /**
             * Encodes the specified FeatureSet message. Does not implicitly {@link google.protobuf.FeatureSet.verify|verify} messages.
             * @param message FeatureSet message or plain object to encode
             * @param [writer] Writer to encode to
             * @returns Writer
             */
            public static encode(message: google.protobuf.IFeatureSet, writer?: $protobuf.Writer): $protobuf.Writer;

            /**
             * Encodes the specified FeatureSet message, length delimited. Does not implicitly {@link google.protobuf.FeatureSet.verify|verify} messages.
             * @param message FeatureSet message or plain object to encode
             * @param [writer] Writer to encode to
             * @returns Writer
             */
            public static encodeDelimited(message: google.protobuf.IFeatureSet, writer?: $protobuf.Writer): $protobuf.Writer;

            /**
             * Decodes a FeatureSet message from the specified reader or buffer.
             * @param reader Reader or buffer to decode from
             * @param [length] Message length if known beforehand
             * @returns FeatureSet
             * @throws {Error} If the payload is not a reader or valid buffer
             * @throws {$protobuf.util.ProtocolError} If required fields are missing
             */
            public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.FeatureSet;

            /**
             * Decodes a FeatureSet message from the specified reader or buffer, length delimited.
             * @param reader Reader or buffer to decode from
             * @returns FeatureSet
             * @throws {Error} If the payload is not a reader or valid buffer
             * @throws {$protobuf.util.ProtocolError} If required fields are missing
             */
            public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.FeatureSet;

            /**
             * Verifies a FeatureSet message.
             * @param message Plain object to verify
             * @returns `null` if valid, otherwise the reason why it is not
             */
            public static verify(message: { [k: string]: any }): (string|null);

            /**
             * Creates a FeatureSet message from a plain object. Also converts values to their respective internal types.
             * @param object Plain object
             * @returns FeatureSet
             */
            public static fromObject(object: { [k: string]: any }): google.protobuf.FeatureSet;

            /**
             * Creates a plain object from a FeatureSet message. Also converts values to other types if specified.
             * @param message FeatureSet
             * @param [options] Conversion options
             * @returns Plain object
             */
            public static toObject(message: google.protobuf.FeatureSet, options?: $protobuf.IConversionOptions): { [k: string]: any };

            /**
             * Converts this FeatureSet to JSON.
             * @returns JSON object
             */
            public toJSON(): { [k: string]: any };

            /**
             * Gets the default type url for FeatureSet
             * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
             * @returns The default type url
             */
            public static getTypeUrl(typeUrlPrefix?: string): string;
        }

        namespace FeatureSet {

            /** FieldPresence enum. */
            enum FieldPresence {
                FIELD_PRESENCE_UNKNOWN = 0,
                EXPLICIT = 1,
                IMPLICIT = 2,
                LEGACY_REQUIRED = 3
            }

            /** EnumType enum. */
            enum EnumType {
                ENUM_TYPE_UNKNOWN = 0,
                OPEN = 1,
                CLOSED = 2
            }

            /** RepeatedFieldEncoding enum. */
            enum RepeatedFieldEncoding {
                REPEATED_FIELD_ENCODING_UNKNOWN = 0,
                PACKED = 1,
                EXPANDED = 2
            }

            /** Utf8Validation enum. */
            enum Utf8Validation {
                UTF8_VALIDATION_UNKNOWN = 0,
                VERIFY = 2,
                NONE = 3
            }

            /** MessageEncoding enum. */
            enum MessageEncoding {
                MESSAGE_ENCODING_UNKNOWN = 0,
                LENGTH_PREFIXED = 1,
                DELIMITED = 2
            }

            /** JsonFormat enum. */
            enum JsonFormat {
                JSON_FORMAT_UNKNOWN = 0,
                ALLOW = 1,
                LEGACY_BEST_EFFORT = 2
            }
        }

        /** Properties of a FeatureSetDefaults. */
        interface IFeatureSetDefaults {

            /** FeatureSetDefaults defaults */
            defaults?: (google.protobuf.FeatureSetDefaults.IFeatureSetEditionDefault[]|null);

            /** FeatureSetDefaults minimumEdition */
            minimumEdition?: (google.protobuf.Edition|keyof typeof google.protobuf.Edition|null);

            /** FeatureSetDefaults maximumEdition */
            maximumEdition?: (google.protobuf.Edition|keyof typeof google.protobuf.Edition|null);
        }

        /** Represents a FeatureSetDefaults. */
        class FeatureSetDefaults implements IFeatureSetDefaults {

            /**
             * Constructs a new FeatureSetDefaults.
             * @param [properties] Properties to set
             */
            constructor(properties?: google.protobuf.IFeatureSetDefaults);

            /** FeatureSetDefaults defaults. */
            public defaults: google.protobuf.FeatureSetDefaults.IFeatureSetEditionDefault[];

            /** FeatureSetDefaults minimumEdition. */
            public minimumEdition: (google.protobuf.Edition|keyof typeof google.protobuf.Edition);

            /** FeatureSetDefaults maximumEdition. */
            public maximumEdition: (google.protobuf.Edition|keyof typeof google.protobuf.Edition);

            /**
             * Creates a new FeatureSetDefaults instance using the specified properties.
             * @param [properties] Properties to set
             * @returns FeatureSetDefaults instance
             */
            public static create(properties?: google.protobuf.IFeatureSetDefaults): google.protobuf.FeatureSetDefaults;

            /**
             * Encodes the specified FeatureSetDefaults message. Does not implicitly {@link google.protobuf.FeatureSetDefaults.verify|verify} messages.
             * @param message FeatureSetDefaults message or plain object to encode
             * @param [writer] Writer to encode to
             * @returns Writer
             */
            public static encode(message: google.protobuf.IFeatureSetDefaults, writer?: $protobuf.Writer): $protobuf.Writer;

            /**
             * Encodes the specified FeatureSetDefaults message, length delimited. Does not implicitly {@link google.protobuf.FeatureSetDefaults.verify|verify} messages.
             * @param message FeatureSetDefaults message or plain object to encode
             * @param [writer] Writer to encode to
             * @returns Writer
             */
            public static encodeDelimited(message: google.protobuf.IFeatureSetDefaults, writer?: $protobuf.Writer): $protobuf.Writer;

            /**
             * Decodes a FeatureSetDefaults message from the specified reader or buffer.
             * @param reader Reader or buffer to decode from
             * @param [length] Message length if known beforehand
             * @returns FeatureSetDefaults
             * @throws {Error} If the payload is not a reader or valid buffer
             * @throws {$protobuf.util.ProtocolError} If required fields are missing
             */
            public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.FeatureSetDefaults;

            /**
             * Decodes a FeatureSetDefaults message from the specified reader or buffer, length delimited.
             * @param reader Reader or buffer to decode from
             * @returns FeatureSetDefaults
             * @throws {Error} If the payload is not a reader or valid buffer
             * @throws {$protobuf.util.ProtocolError} If required fields are missing
             */
            public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.FeatureSetDefaults;

            /**
             * Verifies a FeatureSetDefaults message.
             * @param message Plain object to verify
             * @returns `null` if valid, otherwise the reason why it is not
             */
            public static verify(message: { [k: string]: any }): (string|null);

            /**
             * Creates a FeatureSetDefaults message from a plain object. Also converts values to their respective internal types.
             * @param object Plain object
             * @returns FeatureSetDefaults
             */
            public static fromObject(object: { [k: string]: any }): google.protobuf.FeatureSetDefaults;

            /**
             * Creates a plain object from a FeatureSetDefaults message. Also converts values to other types if specified.
             * @param message FeatureSetDefaults
             * @param [options] Conversion options
             * @returns Plain object
             */
            public static toObject(message: google.protobuf.FeatureSetDefaults, options?: $protobuf.IConversionOptions): { [k: string]: any };

            /**
             * Converts this FeatureSetDefaults to JSON.
             * @returns JSON object
             */
            public toJSON(): { [k: string]: any };

            /**
             * Gets the default type url for FeatureSetDefaults
             * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
             * @returns The default type url
             */
            public static getTypeUrl(typeUrlPrefix?: string): string;
        }

        namespace FeatureSetDefaults {

            /** Properties of a FeatureSetEditionDefault. */
            interface IFeatureSetEditionDefault {

                /** FeatureSetEditionDefault edition */
                edition?: (google.protobuf.Edition|keyof typeof google.protobuf.Edition|null);

                /** FeatureSetEditionDefault features */
                features?: (google.protobuf.IFeatureSet|null);
            }

            /** Represents a FeatureSetEditionDefault. */
            class FeatureSetEditionDefault implements IFeatureSetEditionDefault {

                /**
                 * Constructs a new FeatureSetEditionDefault.
                 * @param [properties] Properties to set
                 */
                constructor(properties?: google.protobuf.FeatureSetDefaults.IFeatureSetEditionDefault);

                /** FeatureSetEditionDefault edition. */
                public edition: (google.protobuf.Edition|keyof typeof google.protobuf.Edition);

                /** FeatureSetEditionDefault features. */
                public features?: (google.protobuf.IFeatureSet|null);

                /**
                 * Creates a new FeatureSetEditionDefault instance using the specified properties.
                 * @param [properties] Properties to set
                 * @returns FeatureSetEditionDefault instance
                 */
                public static create(properties?: google.protobuf.FeatureSetDefaults.IFeatureSetEditionDefault): google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault;

                /**
                 * Encodes the specified FeatureSetEditionDefault message. Does not implicitly {@link google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault.verify|verify} messages.
                 * @param message FeatureSetEditionDefault message or plain object to encode
                 * @param [writer] Writer to encode to
                 * @returns Writer
                 */
                public static encode(message: google.protobuf.FeatureSetDefaults.IFeatureSetEditionDefault, writer?: $protobuf.Writer): $protobuf.Writer;

                /**
                 * Encodes the specified FeatureSetEditionDefault message, length delimited. Does not implicitly {@link google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault.verify|verify} messages.
                 * @param message FeatureSetEditionDefault message or plain object to encode
                 * @param [writer] Writer to encode to
                 * @returns Writer
                 */
                public static encodeDelimited(message: google.protobuf.FeatureSetDefaults.IFeatureSetEditionDefault, writer?: $protobuf.Writer): $protobuf.Writer;

                /**
                 * Decodes a FeatureSetEditionDefault message from the specified reader or buffer.
                 * @param reader Reader or buffer to decode from
                 * @param [length] Message length if known beforehand
                 * @returns FeatureSetEditionDefault
                 * @throws {Error} If the payload is not a reader or valid buffer
                 * @throws {$protobuf.util.ProtocolError} If required fields are missing
                 */
                public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault;

                /**
                 * Decodes a FeatureSetEditionDefault message from the specified reader or buffer, length delimited.
                 * @param reader Reader or buffer to decode from
                 * @returns FeatureSetEditionDefault
                 * @throws {Error} If the payload is not a reader or valid buffer
                 * @throws {$protobuf.util.ProtocolError} If required fields are missing
                 */
                public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault;

                /**
                 * Verifies a FeatureSetEditionDefault message.
                 * @param message Plain object to verify
                 * @returns `null` if valid, otherwise the reason why it is not
                 */
                public static verify(message: { [k: string]: any }): (string|null);

                /**
                 * Creates a FeatureSetEditionDefault message from a plain object. Also converts values to their respective internal types.
                 * @param object Plain object
                 * @returns FeatureSetEditionDefault
                 */
                public static fromObject(object: { [k: string]: any }): google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault;

                /**
                 * Creates a plain object from a FeatureSetEditionDefault message. Also converts values to other types if specified.
                 * @param message FeatureSetEditionDefault
                 * @param [options] Conversion options
                 * @returns Plain object
                 */
                public static toObject(message: google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault, options?: $protobuf.IConversionOptions): { [k: string]: any };

                /**
                 * Converts this FeatureSetEditionDefault to JSON.
                 * @returns JSON object
                 */
                public toJSON(): { [k: string]: any };

                /**
                 * Gets the default type url for FeatureSetEditionDefault
                 * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                 * @returns The default type url
                 */
                public static getTypeUrl(typeUrlPrefix?: string): string;
            }
        }

        /** Properties of a SourceCodeInfo. */
        interface ISourceCodeInfo {

            /** SourceCodeInfo location */
            location?: (google.protobuf.SourceCodeInfo.ILocation[]|null);
        }

        /** Represents a SourceCodeInfo. */
        class SourceCodeInfo implements ISourceCodeInfo {

            /**
             * Constructs a new SourceCodeInfo.
             * @param [properties] Properties to set
             */
            constructor(properties?: google.protobuf.ISourceCodeInfo);

            /** SourceCodeInfo location. */
            public location: google.protobuf.SourceCodeInfo.ILocation[];

            /**
             * Creates a new SourceCodeInfo instance using the specified properties.
             * @param [properties] Properties to set
             * @returns SourceCodeInfo instance
             */
            public static create(properties?: google.protobuf.ISourceCodeInfo): google.protobuf.SourceCodeInfo;

            /**
             * Encodes the specified SourceCodeInfo message. Does not implicitly {@link google.protobuf.SourceCodeInfo.verify|verify} messages.
             * @param message SourceCodeInfo message or plain object to encode
             * @param [writer] Writer to encode to
             * @returns Writer
             */
            public static encode(message: google.protobuf.ISourceCodeInfo, writer?: $protobuf.Writer): $protobuf.Writer;

            /**
             * Encodes the specified SourceCodeInfo message, length delimited. Does not implicitly {@link google.protobuf.SourceCodeInfo.verify|verify} messages.
             * @param message SourceCodeInfo message or plain object to encode
             * @param [writer] Writer to encode to
             * @returns Writer
             */
            public static encodeDelimited(message: google.protobuf.ISourceCodeInfo, writer?: $protobuf.Writer): $protobuf.Writer;

            /**
             * Decodes a SourceCodeInfo message from the specified reader or buffer.
             * @param reader Reader or buffer to decode from
             * @param [length] Message length if known beforehand
             * @returns SourceCodeInfo
             * @throws {Error} If the payload is not a reader or valid buffer
             * @throws {$protobuf.util.ProtocolError} If required fields are missing
             */
            public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.SourceCodeInfo;

            /**
             * Decodes a SourceCodeInfo message from the specified reader or buffer, length delimited.
             * @param reader Reader or buffer to decode from
             * @returns SourceCodeInfo
             * @throws {Error} If the payload is not a reader or valid buffer
             * @throws {$protobuf.util.ProtocolError} If required fields are missing
             */
            public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.SourceCodeInfo;

            /**
             * Verifies a SourceCodeInfo message.
             * @param message Plain object to verify
             * @returns `null` if valid, otherwise the reason why it is not
             */
            public static verify(message: { [k: string]: any }): (string|null);

            /**
             * Creates a SourceCodeInfo message from a plain object. Also converts values to their respective internal types.
             * @param object Plain object
             * @returns SourceCodeInfo
             */
            public static fromObject(object: { [k: string]: any }): google.protobuf.SourceCodeInfo;

            /**
             * Creates a plain object from a SourceCodeInfo message. Also converts values to other types if specified.
             * @param message SourceCodeInfo
             * @param [options] Conversion options
             * @returns Plain object
             */
            public static toObject(message: google.protobuf.SourceCodeInfo, options?: $protobuf.IConversionOptions): { [k: string]: any };

            /**
             * Converts this SourceCodeInfo to JSON.
             * @returns JSON object
             */
            public toJSON(): { [k: string]: any };

            /**
             * Gets the default type url for SourceCodeInfo
             * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
             * @returns The default type url
             */
            public static getTypeUrl(typeUrlPrefix?: string): string;
        }

        namespace SourceCodeInfo {

            /** Properties of a Location. */
            interface ILocation {

                /** Location path */
                path?: (number[]|null);

                /** Location span */
                span?: (number[]|null);

                /** Location leadingComments */
                leadingComments?: (string|null);

                /** Location trailingComments */
                trailingComments?: (string|null);

                /** Location leadingDetachedComments */
                leadingDetachedComments?: (string[]|null);
            }

            /** Represents a Location. */
            class Location implements ILocation {

                /**
                 * Constructs a new Location.
                 * @param [properties] Properties to set
                 */
                constructor(properties?: google.protobuf.SourceCodeInfo.ILocation);

                /** Location path. */
                public path: number[];

                /** Location span. */
                public span: number[];

                /** Location leadingComments. */
                public leadingComments: string;

                /** Location trailingComments. */
                public trailingComments: string;

                /** Location leadingDetachedComments. */
                public leadingDetachedComments: string[];

                /**
                 * Creates a new Location instance using the specified properties.
                 * @param [properties] Properties to set
                 * @returns Location instance
                 */
                public static create(properties?: google.protobuf.SourceCodeInfo.ILocation): google.protobuf.SourceCodeInfo.Location;

                /**
                 * Encodes the specified Location message. Does not implicitly {@link google.protobuf.SourceCodeInfo.Location.verify|verify} messages.
                 * @param message Location message or plain object to encode
                 * @param [writer] Writer to encode to
                 * @returns Writer
                 */
                public static encode(message: google.protobuf.SourceCodeInfo.ILocation, writer?: $protobuf.Writer): $protobuf.Writer;

                /**
                 * Encodes the specified Location message, length delimited. Does not implicitly {@link google.protobuf.SourceCodeInfo.Location.verify|verify} messages.
                 * @param message Location message or plain object to encode
                 * @param [writer] Writer to encode to
                 * @returns Writer
                 */
                public static encodeDelimited(message: google.protobuf.SourceCodeInfo.ILocation, writer?: $protobuf.Writer): $protobuf.Writer;

                /**
                 * Decodes a Location message from the specified reader or buffer.
                 * @param reader Reader or buffer to decode from
                 * @param [length] Message length if known beforehand
                 * @returns Location
                 * @throws {Error} If the payload is not a reader or valid buffer
                 * @throws {$protobuf.util.ProtocolError} If required fields are missing
                 */
                public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.SourceCodeInfo.Location;

                /**
                 * Decodes a Location message from the specified reader or buffer, length delimited.
                 * @param reader Reader or buffer to decode from
                 * @returns Location
                 * @throws {Error} If the payload is not a reader or valid buffer
                 * @throws {$protobuf.util.ProtocolError} If required fields are missing
                 */
                public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.SourceCodeInfo.Location;

                /**
                 * Verifies a Location message.
                 * @param message Plain object to verify
                 * @returns `null` if valid, otherwise the reason why it is not
                 */
                public static verify(message: { [k: string]: any }): (string|null);

                /**
                 * Creates a Location message from a plain object. Also converts values to their respective internal types.
                 * @param object Plain object
                 * @returns Location
                 */
                public static fromObject(object: { [k: string]: any }): google.protobuf.SourceCodeInfo.Location;

                /**
                 * Creates a plain object from a Location message. Also converts values to other types if specified.
                 * @param message Location
                 * @param [options] Conversion options
                 * @returns Plain object
                 */
                public static toObject(message: google.protobuf.SourceCodeInfo.Location, options?: $protobuf.IConversionOptions): { [k: string]: any };

                /**
                 * Converts this Location to JSON.
                 * @returns JSON object
                 */
                public toJSON(): { [k: string]: any };

                /**
                 * Gets the default type url for Location
                 * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                 * @returns The default type url
                 */
                public static getTypeUrl(typeUrlPrefix?: string): string;
            }
        }

        /** Properties of a GeneratedCodeInfo. */
        interface IGeneratedCodeInfo {

            /** GeneratedCodeInfo annotation */
            annotation?: (google.protobuf.GeneratedCodeInfo.IAnnotation[]|null);
        }

        /** Represents a GeneratedCodeInfo. */
        class GeneratedCodeInfo implements IGeneratedCodeInfo {

            /**
             * Constructs a new GeneratedCodeInfo.
             * @param [properties] Properties to set
             */
            constructor(properties?: google.protobuf.IGeneratedCodeInfo);

            /** GeneratedCodeInfo annotation. */
            public annotation: google.protobuf.GeneratedCodeInfo.IAnnotation[];

            /**
             * Creates a new GeneratedCodeInfo instance using the specified properties.
             * @param [properties] Properties to set
             * @returns GeneratedCodeInfo instance
             */
            public static create(properties?: google.protobuf.IGeneratedCodeInfo): google.protobuf.GeneratedCodeInfo;

            /**
             * Encodes the specified GeneratedCodeInfo message. Does not implicitly {@link google.protobuf.GeneratedCodeInfo.verify|verify} messages.
             * @param message GeneratedCodeInfo message or plain object to encode
             * @param [writer] Writer to encode to
             * @returns Writer
             */
            public static encode(message: google.protobuf.IGeneratedCodeInfo, writer?: $protobuf.Writer): $protobuf.Writer;

            /**
             * Encodes the specified GeneratedCodeInfo message, length delimited. Does not implicitly {@link google.protobuf.GeneratedCodeInfo.verify|verify} messages.
             * @param message GeneratedCodeInfo message or plain object to encode
             * @param [writer] Writer to encode to
             * @returns Writer
             */
            public static encodeDelimited(message: google.protobuf.IGeneratedCodeInfo, writer?: $protobuf.Writer): $protobuf.Writer;

            /**
             * Decodes a GeneratedCodeInfo message from the specified reader or buffer.
             * @param reader Reader or buffer to decode from
             * @param [length] Message length if known beforehand
             * @returns GeneratedCodeInfo
             * @throws {Error} If the payload is not a reader or valid buffer
             * @throws {$protobuf.util.ProtocolError} If required fields are missing
             */
            public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.GeneratedCodeInfo;

            /**
             * Decodes a GeneratedCodeInfo message from the specified reader or buffer, length delimited.
             * @param reader Reader or buffer to decode from
             * @returns GeneratedCodeInfo
             * @throws {Error} If the payload is not a reader or valid buffer
             * @throws {$protobuf.util.ProtocolError} If required fields are missing
             */
            public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.GeneratedCodeInfo;

            /**
             * Verifies a GeneratedCodeInfo message.
             * @param message Plain object to verify
             * @returns `null` if valid, otherwise the reason why it is not
             */
            public static verify(message: { [k: string]: any }): (string|null);

            /**
             * Creates a GeneratedCodeInfo message from a plain object. Also converts values to their respective internal types.
             * @param object Plain object
             * @returns GeneratedCodeInfo
             */
            public static fromObject(object: { [k: string]: any }): google.protobuf.GeneratedCodeInfo;

            /**
             * Creates a plain object from a GeneratedCodeInfo message. Also converts values to other types if specified.
             * @param message GeneratedCodeInfo
             * @param [options] Conversion options
             * @returns Plain object
             */
            public static toObject(message: google.protobuf.GeneratedCodeInfo, options?: $protobuf.IConversionOptions): { [k: string]: any };

            /**
             * Converts this GeneratedCodeInfo to JSON.
             * @returns JSON object
             */
            public toJSON(): { [k: string]: any };

            /**
             * Gets the default type url for GeneratedCodeInfo
             * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
             * @returns The default type url
             */
            public static getTypeUrl(typeUrlPrefix?: string): string;
        }

        namespace GeneratedCodeInfo {

            /** Properties of an Annotation. */
            interface IAnnotation {

                /** Annotation path */
                path?: (number[]|null);

                /** Annotation sourceFile */
                sourceFile?: (string|null);

                /** Annotation begin */
                begin?: (number|null);

                /** Annotation end */
                end?: (number|null);

                /** Annotation semantic */
                semantic?: (google.protobuf.GeneratedCodeInfo.Annotation.Semantic|keyof typeof google.protobuf.GeneratedCodeInfo.Annotation.Semantic|null);
            }

            /** Represents an Annotation. */
            class Annotation implements IAnnotation {

                /**
                 * Constructs a new Annotation.
                 * @param [properties] Properties to set
                 */
                constructor(properties?: google.protobuf.GeneratedCodeInfo.IAnnotation);

                /** Annotation path. */
                public path: number[];

                /** Annotation sourceFile. */
                public sourceFile: string;

                /** Annotation begin. */
                public begin: number;

                /** Annotation end. */
                public end: number;

                /** Annotation semantic. */
                public semantic: (google.protobuf.GeneratedCodeInfo.Annotation.Semantic|keyof typeof google.protobuf.GeneratedCodeInfo.Annotation.Semantic);

                /**
                 * Creates a new Annotation instance using the specified properties.
                 * @param [properties] Properties to set
                 * @returns Annotation instance
                 */
                public static create(properties?: google.protobuf.GeneratedCodeInfo.IAnnotation): google.protobuf.GeneratedCodeInfo.Annotation;

                /**
                 * Encodes the specified Annotation message. Does not implicitly {@link google.protobuf.GeneratedCodeInfo.Annotation.verify|verify} messages.
                 * @param message Annotation message or plain object to encode
                 * @param [writer] Writer to encode to
                 * @returns Writer
                 */
                public static encode(message: google.protobuf.GeneratedCodeInfo.IAnnotation, writer?: $protobuf.Writer): $protobuf.Writer;

                /**
                 * Encodes the specified Annotation message, length delimited. Does not implicitly {@link google.protobuf.GeneratedCodeInfo.Annotation.verify|verify} messages.
                 * @param message Annotation message or plain object to encode
                 * @param [writer] Writer to encode to
                 * @returns Writer
                 */
                public static encodeDelimited(message: google.protobuf.GeneratedCodeInfo.IAnnotation, writer?: $protobuf.Writer): $protobuf.Writer;

                /**
                 * Decodes an Annotation message from the specified reader or buffer.
                 * @param reader Reader or buffer to decode from
                 * @param [length] Message length if known beforehand
                 * @returns Annotation
                 * @throws {Error} If the payload is not a reader or valid buffer
                 * @throws {$protobuf.util.ProtocolError} If required fields are missing
                 */
                public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.GeneratedCodeInfo.Annotation;

                /**
                 * Decodes an Annotation message from the specified reader or buffer, length delimited.
                 * @param reader Reader or buffer to decode from
                 * @returns Annotation
                 * @throws {Error} If the payload is not a reader or valid buffer
                 * @throws {$protobuf.util.ProtocolError} If required fields are missing
                 */
                public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.GeneratedCodeInfo.Annotation;

                /**
                 * Verifies an Annotation message.
                 * @param message Plain object to verify
                 * @returns `null` if valid, otherwise the reason why it is not
                 */
                public static verify(message: { [k: string]: any }): (string|null);

                /**
                 * Creates an Annotation message from a plain object. Also converts values to their respective internal types.
                 * @param object Plain object
                 * @returns Annotation
                 */
                public static fromObject(object: { [k: string]: any }): google.protobuf.GeneratedCodeInfo.Annotation;

                /**
                 * Creates a plain object from an Annotation message. Also converts values to other types if specified.
                 * @param message Annotation
                 * @param [options] Conversion options
                 * @returns Plain object
                 */
                public static toObject(message: google.protobuf.GeneratedCodeInfo.Annotation, options?: $protobuf.IConversionOptions): { [k: string]: any };

                /**
                 * Converts this Annotation to JSON.
                 * @returns JSON object
                 */
                public toJSON(): { [k: string]: any };

                /**
                 * Gets the default type url for Annotation
                 * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                 * @returns The default type url
                 */
                public static getTypeUrl(typeUrlPrefix?: string): string;
            }

            namespace Annotation {

                /** Semantic enum. */
                enum Semantic {
                    NONE = 0,
                    SET = 1,
                    ALIAS = 2
                }
            }
        }

        /** Properties of a Duration. */
        interface IDuration {

            /** Duration seconds */
            seconds?: (number|Long|string|null);

            /** Duration nanos */
            nanos?: (number|null);
        }

        /** Represents a Duration. */
        class Duration implements IDuration {

            /**
             * Constructs a new Duration.
             * @param [properties] Properties to set
             */
            constructor(properties?: google.protobuf.IDuration);

            /** Duration seconds. */
            public seconds: (number|Long|string);

            /** Duration nanos. */
            public nanos: number;

            /**
             * Creates a new Duration instance using the specified properties.
             * @param [properties] Properties to set
             * @returns Duration instance
             */
            public static create(properties?: google.protobuf.IDuration): google.protobuf.Duration;

            /**
             * Encodes the specified Duration message. Does not implicitly {@link google.protobuf.Duration.verify|verify} messages.
             * @param message Duration message or plain object to encode
             * @param [writer] Writer to encode to
             * @returns Writer
             */
            public static encode(message: google.protobuf.IDuration, writer?: $protobuf.Writer): $protobuf.Writer;

            /**
             * Encodes the specified Duration message, length delimited. Does not implicitly {@link google.protobuf.Duration.verify|verify} messages.
             * @param message Duration message or plain object to encode
             * @param [writer] Writer to encode to
             * @returns Writer
             */
            public static encodeDelimited(message: google.protobuf.IDuration, writer?: $protobuf.Writer): $protobuf.Writer;

            /**
             * Decodes a Duration message from the specified reader or buffer.
             * @param reader Reader or buffer to decode from
             * @param [length] Message length if known beforehand
             * @returns Duration
             * @throws {Error} If the payload is not a reader or valid buffer
             * @throws {$protobuf.util.ProtocolError} If required fields are missing
             */
            public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.Duration;

            /**
             * Decodes a Duration message from the specified reader or buffer, length delimited.
             * @param reader Reader or buffer to decode from
             * @returns Duration
             * @throws {Error} If the payload is not a reader or valid buffer
             * @throws {$protobuf.util.ProtocolError} If required fields are missing
             */
            public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.Duration;

            /**
             * Verifies a Duration message.
             * @param message Plain object to verify
             * @returns `null` if valid, otherwise the reason why it is not
             */
            public static verify(message: { [k: string]: any }): (string|null);

            /**
             * Creates a Duration message from a plain object. Also converts values to their respective internal types.
             * @param object Plain object
             * @returns Duration
             */
            public static fromObject(object: { [k: string]: any }): google.protobuf.Duration;

            /**
             * Creates a plain object from a Duration message. Also converts values to other types if specified.
             * @param message Duration
             * @param [options] Conversion options
             * @returns Plain object
             */
            public static toObject(message: google.protobuf.Duration, options?: $protobuf.IConversionOptions): { [k: string]: any };

            /**
             * Converts this Duration to JSON.
             * @returns JSON object
             */
            public toJSON(): { [k: string]: any };

            /**
             * Gets the default type url for Duration
             * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
             * @returns The default type url
             */
            public static getTypeUrl(typeUrlPrefix?: string): string;
        }

        /** Properties of a Timestamp. */
        interface ITimestamp {

            /** Timestamp seconds */
            seconds?: (number|Long|string|null);

            /** Timestamp nanos */
            nanos?: (number|null);
        }

        /** Represents a Timestamp. */
        class Timestamp implements ITimestamp {

            /**
             * Constructs a new Timestamp.
             * @param [properties] Properties to set
             */
            constructor(properties?: google.protobuf.ITimestamp);

            /** Timestamp seconds. */
            public seconds: (number|Long|string);

            /** Timestamp nanos. */
            public nanos: number;

            /**
             * Creates a new Timestamp instance using the specified properties.
             * @param [properties] Properties to set
             * @returns Timestamp instance
             */
            public static create(properties?: google.protobuf.ITimestamp): google.protobuf.Timestamp;

            /**
             * Encodes the specified Timestamp message. Does not implicitly {@link google.protobuf.Timestamp.verify|verify} messages.
             * @param message Timestamp message or plain object to encode
             * @param [writer] Writer to encode to
             * @returns Writer
             */
            public static encode(message: google.protobuf.ITimestamp, writer?: $protobuf.Writer): $protobuf.Writer;

            /**
             * Encodes the specified Timestamp message, length delimited. Does not implicitly {@link google.protobuf.Timestamp.verify|verify} messages.
             * @param message Timestamp message or plain object to encode
             * @param [writer] Writer to encode to
             * @returns Writer
             */
            public static encodeDelimited(message: google.protobuf.ITimestamp, writer?: $protobuf.Writer): $protobuf.Writer;

            /**
             * Decodes a Timestamp message from the specified reader or buffer.
             * @param reader Reader or buffer to decode from
             * @param [length] Message length if known beforehand
             * @returns Timestamp
             * @throws {Error} If the payload is not a reader or valid buffer
             * @throws {$protobuf.util.ProtocolError} If required fields are missing
             */
            public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.Timestamp;

            /**
             * Decodes a Timestamp message from the specified reader or buffer, length delimited.
             * @param reader Reader or buffer to decode from
             * @returns Timestamp
             * @throws {Error} If the payload is not a reader or valid buffer
             * @throws {$protobuf.util.ProtocolError} If required fields are missing
             */
            public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.Timestamp;

            /**
             * Verifies a Timestamp message.
             * @param message Plain object to verify
             * @returns `null` if valid, otherwise the reason why it is not
             */
            public static verify(message: { [k: string]: any }): (string|null);

            /**
             * Creates a Timestamp message from a plain object. Also converts values to their respective internal types.
             * @param object Plain object
             * @returns Timestamp
             */
            public static fromObject(object: { [k: string]: any }): google.protobuf.Timestamp;

            /**
             * Creates a plain object from a Timestamp message. Also converts values to other types if specified.
             * @param message Timestamp
             * @param [options] Conversion options
             * @returns Plain object
             */
            public static toObject(message: google.protobuf.Timestamp, options?: $protobuf.IConversionOptions): { [k: string]: any };

            /**
             * Converts this Timestamp to JSON.
             * @returns JSON object
             */
            public toJSON(): { [k: string]: any };

            /**
             * Gets the default type url for Timestamp
             * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
             * @returns The default type url
             */
            public static getTypeUrl(typeUrlPrefix?: string): string;
        }

        /** Properties of an Empty. */
        interface IEmpty {
        }

        /** Represents an Empty. */
        class Empty implements IEmpty {

            /**
             * Constructs a new Empty.
             * @param [properties] Properties to set
             */
            constructor(properties?: google.protobuf.IEmpty);

            /**
             * Creates a new Empty instance using the specified properties.
             * @param [properties] Properties to set
             * @returns Empty instance
             */
            public static create(properties?: google.protobuf.IEmpty): google.protobuf.Empty;

            /**
             * Encodes the specified Empty message. Does not implicitly {@link google.protobuf.Empty.verify|verify} messages.
             * @param message Empty message or plain object to encode
             * @param [writer] Writer to encode to
             * @returns Writer
             */
            public static encode(message: google.protobuf.IEmpty, writer?: $protobuf.Writer): $protobuf.Writer;

            /**
             * Encodes the specified Empty message, length delimited. Does not implicitly {@link google.protobuf.Empty.verify|verify} messages.
             * @param message Empty message or plain object to encode
             * @param [writer] Writer to encode to
             * @returns Writer
             */
            public static encodeDelimited(message: google.protobuf.IEmpty, writer?: $protobuf.Writer): $protobuf.Writer;

            /**
             * Decodes an Empty message from the specified reader or buffer.
             * @param reader Reader or buffer to decode from
             * @param [length] Message length if known beforehand
             * @returns Empty
             * @throws {Error} If the payload is not a reader or valid buffer
             * @throws {$protobuf.util.ProtocolError} If required fields are missing
             */
            public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.Empty;

            /**
             * Decodes an Empty message from the specified reader or buffer, length delimited.
             * @param reader Reader or buffer to decode from
             * @returns Empty
             * @throws {Error} If the payload is not a reader or valid buffer
             * @throws {$protobuf.util.ProtocolError} If required fields are missing
             */
            public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.Empty;

            /**
             * Verifies an Empty message.
             * @param message Plain object to verify
             * @returns `null` if valid, otherwise the reason why it is not
             */
            public static verify(message: { [k: string]: any }): (string|null);

            /**
             * Creates an Empty message from a plain object. Also converts values to their respective internal types.
             * @param object Plain object
             * @returns Empty
             */
            public static fromObject(object: { [k: string]: any }): google.protobuf.Empty;

            /**
             * Creates a plain object from an Empty message. Also converts values to other types if specified.
             * @param message Empty
             * @param [options] Conversion options
             * @returns Plain object
             */
            public static toObject(message: google.protobuf.Empty, options?: $protobuf.IConversionOptions): { [k: string]: any };

            /**
             * Converts this Empty to JSON.
             * @returns JSON object
             */
            public toJSON(): { [k: string]: any };

            /**
             * Gets the default type url for Empty
             * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
             * @returns The default type url
             */
            public static getTypeUrl(typeUrlPrefix?: string): string;
        }

        /** Properties of a FieldMask. */
        interface IFieldMask {

            /** FieldMask paths */
            paths?: (string[]|null);
        }

        /** Represents a FieldMask. */
        class FieldMask implements IFieldMask {

            /**
             * Constructs a new FieldMask.
             * @param [properties] Properties to set
             */
            constructor(properties?: google.protobuf.IFieldMask);

            /** FieldMask paths. */
            public paths: string[];

            /**
             * Creates a new FieldMask instance using the specified properties.
             * @param [properties] Properties to set
             * @returns FieldMask instance
             */
            public static create(properties?: google.protobuf.IFieldMask): google.protobuf.FieldMask;

            /**
             * Encodes the specified FieldMask message. Does not implicitly {@link google.protobuf.FieldMask.verify|verify} messages.
             * @param message FieldMask message or plain object to encode
             * @param [writer] Writer to encode to
             * @returns Writer
             */
            public static encode(message: google.protobuf.IFieldMask, writer?: $protobuf.Writer): $protobuf.Writer;

            /**
             * Encodes the specified FieldMask message, length delimited. Does not implicitly {@link google.protobuf.FieldMask.verify|verify} messages.
             * @param message FieldMask message or plain object to encode
             * @param [writer] Writer to encode to
             * @returns Writer
             */
            public static encodeDelimited(message: google.protobuf.IFieldMask, writer?: $protobuf.Writer): $protobuf.Writer;

            /**
             * Decodes a FieldMask message from the specified reader or buffer.
             * @param reader Reader or buffer to decode from
             * @param [length] Message length if known beforehand
             * @returns FieldMask
             * @throws {Error} If the payload is not a reader or valid buffer
             * @throws {$protobuf.util.ProtocolError} If required fields are missing
             */
            public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.FieldMask;

            /**
             * Decodes a FieldMask message from the specified reader or buffer, length delimited.
             * @param reader Reader or buffer to decode from
             * @returns FieldMask
             * @throws {Error} If the payload is not a reader or valid buffer
             * @throws {$protobuf.util.ProtocolError} If required fields are missing
             */
            public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.FieldMask;

            /**
             * Verifies a FieldMask message.
             * @param message Plain object to verify
             * @returns `null` if valid, otherwise the reason why it is not
             */
            public static verify(message: { [k: string]: any }): (string|null);

            /**
             * Creates a FieldMask message from a plain object. Also converts values to their respective internal types.
             * @param object Plain object
             * @returns FieldMask
             */
            public static fromObject(object: { [k: string]: any }): google.protobuf.FieldMask;

            /**
             * Creates a plain object from a FieldMask message. Also converts values to other types if specified.
             * @param message FieldMask
             * @param [options] Conversion options
             * @returns Plain object
             */
            public static toObject(message: google.protobuf.FieldMask, options?: $protobuf.IConversionOptions): { [k: string]: any };

            /**
             * Converts this FieldMask to JSON.
             * @returns JSON object
             */
            public toJSON(): { [k: string]: any };

            /**
             * Gets the default type url for FieldMask
             * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
             * @returns The default type url
             */
            public static getTypeUrl(typeUrlPrefix?: string): string;
        }

        /** Properties of an Any. */
        interface IAny {

            /** Any type_url */
            type_url?: (string|null);

            /** Any value */
            value?: (Uint8Array|Buffer|string|null);
        }

        /** Represents an Any. */
        class Any implements IAny {

            /**
             * Constructs a new Any.
             * @param [properties] Properties to set
             */
            constructor(properties?: google.protobuf.IAny);

            /** Any type_url. */
            public type_url: string;

            /** Any value. */
            public value: (Uint8Array|Buffer|string);

            /**
             * Creates a new Any instance using the specified properties.
             * @param [properties] Properties to set
             * @returns Any instance
             */
            public static create(properties?: google.protobuf.IAny): google.protobuf.Any;

            /**
             * Encodes the specified Any message. Does not implicitly {@link google.protobuf.Any.verify|verify} messages.
             * @param message Any message or plain object to encode
             * @param [writer] Writer to encode to
             * @returns Writer
             */
            public static encode(message: google.protobuf.IAny, writer?: $protobuf.Writer): $protobuf.Writer;

            /**
             * Encodes the specified Any message, length delimited. Does not implicitly {@link google.protobuf.Any.verify|verify} messages.
             * @param message Any message or plain object to encode
             * @param [writer] Writer to encode to
             * @returns Writer
             */
            public static encodeDelimited(message: google.protobuf.IAny, writer?: $protobuf.Writer): $protobuf.Writer;

            /**
             * Decodes an Any message from the specified reader or buffer.
             * @param reader Reader or buffer to decode from
             * @param [length] Message length if known beforehand
             * @returns Any
             * @throws {Error} If the payload is not a reader or valid buffer
             * @throws {$protobuf.util.ProtocolError} If required fields are missing
             */
            public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.Any;

            /**
             * Decodes an Any message from the specified reader or buffer, length delimited.
             * @param reader Reader or buffer to decode from
             * @returns Any
             * @throws {Error} If the payload is not a reader or valid buffer
             * @throws {$protobuf.util.ProtocolError} If required fields are missing
             */
            public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.Any;

            /**
             * Verifies an Any message.
             * @param message Plain object to verify
             * @returns `null` if valid, otherwise the reason why it is not
             */
            public static verify(message: { [k: string]: any }): (string|null);

            /**
             * Creates an Any message from a plain object. Also converts values to their respective internal types.
             * @param object Plain object
             * @returns Any
             */
            public static fromObject(object: { [k: string]: any }): google.protobuf.Any;

            /**
             * Creates a plain object from an Any message. Also converts values to other types if specified.
             * @param message Any
             * @param [options] Conversion options
             * @returns Plain object
             */
            public static toObject(message: google.protobuf.Any, options?: $protobuf.IConversionOptions): { [k: string]: any };

            /**
             * Converts this Any to JSON.
             * @returns JSON object
             */
            public toJSON(): { [k: string]: any };

            /**
             * Gets the default type url for Any
             * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
             * @returns The default type url
             */
            public static getTypeUrl(typeUrlPrefix?: string): string;
        }
    }

    /** Namespace longrunning. */
    namespace longrunning {

        /** Represents an Operations */
        class Operations extends $protobuf.rpc.Service {

            /**
             * Constructs a new Operations service.
             * @param rpcImpl RPC implementation
             * @param [requestDelimited=false] Whether requests are length-delimited
             * @param [responseDelimited=false] Whether responses are length-delimited
             */
            constructor(rpcImpl: $protobuf.RPCImpl, requestDelimited?: boolean, responseDelimited?: boolean);

            /**
             * Creates new Operations service using the specified rpc implementation.
             * @param rpcImpl RPC implementation
             * @param [requestDelimited=false] Whether requests are length-delimited
             * @param [responseDelimited=false] Whether responses are length-delimited
             * @returns RPC service. Useful where requests and/or responses are streamed.
             */
            public static create(rpcImpl: $protobuf.RPCImpl, requestDelimited?: boolean, responseDelimited?: boolean): Operations;

            /**
             * Calls ListOperations.
             * @param request ListOperationsRequest message or plain object
             * @param callback Node-style callback called with the error, if any, and ListOperationsResponse
             */
            public listOperations(request: google.longrunning.IListOperationsRequest, callback: google.longrunning.Operations.ListOperationsCallback): void;

            /**
             * Calls ListOperations.
             * @param request ListOperationsRequest message or plain object
             * @returns Promise
             */
            public listOperations(request: google.longrunning.IListOperationsRequest): Promise<google.longrunning.ListOperationsResponse>;

            /**
             * Calls GetOperation.
             * @param request GetOperationRequest message or plain object
             * @param callback Node-style callback called with the error, if any, and Operation
             */
            public getOperation(request: google.longrunning.IGetOperationRequest, callback: google.longrunning.Operations.GetOperationCallback): void;

            /**
             * Calls GetOperation.
             * @param request GetOperationRequest message or plain object
             * @returns Promise
             */
            public getOperation(request: google.longrunning.IGetOperationRequest): Promise<google.longrunning.Operation>;

            /**
             * Calls DeleteOperation.
             * @param request DeleteOperationRequest message or plain object
             * @param callback Node-style callback called with the error, if any, and Empty
             */
            public deleteOperation(request: google.longrunning.IDeleteOperationRequest, callback: google.longrunning.Operations.DeleteOperationCallback): void;

            /**
             * Calls DeleteOperation.
             * @param request DeleteOperationRequest message or plain object
             * @returns Promise
             */
            public deleteOperation(request: google.longrunning.IDeleteOperationRequest): Promise<google.protobuf.Empty>;

            /**
             * Calls CancelOperation.
             * @param request CancelOperationRequest message or plain object
             * @param callback Node-style callback called with the error, if any, and Empty
             */
            public cancelOperation(request: google.longrunning.ICancelOperationRequest, callback: google.longrunning.Operations.CancelOperationCallback): void;

            /**
             * Calls CancelOperation.
             * @param request CancelOperationRequest message or plain object
             * @returns Promise
             */
            public cancelOperation(request: google.longrunning.ICancelOperationRequest): Promise<google.protobuf.Empty>;

            /**
             * Calls WaitOperation.
             * @param request WaitOperationRequest message or plain object
             * @param callback Node-style callback called with the error, if any, and Operation
             */
            public waitOperation(request: google.longrunning.IWaitOperationRequest, callback: google.longrunning.Operations.WaitOperationCallback): void;

            /**
             * Calls WaitOperation.
             * @param request WaitOperationRequest message or plain object
             * @returns Promise
             */
            public waitOperation(request: google.longrunning.IWaitOperationRequest): Promise<google.longrunning.Operation>;
        }

        namespace Operations {

            /**
             * Callback as used by {@link google.longrunning.Operations|listOperations}.
             * @param error Error, if any
             * @param [response] ListOperationsResponse
             */
            type ListOperationsCallback = (error: (Error|null), response?: google.longrunning.ListOperationsResponse) => void;

            /**
             * Callback as used by {@link google.longrunning.Operations|getOperation}.
             * @param error Error, if any
             * @param [response] Operation
             */
            type GetOperationCallback = (error: (Error|null), response?: google.longrunning.Operation) => void;

            /**
             * Callback as used by {@link google.longrunning.Operations|deleteOperation}.
             * @param error Error, if any
             * @param [response] Empty
             */
            type DeleteOperationCallback = (error: (Error|null), response?: google.protobuf.Empty) => void;

            /**
             * Callback as used by {@link google.longrunning.Operations|cancelOperation}.
             * @param error Error, if any
             * @param [response] Empty
             */
            type CancelOperationCallback = (error: (Error|null), response?: google.protobuf.Empty) => void;

            /**
             * Callback as used by {@link google.longrunning.Operations|waitOperation}.
             * @param error Error, if any
             * @param [response] Operation
             */
            type WaitOperationCallback = (error: (Error|null), response?: google.longrunning.Operation) => void;
        }

        /** Properties of an Operation. */
        interface IOperation {

            /** Operation name */
            name?: (string|null);

            /** Operation metadata */
            metadata?: (google.protobuf.IAny|null);

            /** Operation done */
            done?: (boolean|null);

            /** Operation error */
            error?: (google.rpc.IStatus|null);

            /** Operation response */
            response?: (google.protobuf.IAny|null);
        }

        /** Represents an Operation. */
        class Operation implements IOperation {

            /**
             * Constructs a new Operation.
             * @param [properties] Properties to set
             */
            constructor(properties?: google.longrunning.IOperation);

            /** Operation name. */
            public name: string;

            /** Operation metadata. */
            public metadata?: (google.protobuf.IAny|null);

            /** Operation done. */
            public done: boolean;

            /** Operation error. */
            public error?: (google.rpc.IStatus|null);

            /** Operation response. */
            public response?: (google.protobuf.IAny|null);

            /** Operation result. */
            public result?: ("error"|"response");

            /**
             * Creates a new Operation instance using the specified properties.
             * @param [properties] Properties to set
             * @returns Operation instance
             */
            public static create(properties?: google.longrunning.IOperation): google.longrunning.Operation;

            /**
             * Encodes the specified Operation message. Does not implicitly {@link google.longrunning.Operation.verify|verify} messages.
             * @param message Operation message or plain object to encode
             * @param [writer] Writer to encode to
             * @returns Writer
             */
            public static encode(message: google.longrunning.IOperation, writer?: $protobuf.Writer): $protobuf.Writer;

            /**
             * Encodes the specified Operation message, length delimited. Does not implicitly {@link google.longrunning.Operation.verify|verify} messages.
             * @param message Operation message or plain object to encode
             * @param [writer] Writer to encode to
             * @returns Writer
             */
            public static encodeDelimited(message: google.longrunning.IOperation, writer?: $protobuf.Writer): $protobuf.Writer;

            /**
             * Decodes an Operation message from the specified reader or buffer.
             * @param reader Reader or buffer to decode from
             * @param [length] Message length if known beforehand
             * @returns Operation
             * @throws {Error} If the payload is not a reader or valid buffer
             * @throws {$protobuf.util.ProtocolError} If required fields are missing
             */
            public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.longrunning.Operation;

            /**
             * Decodes an Operation message from the specified reader or buffer, length delimited.
             * @param reader Reader or buffer to decode from
             * @returns Operation
             * @throws {Error} If the payload is not a reader or valid buffer
             * @throws {$protobuf.util.ProtocolError} If required fields are missing
             */
            public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.longrunning.Operation;

            /**
             * Verifies an Operation message.
             * @param message Plain object to verify
             * @returns `null` if valid, otherwise the reason why it is not
             */
            public static verify(message: { [k: string]: any }): (string|null);

            /**
             * Creates an Operation message from a plain object. Also converts values to their respective internal types.
             * @param object Plain object
             * @returns Operation
             */
            public static fromObject(object: { [k: string]: any }): google.longrunning.Operation;

            /**
             * Creates a plain object from an Operation message. Also converts values to other types if specified.
             * @param message Operation
             * @param [options] Conversion options
             * @returns Plain object
             */
            public static toObject(message: google.longrunning.Operation, options?: $protobuf.IConversionOptions): { [k: string]: any };

            /**
             * Converts this Operation to JSON.
             * @returns JSON object
             */
            public toJSON(): { [k: string]: any };

            /**
             * Gets the default type url for Operation
             * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
             * @returns The default type url
             */
            public static getTypeUrl(typeUrlPrefix?: string): string;
        }

        /** Properties of a GetOperationRequest. */
        interface IGetOperationRequest {

            /** GetOperationRequest name */
            name?: (string|null);
        }

        /** Represents a GetOperationRequest. */
        class GetOperationRequest implements IGetOperationRequest {

            /**
             * Constructs a new GetOperationRequest.
             * @param [properties] Properties to set
             */
            constructor(properties?: google.longrunning.IGetOperationRequest);

            /** GetOperationRequest name. */
            public name: string;

            /**
             * Creates a new GetOperationRequest instance using the specified properties.
             * @param [properties] Properties to set
             * @returns GetOperationRequest instance
             */
            public static create(properties?: google.longrunning.IGetOperationRequest): google.longrunning.GetOperationRequest;

            /**
             * Encodes the specified GetOperationRequest message. Does not implicitly {@link google.longrunning.GetOperationRequest.verify|verify} messages.
             * @param message GetOperationRequest message or plain object to encode
             * @param [writer] Writer to encode to
             * @returns Writer
             */
            public static encode(message: google.longrunning.IGetOperationRequest, writer?: $protobuf.Writer): $protobuf.Writer;

            /**
             * Encodes the specified GetOperationRequest message, length delimited. Does not implicitly {@link google.longrunning.GetOperationRequest.verify|verify} messages.
             * @param message GetOperationRequest message or plain object to encode
             * @param [writer] Writer to encode to
             * @returns Writer
             */
            public static encodeDelimited(message: google.longrunning.IGetOperationRequest, writer?: $protobuf.Writer): $protobuf.Writer;

            /**
             * Decodes a GetOperationRequest message from the specified reader or buffer.
             * @param reader Reader or buffer to decode from
             * @param [length] Message length if known beforehand
             * @returns GetOperationRequest
             * @throws {Error} If the payload is not a reader or valid buffer
             * @throws {$protobuf.util.ProtocolError} If required fields are missing
             */
            public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.longrunning.GetOperationRequest;

            /**
             * Decodes a GetOperationRequest message from the specified reader or buffer, length delimited.
             * @param reader Reader or buffer to decode from
             * @returns GetOperationRequest
             * @throws {Error} If the payload is not a reader or valid buffer
             * @throws {$protobuf.util.ProtocolError} If required fields are missing
             */
            public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.longrunning.GetOperationRequest;

            /**
             * Verifies a GetOperationRequest message.
             * @param message Plain object to verify
             * @returns `null` if valid, otherwise the reason why it is not
             */
            public static verify(message: { [k: string]: any }): (string|null);

            /**
             * Creates a GetOperationRequest message from a plain object. Also converts values to their respective internal types.
             * @param object Plain object
             * @returns GetOperationRequest
             */
            public static fromObject(object: { [k: string]: any }): google.longrunning.GetOperationRequest;

            /**
             * Creates a plain object from a GetOperationRequest message. Also converts values to other types if specified.
             * @param message GetOperationRequest
             * @param [options] Conversion options
             * @returns Plain object
             */
            public static toObject(message: google.longrunning.GetOperationRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

            /**
             * Converts this GetOperationRequest to JSON.
             * @returns JSON object
             */
            public toJSON(): { [k: string]: any };

            /**
             * Gets the default type url for GetOperationRequest
             * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
             * @returns The default type url
             */
            public static getTypeUrl(typeUrlPrefix?: string): string;
        }

        /** Properties of a ListOperationsRequest. */
        interface IListOperationsRequest {

            /** ListOperationsRequest name */
            name?: (string|null);

            /** ListOperationsRequest filter */
            filter?: (string|null);

            /** ListOperationsRequest pageSize */
            pageSize?: (number|null);

            /** ListOperationsRequest pageToken */
            pageToken?: (string|null);
        }

        /** Represents a ListOperationsRequest. */
        class ListOperationsRequest implements IListOperationsRequest {

            /**
             * Constructs a new ListOperationsRequest.
             * @param [properties] Properties to set
             */
            constructor(properties?: google.longrunning.IListOperationsRequest);

            /** ListOperationsRequest name. */
            public name: string;

            /** ListOperationsRequest filter. */
            public filter: string;

            /** ListOperationsRequest pageSize. */
            public pageSize: number;

            /** ListOperationsRequest pageToken. */
            public pageToken: string;

            /**
             * Creates a new ListOperationsRequest instance using the specified properties.
             * @param [properties] Properties to set
             * @returns ListOperationsRequest instance
             */
            public static create(properties?: google.longrunning.IListOperationsRequest): google.longrunning.ListOperationsRequest;

            /**
             * Encodes the specified ListOperationsRequest message. Does not implicitly {@link google.longrunning.ListOperationsRequest.verify|verify} messages.
             * @param message ListOperationsRequest message or plain object to encode
             * @param [writer] Writer to encode to
             * @returns Writer
             */
            public static encode(message: google.longrunning.IListOperationsRequest, writer?: $protobuf.Writer): $protobuf.Writer;

            /**
             * Encodes the specified ListOperationsRequest message, length delimited. Does not implicitly {@link google.longrunning.ListOperationsRequest.verify|verify} messages.
             * @param message ListOperationsRequest message or plain object to encode
             * @param [writer] Writer to encode to
             * @returns Writer
             */
            public static encodeDelimited(message: google.longrunning.IListOperationsRequest, writer?: $protobuf.Writer): $protobuf.Writer;

            /**
             * Decodes a ListOperationsRequest message from the specified reader or buffer.
             * @param reader Reader or buffer to decode from
             * @param [length] Message length if known beforehand
             * @returns ListOperationsRequest
             * @throws {Error} If the payload is not a reader or valid buffer
             * @throws {$protobuf.util.ProtocolError} If required fields are missing
             */
            public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.longrunning.ListOperationsRequest;

            /**
             * Decodes a ListOperationsRequest message from the specified reader or buffer, length delimited.
             * @param reader Reader or buffer to decode from
             * @returns ListOperationsRequest
             * @throws {Error} If the payload is not a reader or valid buffer
             * @throws {$protobuf.util.ProtocolError} If required fields are missing
             */
            public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.longrunning.ListOperationsRequest;

            /**
             * Verifies a ListOperationsRequest message.
             * @param message Plain object to verify
             * @returns `null` if valid, otherwise the reason why it is not
             */
            public static verify(message: { [k: string]: any }): (string|null);

            /**
             * Creates a ListOperationsRequest message from a plain object. Also converts values to their respective internal types.
             * @param object Plain object
             * @returns ListOperationsRequest
             */
            public static fromObject(object: { [k: string]: any }): google.longrunning.ListOperationsRequest;

            /**
             * Creates a plain object from a ListOperationsRequest message. Also converts values to other types if specified.
             * @param message ListOperationsRequest
             * @param [options] Conversion options
             * @returns Plain object
             */
            public static toObject(message: google.longrunning.ListOperationsRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

            /**
             * Converts this ListOperationsRequest to JSON.
             * @returns JSON object
             */
            public toJSON(): { [k: string]: any };

            /**
             * Gets the default type url for ListOperationsRequest
             * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
             * @returns The default type url
             */
            public static getTypeUrl(typeUrlPrefix?: string): string;
        }

        /** Properties of a ListOperationsResponse. */
        interface IListOperationsResponse {

            /** ListOperationsResponse operations */
            operations?: (google.longrunning.IOperation[]|null);

            /** ListOperationsResponse nextPageToken */
            nextPageToken?: (string|null);
        }

        /** Represents a ListOperationsResponse. */
        class ListOperationsResponse implements IListOperationsResponse {

            /**
             * Constructs a new ListOperationsResponse.
             * @param [properties] Properties to set
             */
            constructor(properties?: google.longrunning.IListOperationsResponse);

            /** ListOperationsResponse operations. */
            public operations: google.longrunning.IOperation[];

            /** ListOperationsResponse nextPageToken. */
            public nextPageToken: string;

            /**
             * Creates a new ListOperationsResponse instance using the specified properties.
             * @param [properties] Properties to set
             * @returns ListOperationsResponse instance
             */
            public static create(properties?: google.longrunning.IListOperationsResponse): google.longrunning.ListOperationsResponse;

            /**
             * Encodes the specified ListOperationsResponse message. Does not implicitly {@link google.longrunning.ListOperationsResponse.verify|verify} messages.
             * @param message ListOperationsResponse message or plain object to encode
             * @param [writer] Writer to encode to
             * @returns Writer
             */
            public static encode(message: google.longrunning.IListOperationsResponse, writer?: $protobuf.Writer): $protobuf.Writer;

            /**
             * Encodes the specified ListOperationsResponse message, length delimited. Does not implicitly {@link google.longrunning.ListOperationsResponse.verify|verify} messages.
             * @param message ListOperationsResponse message or plain object to encode
             * @param [writer] Writer to encode to
             * @returns Writer
             */
            public static encodeDelimited(message: google.longrunning.IListOperationsResponse, writer?: $protobuf.Writer): $protobuf.Writer;

            /**
             * Decodes a ListOperationsResponse message from the specified reader or buffer.
             * @param reader Reader or buffer to decode from
             * @param [length] Message length if known beforehand
             * @returns ListOperationsResponse
             * @throws {Error} If the payload is not a reader or valid buffer
             * @throws {$protobuf.util.ProtocolError} If required fields are missing
             */
            public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.longrunning.ListOperationsResponse;

            /**
             * Decodes a ListOperationsResponse message from the specified reader or buffer, length delimited.
             * @param reader Reader or buffer to decode from
             * @returns ListOperationsResponse
             * @throws {Error} If the payload is not a reader or valid buffer
             * @throws {$protobuf.util.ProtocolError} If required fields are missing
             */
            public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.longrunning.ListOperationsResponse;

            /**
             * Verifies a ListOperationsResponse message.
             * @param message Plain object to verify
             * @returns `null` if valid, otherwise the reason why it is not
             */
            public static verify(message: { [k: string]: any }): (string|null);

            /**
             * Creates a ListOperationsResponse message from a plain object. Also converts values to their respective internal types.
             * @param object Plain object
             * @returns ListOperationsResponse
             */
            public static fromObject(object: { [k: string]: any }): google.longrunning.ListOperationsResponse;

            /**
             * Creates a plain object from a ListOperationsResponse message. Also converts values to other types if specified.
             * @param message ListOperationsResponse
             * @param [options] Conversion options
             * @returns Plain object
             */
            public static toObject(message: google.longrunning.ListOperationsResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };

            /**
             * Converts this ListOperationsResponse to JSON.
             * @returns JSON object
             */
            public toJSON(): { [k: string]: any };

            /**
             * Gets the default type url for ListOperationsResponse
             * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
             * @returns The default type url
             */
            public static getTypeUrl(typeUrlPrefix?: string): string;
        }

        /** Properties of a CancelOperationRequest. */
        interface ICancelOperationRequest {

            /** CancelOperationRequest name */
            name?: (string|null);
        }

        /** Represents a CancelOperationRequest. */
        class CancelOperationRequest implements ICancelOperationRequest {

            /**
             * Constructs a new CancelOperationRequest.
             * @param [properties] Properties to set
             */
            constructor(properties?: google.longrunning.ICancelOperationRequest);

            /** CancelOperationRequest name. */
            public name: string;

            /**
             * Creates a new CancelOperationRequest instance using the specified properties.
             * @param [properties] Properties to set
             * @returns CancelOperationRequest instance
             */
            public static create(properties?: google.longrunning.ICancelOperationRequest): google.longrunning.CancelOperationRequest;

            /**
             * Encodes the specified CancelOperationRequest message. Does not implicitly {@link google.longrunning.CancelOperationRequest.verify|verify} messages.
             * @param message CancelOperationRequest message or plain object to encode
             * @param [writer] Writer to encode to
             * @returns Writer
             */
            public static encode(message: google.longrunning.ICancelOperationRequest, writer?: $protobuf.Writer): $protobuf.Writer;

            /**
             * Encodes the specified CancelOperationRequest message, length delimited. Does not implicitly {@link google.longrunning.CancelOperationRequest.verify|verify} messages.
             * @param message CancelOperationRequest message or plain object to encode
             * @param [writer] Writer to encode to
             * @returns Writer
             */
            public static encodeDelimited(message: google.longrunning.ICancelOperationRequest, writer?: $protobuf.Writer): $protobuf.Writer;

            /**
             * Decodes a CancelOperationRequest message from the specified reader or buffer.
             * @param reader Reader or buffer to decode from
             * @param [length] Message length if known beforehand
             * @returns CancelOperationRequest
             * @throws {Error} If the payload is not a reader or valid buffer
             * @throws {$protobuf.util.ProtocolError} If required fields are missing
             */
            public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.longrunning.CancelOperationRequest;

            /**
             * Decodes a CancelOperationRequest message from the specified reader or buffer, length delimited.
             * @param reader Reader or buffer to decode from
             * @returns CancelOperationRequest
             * @throws {Error} If the payload is not a reader or valid buffer
             * @throws {$protobuf.util.ProtocolError} If required fields are missing
             */
            public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.longrunning.CancelOperationRequest;

            /**
             * Verifies a CancelOperationRequest message.
             * @param message Plain object to verify
             * @returns `null` if valid, otherwise the reason why it is not
             */
            public static verify(message: { [k: string]: any }): (string|null);

            /**
             * Creates a CancelOperationRequest message from a plain object. Also converts values to their respective internal types.
             * @param object Plain object
             * @returns CancelOperationRequest
             */
            public static fromObject(object: { [k: string]: any }): google.longrunning.CancelOperationRequest;

            /**
             * Creates a plain object from a CancelOperationRequest message. Also converts values to other types if specified.
             * @param message CancelOperationRequest
             * @param [options] Conversion options
             * @returns Plain object
             */
            public static toObject(message: google.longrunning.CancelOperationRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

            /**
             * Converts this CancelOperationRequest to JSON.
             * @returns JSON object
             */
            public toJSON(): { [k: string]: any };

            /**
             * Gets the default type url for CancelOperationRequest
             * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
             * @returns The default type url
             */
            public static getTypeUrl(typeUrlPrefix?: string): string;
        }

        /** Properties of a DeleteOperationRequest. */
        interface IDeleteOperationRequest {

            /** DeleteOperationRequest name */
            name?: (string|null);
        }

        /** Represents a DeleteOperationRequest. */
        class DeleteOperationRequest implements IDeleteOperationRequest {

            /**
             * Constructs a new DeleteOperationRequest.
             * @param [properties] Properties to set
             */
            constructor(properties?: google.longrunning.IDeleteOperationRequest);

            /** DeleteOperationRequest name. */
            public name: string;

            /**
             * Creates a new DeleteOperationRequest instance using the specified properties.
             * @param [properties] Properties to set
             * @returns DeleteOperationRequest instance
             */
            public static create(properties?: google.longrunning.IDeleteOperationRequest): google.longrunning.DeleteOperationRequest;

            /**
             * Encodes the specified DeleteOperationRequest message. Does not implicitly {@link google.longrunning.DeleteOperationRequest.verify|verify} messages.
             * @param message DeleteOperationRequest message or plain object to encode
             * @param [writer] Writer to encode to
             * @returns Writer
             */
            public static encode(message: google.longrunning.IDeleteOperationRequest, writer?: $protobuf.Writer): $protobuf.Writer;

            /**
             * Encodes the specified DeleteOperationRequest message, length delimited. Does not implicitly {@link google.longrunning.DeleteOperationRequest.verify|verify} messages.
             * @param message DeleteOperationRequest message or plain object to encode
             * @param [writer] Writer to encode to
             * @returns Writer
             */
            public static encodeDelimited(message: google.longrunning.IDeleteOperationRequest, writer?: $protobuf.Writer): $protobuf.Writer;

            /**
             * Decodes a DeleteOperationRequest message from the specified reader or buffer.
             * @param reader Reader or buffer to decode from
             * @param [length] Message length if known beforehand
             * @returns DeleteOperationRequest
             * @throws {Error} If the payload is not a reader or valid buffer
             * @throws {$protobuf.util.ProtocolError} If required fields are missing
             */
            public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.longrunning.DeleteOperationRequest;

            /**
             * Decodes a DeleteOperationRequest message from the specified reader or buffer, length delimited.
             * @param reader Reader or buffer to decode from
             * @returns DeleteOperationRequest
             * @throws {Error} If the payload is not a reader or valid buffer
             * @throws {$protobuf.util.ProtocolError} If required fields are missing
             */
            public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.longrunning.DeleteOperationRequest;

            /**
             * Verifies a DeleteOperationRequest message.
             * @param message Plain object to verify
             * @returns `null` if valid, otherwise the reason why it is not
             */
            public static verify(message: { [k: string]: any }): (string|null);

            /**
             * Creates a DeleteOperationRequest message from a plain object. Also converts values to their respective internal types.
             * @param object Plain object
             * @returns DeleteOperationRequest
             */
            public static fromObject(object: { [k: string]: any }): google.longrunning.DeleteOperationRequest;

            /**
             * Creates a plain object from a DeleteOperationRequest message. Also converts values to other types if specified.
             * @param message DeleteOperationRequest
             * @param [options] Conversion options
             * @returns Plain object
             */
            public static toObject(message: google.longrunning.DeleteOperationRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

            /**
             * Converts this DeleteOperationRequest to JSON.
             * @returns JSON object
             */
            public toJSON(): { [k: string]: any };

            /**
             * Gets the default type url for DeleteOperationRequest
             * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
             * @returns The default type url
             */
            public static getTypeUrl(typeUrlPrefix?: string): string;
        }

        /** Properties of a WaitOperationRequest. */
        interface IWaitOperationRequest {

            /** WaitOperationRequest name */
            name?: (string|null);

            /** WaitOperationRequest timeout */
            timeout?: (google.protobuf.IDuration|null);
        }

        /** Represents a WaitOperationRequest. */
        class WaitOperationRequest implements IWaitOperationRequest {

            /**
             * Constructs a new WaitOperationRequest.
             * @param [properties] Properties to set
             */
            constructor(properties?: google.longrunning.IWaitOperationRequest);

            /** WaitOperationRequest name. */
            public name: string;

            /** WaitOperationRequest timeout. */
            public timeout?: (google.protobuf.IDuration|null);

            /**
             * Creates a new WaitOperationRequest instance using the specified properties.
             * @param [properties] Properties to set
             * @returns WaitOperationRequest instance
             */
            public static create(properties?: google.longrunning.IWaitOperationRequest): google.longrunning.WaitOperationRequest;

            /**
             * Encodes the specified WaitOperationRequest message. Does not implicitly {@link google.longrunning.WaitOperationRequest.verify|verify} messages.
             * @param message WaitOperationRequest message or plain object to encode
             * @param [writer] Writer to encode to
             * @returns Writer
             */
            public static encode(message: google.longrunning.IWaitOperationRequest, writer?: $protobuf.Writer): $protobuf.Writer;

            /**
             * Encodes the specified WaitOperationRequest message, length delimited. Does not implicitly {@link google.longrunning.WaitOperationRequest.verify|verify} messages.
             * @param message WaitOperationRequest message or plain object to encode
             * @param [writer] Writer to encode to
             * @returns Writer
             */
            public static encodeDelimited(message: google.longrunning.IWaitOperationRequest, writer?: $protobuf.Writer): $protobuf.Writer;

            /**
             * Decodes a WaitOperationRequest message from the specified reader or buffer.
             * @param reader Reader or buffer to decode from
             * @param [length] Message length if known beforehand
             * @returns WaitOperationRequest
             * @throws {Error} If the payload is not a reader or valid buffer
             * @throws {$protobuf.util.ProtocolError} If required fields are missing
             */
            public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.longrunning.WaitOperationRequest;

            /**
             * Decodes a WaitOperationRequest message from the specified reader or buffer, length delimited.
             * @param reader Reader or buffer to decode from
             * @returns WaitOperationRequest
             * @throws {Error} If the payload is not a reader or valid buffer
             * @throws {$protobuf.util.ProtocolError} If required fields are missing
             */
            public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.longrunning.WaitOperationRequest;

            /**
             * Verifies a WaitOperationRequest message.
             * @param message Plain object to verify
             * @returns `null` if valid, otherwise the reason why it is not
             */
            public static verify(message: { [k: string]: any }): (string|null);

            /**
             * Creates a WaitOperationRequest message from a plain object. Also converts values to their respective internal types.
             * @param object Plain object
             * @returns WaitOperationRequest
             */
            public static fromObject(object: { [k: string]: any }): google.longrunning.WaitOperationRequest;

            /**
             * Creates a plain object from a WaitOperationRequest message. Also converts values to other types if specified.
             * @param message WaitOperationRequest
             * @param [options] Conversion options
             * @returns Plain object
             */
            public static toObject(message: google.longrunning.WaitOperationRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

            /**
             * Converts this WaitOperationRequest to JSON.
             * @returns JSON object
             */
            public toJSON(): { [k: string]: any };

            /**
             * Gets the default type url for WaitOperationRequest
             * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
             * @returns The default type url
             */
            public static getTypeUrl(typeUrlPrefix?: string): string;
        }

        /** Properties of an OperationInfo. */
        interface IOperationInfo {

            /** OperationInfo responseType */
            responseType?: (string|null);

            /** OperationInfo metadataType */
            metadataType?: (string|null);
        }

        /** Represents an OperationInfo. */
        class OperationInfo implements IOperationInfo {

            /**
             * Constructs a new OperationInfo.
             * @param [properties] Properties to set
             */
            constructor(properties?: google.longrunning.IOperationInfo);

            /** OperationInfo responseType. */
            public responseType: string;

            /** OperationInfo metadataType. */
            public metadataType: string;

            /**
             * Creates a new OperationInfo instance using the specified properties.
             * @param [properties] Properties to set
             * @returns OperationInfo instance
             */
            public static create(properties?: google.longrunning.IOperationInfo): google.longrunning.OperationInfo;

            /**
             * Encodes the specified OperationInfo message. Does not implicitly {@link google.longrunning.OperationInfo.verify|verify} messages.
             * @param message OperationInfo message or plain object to encode
             * @param [writer] Writer to encode to
             * @returns Writer
             */
            public static encode(message: google.longrunning.IOperationInfo, writer?: $protobuf.Writer): $protobuf.Writer;

            /**
             * Encodes the specified OperationInfo message, length delimited. Does not implicitly {@link google.longrunning.OperationInfo.verify|verify} messages.
             * @param message OperationInfo message or plain object to encode
             * @param [writer] Writer to encode to
             * @returns Writer
             */
            public static encodeDelimited(message: google.longrunning.IOperationInfo, writer?: $protobuf.Writer): $protobuf.Writer;

            /**
             * Decodes an OperationInfo message from the specified reader or buffer.
             * @param reader Reader or buffer to decode from
             * @param [length] Message length if known beforehand
             * @returns OperationInfo
             * @throws {Error} If the payload is not a reader or valid buffer
             * @throws {$protobuf.util.ProtocolError} If required fields are missing
             */
            public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.longrunning.OperationInfo;

            /**
             * Decodes an OperationInfo message from the specified reader or buffer, length delimited.
             * @param reader Reader or buffer to decode from
             * @returns OperationInfo
             * @throws {Error} If the payload is not a reader or valid buffer
             * @throws {$protobuf.util.ProtocolError} If required fields are missing
             */
            public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.longrunning.OperationInfo;

            /**
             * Verifies an OperationInfo message.
             * @param message Plain object to verify
             * @returns `null` if valid, otherwise the reason why it is not
             */
            public static verify(message: { [k: string]: any }): (string|null);

            /**
             * Creates an OperationInfo message from a plain object. Also converts values to their respective internal types.
             * @param object Plain object
             * @returns OperationInfo
             */
            public static fromObject(object: { [k: string]: any }): google.longrunning.OperationInfo;

            /**
             * Creates a plain object from an OperationInfo message. Also converts values to other types if specified.
             * @param message OperationInfo
             * @param [options] Conversion options
             * @returns Plain object
             */
            public static toObject(message: google.longrunning.OperationInfo, options?: $protobuf.IConversionOptions): { [k: string]: any };

            /**
             * Converts this OperationInfo to JSON.
             * @returns JSON object
             */
            public toJSON(): { [k: string]: any };

            /**
             * Gets the default type url for OperationInfo
             * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
             * @returns The default type url
             */
            public static getTypeUrl(typeUrlPrefix?: string): string;
        }
    }

    /** Namespace rpc. */
    namespace rpc {

        /** Properties of a Status. */
        interface IStatus {

            /** Status code */
            code?: (number|null);

            /** Status message */
            message?: (string|null);

            /** Status details */
            details?: (google.protobuf.IAny[]|null);
        }

        /** Represents a Status. */
        class Status implements IStatus {

            /**
             * Constructs a new Status.
             * @param [properties] Properties to set
             */
            constructor(properties?: google.rpc.IStatus);

            /** Status code. */
            public code: number;

            /** Status message. */
            public message: string;

            /** Status details. */
            public details: google.protobuf.IAny[];

            /**
             * Creates a new Status instance using the specified properties.
             * @param [properties] Properties to set
             * @returns Status instance
             */
            public static create(properties?: google.rpc.IStatus): google.rpc.Status;

            /**
             * Encodes the specified Status message. Does not implicitly {@link google.rpc.Status.verify|verify} messages.
             * @param message Status message or plain object to encode
             * @param [writer] Writer to encode to
             * @returns Writer
             */
            public static encode(message: google.rpc.IStatus, writer?: $protobuf.Writer): $protobuf.Writer;

            /**
             * Encodes the specified Status message, length delimited. Does not implicitly {@link google.rpc.Status.verify|verify} messages.
             * @param message Status message or plain object to encode
             * @param [writer] Writer to encode to
             * @returns Writer
             */
            public static encodeDelimited(message: google.rpc.IStatus, writer?: $protobuf.Writer): $protobuf.Writer;

            /**
             * Decodes a Status message from the specified reader or buffer.
             * @param reader Reader or buffer to decode from
             * @param [length] Message length if known beforehand
             * @returns Status
             * @throws {Error} If the payload is not a reader or valid buffer
             * @throws {$protobuf.util.ProtocolError} If required fields are missing
             */
            public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.rpc.Status;

            /**
             * Decodes a Status message from the specified reader or buffer, length delimited.
             * @param reader Reader or buffer to decode from
             * @returns Status
             * @throws {Error} If the payload is not a reader or valid buffer
             * @throws {$protobuf.util.ProtocolError} If required fields are missing
             */
            public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.rpc.Status;

            /**
             * Verifies a Status message.
             * @param message Plain object to verify
             * @returns `null` if valid, otherwise the reason why it is not
             */
            public static verify(message: { [k: string]: any }): (string|null);

            /**
             * Creates a Status message from a plain object. Also converts values to their respective internal types.
             * @param object Plain object
             * @returns Status
             */
            public static fromObject(object: { [k: string]: any }): google.rpc.Status;

            /**
             * Creates a plain object from a Status message. Also converts values to other types if specified.
             * @param message Status
             * @param [options] Conversion options
             * @returns Plain object
             */
            public static toObject(message: google.rpc.Status, options?: $protobuf.IConversionOptions): { [k: string]: any };

            /**
             * Converts this Status to JSON.
             * @returns JSON object
             */
            public toJSON(): { [k: string]: any };

            /**
             * Gets the default type url for Status
             * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
             * @returns The default type url
             */
            public static getTypeUrl(typeUrlPrefix?: string): string;
        }
    }

    /** Namespace type. */
    namespace type {

        /** Properties of an Interval. */
        interface IInterval {

            /** Interval startTime */
            startTime?: (google.protobuf.ITimestamp|null);

            /** Interval endTime */
            endTime?: (google.protobuf.ITimestamp|null);
        }

        /** Represents an Interval. */
        class Interval implements IInterval {

            /**
             * Constructs a new Interval.
             * @param [properties] Properties to set
             */
            constructor(properties?: google.type.IInterval);

            /** Interval startTime. */
            public startTime?: (google.protobuf.ITimestamp|null);

            /** Interval endTime. */
            public endTime?: (google.protobuf.ITimestamp|null);

            /**
             * Creates a new Interval instance using the specified properties.
             * @param [properties] Properties to set
             * @returns Interval instance
             */
            public static create(properties?: google.type.IInterval): google.type.Interval;

            /**
             * Encodes the specified Interval message. Does not implicitly {@link google.type.Interval.verify|verify} messages.
             * @param message Interval message or plain object to encode
             * @param [writer] Writer to encode to
             * @returns Writer
             */
            public static encode(message: google.type.IInterval, writer?: $protobuf.Writer): $protobuf.Writer;

            /**
             * Encodes the specified Interval message, length delimited. Does not implicitly {@link google.type.Interval.verify|verify} messages.
             * @param message Interval message or plain object to encode
             * @param [writer] Writer to encode to
             * @returns Writer
             */
            public static encodeDelimited(message: google.type.IInterval, writer?: $protobuf.Writer): $protobuf.Writer;

            /**
             * Decodes an Interval message from the specified reader or buffer.
             * @param reader Reader or buffer to decode from
             * @param [length] Message length if known beforehand
             * @returns Interval
             * @throws {Error} If the payload is not a reader or valid buffer
             * @throws {$protobuf.util.ProtocolError} If required fields are missing
             */
            public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.type.Interval;

            /**
             * Decodes an Interval message from the specified reader or buffer, length delimited.
             * @param reader Reader or buffer to decode from
             * @returns Interval
             * @throws {Error} If the payload is not a reader or valid buffer
             * @throws {$protobuf.util.ProtocolError} If required fields are missing
             */
            public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.type.Interval;

            /**
             * Verifies an Interval message.
             * @param message Plain object to verify
             * @returns `null` if valid, otherwise the reason why it is not
             */
            public static verify(message: { [k: string]: any }): (string|null);

            /**
             * Creates an Interval message from a plain object. Also converts values to their respective internal types.
             * @param object Plain object
             * @returns Interval
             */
            public static fromObject(object: { [k: string]: any }): google.type.Interval;

            /**
             * Creates a plain object from an Interval message. Also converts values to other types if specified.
             * @param message Interval
             * @param [options] Conversion options
             * @returns Plain object
             */
            public static toObject(message: google.type.Interval, options?: $protobuf.IConversionOptions): { [k: string]: any };

            /**
             * Converts this Interval to JSON.
             * @returns JSON object
             */
            public toJSON(): { [k: string]: any };

            /**
             * Gets the default type url for Interval
             * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
             * @returns The default type url
             */
            public static getTypeUrl(typeUrlPrefix?: string): string;
        }

        /** Properties of a Money. */
        interface IMoney {

            /** Money currencyCode */
            currencyCode?: (string|null);

            /** Money units */
            units?: (number|Long|string|null);

            /** Money nanos */
            nanos?: (number|null);
        }

        /** Represents a Money. */
        class Money implements IMoney {

            /**
             * Constructs a new Money.
             * @param [properties] Properties to set
             */
            constructor(properties?: google.type.IMoney);

            /** Money currencyCode. */
            public currencyCode: string;

            /** Money units. */
            public units: (number|Long|string);

            /** Money nanos. */
            public nanos: number;

            /**
             * Creates a new Money instance using the specified properties.
             * @param [properties] Properties to set
             * @returns Money instance
             */
            public static create(properties?: google.type.IMoney): google.type.Money;

            /**
             * Encodes the specified Money message. Does not implicitly {@link google.type.Money.verify|verify} messages.
             * @param message Money message or plain object to encode
             * @param [writer] Writer to encode to
             * @returns Writer
             */
            public static encode(message: google.type.IMoney, writer?: $protobuf.Writer): $protobuf.Writer;

            /**
             * Encodes the specified Money message, length delimited. Does not implicitly {@link google.type.Money.verify|verify} messages.
             * @param message Money message or plain object to encode
             * @param [writer] Writer to encode to
             * @returns Writer
             */
            public static encodeDelimited(message: google.type.IMoney, writer?: $protobuf.Writer): $protobuf.Writer;

            /**
             * Decodes a Money message from the specified reader or buffer.
             * @param reader Reader or buffer to decode from
             * @param [length] Message length if known beforehand
             * @returns Money
             * @throws {Error} If the payload is not a reader or valid buffer
             * @throws {$protobuf.util.ProtocolError} If required fields are missing
             */
            public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.type.Money;

            /**
             * Decodes a Money message from the specified reader or buffer, length delimited.
             * @param reader Reader or buffer to decode from
             * @returns Money
             * @throws {Error} If the payload is not a reader or valid buffer
             * @throws {$protobuf.util.ProtocolError} If required fields are missing
             */
            public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.type.Money;

            /**
             * Verifies a Money message.
             * @param message Plain object to verify
             * @returns `null` if valid, otherwise the reason why it is not
             */
            public static verify(message: { [k: string]: any }): (string|null);

            /**
             * Creates a Money message from a plain object. Also converts values to their respective internal types.
             * @param object Plain object
             * @returns Money
             */
            public static fromObject(object: { [k: string]: any }): google.type.Money;

            /**
             * Creates a plain object from a Money message. Also converts values to other types if specified.
             * @param message Money
             * @param [options] Conversion options
             * @returns Plain object
             */
            public static toObject(message: google.type.Money, options?: $protobuf.IConversionOptions): { [k: string]: any };

            /**
             * Converts this Money to JSON.
             * @returns JSON object
             */
            public toJSON(): { [k: string]: any };

            /**
             * Gets the default type url for Money
             * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
             * @returns The default type url
             */
            public static getTypeUrl(typeUrlPrefix?: string): string;
        }

        /** Properties of a Date. */
        interface IDate {

            /** Date year */
            year?: (number|null);

            /** Date month */
            month?: (number|null);

            /** Date day */
            day?: (number|null);
        }

        /** Represents a Date. */
        class Date implements IDate {

            /**
             * Constructs a new Date.
             * @param [properties] Properties to set
             */
            constructor(properties?: google.type.IDate);

            /** Date year. */
            public year: number;

            /** Date month. */
            public month: number;

            /** Date day. */
            public day: number;

            /**
             * Creates a new Date instance using the specified properties.
             * @param [properties] Properties to set
             * @returns Date instance
             */
            public static create(properties?: google.type.IDate): google.type.Date;

            /**
             * Encodes the specified Date message. Does not implicitly {@link google.type.Date.verify|verify} messages.
             * @param message Date message or plain object to encode
             * @param [writer] Writer to encode to
             * @returns Writer
             */
            public static encode(message: google.type.IDate, writer?: $protobuf.Writer): $protobuf.Writer;

            /**
             * Encodes the specified Date message, length delimited. Does not implicitly {@link google.type.Date.verify|verify} messages.
             * @param message Date message or plain object to encode
             * @param [writer] Writer to encode to
             * @returns Writer
             */
            public static encodeDelimited(message: google.type.IDate, writer?: $protobuf.Writer): $protobuf.Writer;

            /**
             * Decodes a Date message from the specified reader or buffer.
             * @param reader Reader or buffer to decode from
             * @param [length] Message length if known beforehand
             * @returns Date
             * @throws {Error} If the payload is not a reader or valid buffer
             * @throws {$protobuf.util.ProtocolError} If required fields are missing
             */
            public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.type.Date;

            /**
             * Decodes a Date message from the specified reader or buffer, length delimited.
             * @param reader Reader or buffer to decode from
             * @returns Date
             * @throws {Error} If the payload is not a reader or valid buffer
             * @throws {$protobuf.util.ProtocolError} If required fields are missing
             */
            public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.type.Date;

            /**
             * Verifies a Date message.
             * @param message Plain object to verify
             * @returns `null` if valid, otherwise the reason why it is not
             */
            public static verify(message: { [k: string]: any }): (string|null);

            /**
             * Creates a Date message from a plain object. Also converts values to their respective internal types.
             * @param object Plain object
             * @returns Date
             */
            public static fromObject(object: { [k: string]: any }): google.type.Date;

            /**
             * Creates a plain object from a Date message. Also converts values to other types if specified.
             * @param message Date
             * @param [options] Conversion options
             * @returns Plain object
             */
            public static toObject(message: google.type.Date, options?: $protobuf.IConversionOptions): { [k: string]: any };

            /**
             * Converts this Date to JSON.
             * @returns JSON object
             */
            public toJSON(): { [k: string]: any };

            /**
             * Gets the default type url for Date
             * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
             * @returns The default type url
             */
            public static getTypeUrl(typeUrlPrefix?: string): string;
        }

        /** DayOfWeek enum. */
        enum DayOfWeek {
            DAY_OF_WEEK_UNSPECIFIED = 0,
            MONDAY = 1,
            TUESDAY = 2,
            WEDNESDAY = 3,
            THURSDAY = 4,
            FRIDAY = 5,
            SATURDAY = 6,
            SUNDAY = 7
        }

        /** Properties of a TimeOfDay. */
        interface ITimeOfDay {

            /** TimeOfDay hours */
            hours?: (number|null);

            /** TimeOfDay minutes */
            minutes?: (number|null);

            /** TimeOfDay seconds */
            seconds?: (number|null);

            /** TimeOfDay nanos */
            nanos?: (number|null);
        }

        /** Represents a TimeOfDay. */
        class TimeOfDay implements ITimeOfDay {

            /**
             * Constructs a new TimeOfDay.
             * @param [properties] Properties to set
             */
            constructor(properties?: google.type.ITimeOfDay);

            /** TimeOfDay hours. */
            public hours: number;

            /** TimeOfDay minutes. */
            public minutes: number;

            /** TimeOfDay seconds. */
            public seconds: number;

            /** TimeOfDay nanos. */
            public nanos: number;

            /**
             * Creates a new TimeOfDay instance using the specified properties.
             * @param [properties] Properties to set
             * @returns TimeOfDay instance
             */
            public static create(properties?: google.type.ITimeOfDay): google.type.TimeOfDay;

            /**
             * Encodes the specified TimeOfDay message. Does not implicitly {@link google.type.TimeOfDay.verify|verify} messages.
             * @param message TimeOfDay message or plain object to encode
             * @param [writer] Writer to encode to
             * @returns Writer
             */
            public static encode(message: google.type.ITimeOfDay, writer?: $protobuf.Writer): $protobuf.Writer;

            /**
             * Encodes the specified TimeOfDay message, length delimited. Does not implicitly {@link google.type.TimeOfDay.verify|verify} messages.
             * @param message TimeOfDay message or plain object to encode
             * @param [writer] Writer to encode to
             * @returns Writer
             */
            public static encodeDelimited(message: google.type.ITimeOfDay, writer?: $protobuf.Writer): $protobuf.Writer;

            /**
             * Decodes a TimeOfDay message from the specified reader or buffer.
             * @param reader Reader or buffer to decode from
             * @param [length] Message length if known beforehand
             * @returns TimeOfDay
             * @throws {Error} If the payload is not a reader or valid buffer
             * @throws {$protobuf.util.ProtocolError} If required fields are missing
             */
            public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.type.TimeOfDay;

            /**
             * Decodes a TimeOfDay message from the specified reader or buffer, length delimited.
             * @param reader Reader or buffer to decode from
             * @returns TimeOfDay
             * @throws {Error} If the payload is not a reader or valid buffer
             * @throws {$protobuf.util.ProtocolError} If required fields are missing
             */
            public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.type.TimeOfDay;

            /**
             * Verifies a TimeOfDay message.
             * @param message Plain object to verify
             * @returns `null` if valid, otherwise the reason why it is not
             */
            public static verify(message: { [k: string]: any }): (string|null);

            /**
             * Creates a TimeOfDay message from a plain object. Also converts values to their respective internal types.
             * @param object Plain object
             * @returns TimeOfDay
             */
            public static fromObject(object: { [k: string]: any }): google.type.TimeOfDay;

            /**
             * Creates a plain object from a TimeOfDay message. Also converts values to other types if specified.
             * @param message TimeOfDay
             * @param [options] Conversion options
             * @returns Plain object
             */
            public static toObject(message: google.type.TimeOfDay, options?: $protobuf.IConversionOptions): { [k: string]: any };

            /**
             * Converts this TimeOfDay to JSON.
             * @returns JSON object
             */
            public toJSON(): { [k: string]: any };

            /**
             * Gets the default type url for TimeOfDay
             * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
             * @returns The default type url
             */
            public static getTypeUrl(typeUrlPrefix?: string): string;
        }
    }
}
